It's been frustrating me for a long time that most companies when hiring are looking for people who do lots of side projects and open source work, yet when you are actually employed, you will usually have a contract forbidding you from having side activities, or potentially trying to grab copyright forr what you do on the side.
Most companies also don't let their employees open source their code written at work too.
I get that there is a sort of common understanding between employers and employees that lets people have small side projects, but I've never liked the fact that on paper companies can easily claim ownership of them if they become worth it.
In a lot of jobs, people end up in a situation where they are actively discouraged from doing anything on the side because it's always hard to know if they're even allowed. Learning new skills, having side projects and doing open source is valued in hiring, but strongly discouraged and sometimes impossible when having a job.
Are there any solutions to this problem? Curious what people's thoughts are.
This is a myth.
The number of candidates I interview who have side projects worth looking at or open source contributions is maybe 1-in-10 at most. Any company that requires candidates to have significant open source contributions is going to have a hard time hiring, because it’s not very common.
Really, the only time side projects are valuable is when someone needs to fill gaps in their resume. For example, if all of your prior experience was writing PHP backend code but you wanted to apply to a React front-end role, it could be helpful to have something like a React TODO app in your GitHub profile to show that you have some minimal experience with React and front-end work. You don’t need a massive open-source contribution that takes months and months of free time, just something small to show that you have some amount of experience that isn’t reflected in your resume.
The side project myth is getting out of control. Most recruiters and hiring managers will never even open your GitHub profile.
I think your premise is wrong and you're vastly overestimating the value of work done outside of your job.
- Having side projects: I was never asked past internship interviews. Even interviewing for my first job after graduation, I talked about what I did during my internship, not about side or school projects.
- Meaningful yet small contributions to open source: I don't remember anyone noticing nor asking.
- Major contributions to a big open source project: I assume these people get hired easily.
Recruiters are not dumb. They know that most good candidates are either not allowed or not willing to work on meaningful projects on the side, outside of a few very specific cases. Don't waste your time with companies that have delusional hiring standards.
It probably helps explaining what sort of side projects you do, how much time they take, your 'real' job pays for you to live and this is the nerdy equivalent to playing 5-a-side football or watching movies.
Anecdotally a (very skilled) dev friend recently got a job with a (UK) challenger bank and was required to sign a similar thing, they were happy to carve add exceptions for a couple of things he was working on.
None of them were there when I started work - as I had them all struck out, or changed to "work I do for the company belongs to the company, and I won't work on similar projects for other people while I work here".
It has never been a problem to arrange that. The only time it was, was during a initial phone-screen interview with the company HR person that said: a) they use Subversion and any discussion of changing to Git was never going to happen (this was in about 2017), and b) any outside projects were totally forbidden. No wonder I hadn't heard of the company before - despite their office being a few hundred metres from Silicon Roundabout and all the various meetups - no one was allowed to improve their skills...
What she had to do with making those decisions, I have no idea. And so that's the only interview I ever rage quit (though I did once tell someone else their puzzle-based questions were dumb during another interview).
"If you work out of California, the law will not recognize an agreement to assign to your employer an invention that you develop on your own time and using your own resources, so long as the invention is not “employer's business, or actual or demonstrably anticipated research or development of the employer.”"[0]
This is US-focused and other countries will differ, but some do's and don'ts:
[0] https://www.startupgrind.com/blog/moonlighting-a-side-projec...
I am currently working as a contractor and the interllectual property assignment clause mentions "materials created pursuant to this agreement", but nothing further than that.
If they push back, point out that such clauses are illegal in California and it doesn't seem to have held back the companises in silicon valley too much. You always have the option to walk away if they won't agree.
I dont know why any engineers put up with this anywhere in industry. Although it hasn’t hurt me and I have never had a side project that I can recall. Coding is barely interesting enough to get paid to do it. Also so many side projects are really boring compared to real work with a bigger team.
If I start a side project/company it will be so I dont have to work for anyone else again not to boost my resume for the rat race.
Another annoying thing is when a company doesn't even have any open source work published under their name, yet they expect the same from candidates.
When a company like that asks whether I do open-source, I pretend I misunderstood the question and just say:
> "I didn't know open-source is important for this company, I didn't find anything published by the company. Could you share the company's GitHub account? Maybe I mistook it with a different account. I'd love to see how company X contributes to the community." > > "But anyway, yes, I'd love to contribute to open source as part of my day job".
It's always funny to see them squirm, and clarify that they want to see my open source stuff, but they never did anything in that arena.
Usually, that's also the time I decide to stop the interviewing process. I don't care if you don't do open source, but then don't make it a requirement for candidates.
I actually do have some open source projects, so it's not like I couldn't talk about stuff at an interview, but I still hate it when companies ask for open source when they themselves have nothing to show for.
Another thing to mention here is that having a better-than-average open source portfolio helped me a lot at me career, so I definitely recommend it, for example at the company I work for, they skipped the entire coding challenge during the hiring process, and I got a better offer, too.
The employers are not allowed by law to state how you spend your free time, regardless how much they pretend it to be like that.
Naturally you cannot create a busines in competition with the employer using internal knowledge.
This would be a big red flag to me if it applied in the general sense at a company. Stuff that's open-sourceable is generic enough to not contain trade secrets, so what is there to hide? Though if it's a question of maintaining the project, I can understand a company deciding not to invest in maintaining the project (though I still think it's good when they do).
In my own experience, my employer does not prioritize open sourcing internal projects, but at least every time I've asked if I could open source something, it's been all thumbs up as long as it doesn't get in the way of normal business priorities. It's just a question of whether I feel it's worth it to me personally to become an open source maintainer.
Aside from that, I've contributed back to open source projects we use at work because there were some issues we found in the process of doing the work and that's resulted in improvements to those projects and a nice little side note on my CV. Even in a super draconian environment, given enough time spent working with open source dependencies, opportunities like this are likely to come up.
My suggestion, if you are really worried about that, build something nobody wants.
Couple of my projects, a Sean Connery themed lisp interpreter[0] and a file sharing site that doesn't host any files and isn't P2P[1].
That said, I don't think anyone has ever really looked at either of those projects during the job interview process.
[0]https://github.com/willcipriano/Connery [1]https://github.com/willcipriano/Podje.li
As long as you're not in direct competition with your employer, it shouldn't make a difference. If they tell you otherwise, get a different job. Good developers don't grow on trees.
There might be similar laws in your relevant jurisdictions, regardless, talk to a lawyer to be sure.
After a couple years of work, your day job becomes the primary point of conversation.
I write resumes. For clients that are coming out of school, the project section is often a large portion of the document. For people with a few years of experience, the project section tends to slip down the resume towards the end, and eventually falls off entirely. Experienced professionals with a projects section are usually trying to demonstrate skills they developed outside their day job (e.g. if you want to be a data scientist but are a web dev by day, some data science projects you did while taking a Coursera course will be useful to list).
All that being said, the problem you are describing is real for people who enjoy doing open source work and are employed by companies with restrictions on ownership. When I was a recruiter, I did work with some client companies to alter contractual language for new hires that had a body of open source work.
Where I work, we value any signs that a candidate will excel, and open source contributions can be such a signal. If you casually drop the news that you've landed some commits in a library that we're using, that will of course be a positive, because it suggests you are familiar with our tech stack and have at least some minimal technical competence. A good start!
But...there's a lot of ways you can signal that, and since most of them are vastly less time intensive, I'd never recommend someone goes out and starts contributing to get hired. Contribute because you want to, and as a bonus, some companies (like us) will value that. But we don't require it by any means, it's just one signal of many.
Which is good, because if we did require that we'd never hire anyone. In my experience maybe 1 candidate in 10 has any sort of portfolio of projects to share. And of those candidates who do have something to share, the quality is overwhelmingly poor. In fact...
...to the best of my knowledge, my current workplace has never hired someone because of their github profile or their open source contributions. But we have passed on candidates because of them, because we've literally had candidates proudly apply for "senior" roles with a portfolio of copy and pasted code full of errors. Bad code is much, much worse than no code, at least if you're claiming to already have expertise in the area. (Obviously I'd never ding a junior or new grad for that; context is key.)
Anyhow, the short of it is:
1. Lots of companies will look at your github profile if you send them a link, and IF it makes you look good, it might help getting hired.
2. Nobody requires it. If you don't send them a link to your github profile, they won't ask, they won't stalk you and try and find one, and not having one won't even be seen as a negative. Hiring a candidate who has never contributed to an open source project isn't unusual; it's the overwhelming rule.
3. If you're struggling to get hired, and you have a portfolio of great contributions to widely used open source projects, let employers know, many will care. If you don't have that portfolio, then focus on something else.
Even shorter:
> Recruiters want people who do side projects
They don't really care in my experience.
I wish we would unionize and take over the world, seriously, for our own benefit and be the source of change. There is a shortage and if we unionized optionally a cross the industry we could force real change, not for some woke cause but for the economics of it. We could fix a lot of this bs.
In my experience (Europe), the company is only concerned with paid side projects. Regardless, those who expect open source contributions outside your work are out of touch with reality. That's a great filter for me.
I once asked a colleague who was a product managers: "Why is there a side project expectation from developers, and not PMs? What could a PM even do in their free time"? He answered: "Well, a PM could have a side business!". "So, do you have a side business?" - I asked. "No..." - he replied, as I watched his sad face.
Pro tip: state that expectation at the beginning of the hiring process. It's part of the negotiation along with salary, working hours, etc. Don't wait until after they send you the contract.
Their contract probably already has a clause for employees in California, so you can state expectations pretty easily with something like "btw, I'm not willing to sign an invention assignment clause that would violate California's labor code".
Now, there is often something that says I can't work for, or as, a competitor in the particular market they're in. Which, to be honest, is only fair. But I would not sign an employment contract that said I couldn't do side projects or open source work, generally.
In my very limited experience on the subject, I have been able to secure exceptions to such policies for side projects and ongoing work that are clearly unrelated to the company's business. They're happy, I'm happy.
Getting the exception in writing early helps both sides of the contract negotiation to be happy before the relationship even begins.
Should employee have influence on e.g. ma sleep pattern (because it can reduce my work performance) or my eating habits?
Just don't sign one of those contracts. I treat that as a hard deal-breaker when I'm job searching. If a clause like that is present in an offer, I tell them they have to remove it or otherwise narrow it to cover only the work that is their legitimate business. If they refuse, I refuse the offer. It may take a little extra searching to do things this way, but it's possible if it's important to you.
My job is not my entire life. I won't have it casting a pall over my every waking moment.
Alternately: if your projects are not central to your happiness like mine are, typically the worst your company could do is say "we own that now", not forbid it exactly. So if a project is purely educational - you're not attached to it - then you probably have nothing to worry about. You could also get written permission for specific projects or contributions you'd like to make.
edit: regarding IP assignment agreements - in CA these are unenforceable for anything invented on your own time and equipment, companies still make you sign them because they do need the IP assignment for the stuff you produce on their time which is fine.
At the same time, while applying for a job with a running side freelance job, they might offer you to continue that arrangement perhaps with reduced work hours. Just mention your doubts after they make you an offer. (I speak from experience)
But what a recruiter is looking for is something they can add to your blurb when they pass along your information.
"throwaway account is currently at moonshot company using python and django to do xyz on a customer facing application. The platform is used by 50k users weekly. They also attend the SF python meetup regularly to stay connected to other python engineers."
It's not going to get you a job on its own but it's a small plus.
Also: do you really mean "recruiter"? That's usually a facilitator person who doesn't know much about software. I answered the question in the context assumed in the other answers here which is more "hiring manager" or "recruiting organization".
Although there's no official "20% time" policy at my company I tend to carve out a few hours a week of company time to work on these projects. One of my more senior colleagues managed to carve out 40-50% of his time working on these types of projects.
Don't sign these contracts. I have been presented with those offers, asked the company to alter the contract to remove this clause, and they did.
Sadly it seems like most people want to talk about open source but not many are actually keen to put up a pull request in public. I suspect there’s an idea of open source being fun, experimental, not-useful code that exists in isolation. That’s not really the kind of open source I want to fund, but I’d love to see bug fixes and performance improvements upstreamed to the frameworks and tools we rely on.
Anyone figured this out?
If i wanted to be creative and work on other projects at my spare time, I just do it.
No legal asshole can dictate what i can or cannot do.
In Germany, I think I'm supposed to ask my employer for permission on if I can continue working on this or not, so we'll see!
https://arbeitnow.com/blog/how-a-side-project-led-to-a-job-o...
- When starting in a startup after I lost many years working for a small no-name company. - When interviewing for an American company in Madrid (I was not offered a position).
Side question: how do you all come up with ideas for side projects? I don't know if my life is dull (or I'm dull), but I have no creative power in my mind to give birth to great ideas, only small libraries, that well, interest few people.
At my last company, I listed a bunch of things as my prior inventions and got explicit approval that I could continue working on them. Then I pushed to expand that to being able to work on any project that wasn't competitive to my current role/projects. I framed it as "this is one of the ways I learn new things and bring useful concepts into this role" and have had zero pushback.
Your benefits don't have to begin and end at salary, vacation, stock, and wfh.
B. Software engineers make side projects because it's fun, dude. No one is using that as a gating function. But someone who spends their spare time exploring their field is going to have a leg up on people who only write code 9-5. That's a natural result in any field. Exploration of your field in addition to constant professional work leads to skill development at a faster pace than just the latter.
>yet contracts forbid them?
This part is likely exaggerated.
Yes I guess there are a few companies really "forbid" them (from what I saw on HN Apple seems to be an example, but I don't have any first hand experience). But for the majority of the companies, they just claim the copyright of your side projects _by default_, instead of outright forbid them.
The why of the copyright claim part is already explained by the essay you linked so I'll not repeat that. Even with that in place, as others pointed out in threads, at least in California (I don't know if other states have similar laws) you can still get the copyright back to yourself, as long as:
1. You did not use your employer's time (do your side projects on weekends, nights, holidays, etc.)
2. You did not use your employer's equipment (use your own computer, network, etc.)
3. Your side project isn't related to your employer's business
The first 2 requirements are easy to met, the 3rd one:
1. If your employer is like Google that does almost everything, it's hard to met. But Google does provide a straightforward way for employees to apply to get the copyright of their side projects released to them.
2. If your employer is only on a few fields, as long as your side project is on unrelated fields it shouldn't be _that hard_ even if this has to go to court (but this is not legal advice, obviously). If you really plan to do side projects that puts this muddy, then there are other things to consider (conflict of interest, etc.) that's far beyond the scope of what we discussed here.
Also, if by "side projects" you mainly mean open source projects:
1. If it's purely your personal open source project that has nothing to do with your employer, see the discussions above.
2. If it's actually open source project/contribution that's related to your work (for example, your company is using an open source project and you are fixing an issue that affects your use case), _in theory_ you should be using your employer's time and equipment to do that (as that's really part of your job), and your employer should get the credit for this work (e.g. use your employer email in the commit).
In other words, the project was meaningless (probably scraped off linkedin) and just served as an icebreaker to try and get me onto a phone call.
Most rule violations don't get noticed. Of those that do, most are ignored. Of those that aren't, most are met with a warning. Most of the time it's sufficient to respond to a warning by: apologizing, pleading ignorance, correcting your "mistake", and promising to do better.
"It's better to seek forgiveness than ask permission."
IANAL.
Most industries, let alone tools, don't take that long to learn, and business acumen isn't industry-specific.
IME I've heard a lot more people interested in side projects than the other commenters. But I'm also a lot younger, and heard this usually in different universities.
Once you actually get a job, you put that on your resume and it's better than a side project.
1) the ones that use the existence of a non-trivial side project as a proxy signal for motivation and expertise (because let's face it, the person spending 2 extra hours every night on a project that is actually functionally equivalent to a product has that much more experience than someone who doesn't - see the "unreasonable efficacy of showing up" effect)
2) the group that heard about looking at side projects as a metric and who somehow got the idea that they ought to be reviewing the code or something to grasp at clues about the candidate's competence.
The latter works out horribly because then through the magic of broken telephone, some subset of candidates think they have to have something on github and then you get into this situation of people wasting time code nitpicking apart school project level code in some way that probably doesn't correlate with actual job performance (e.g. looking at coding style and/or looking for pet peeves).
You want 1). Run away from 2).
As for what's "allowed". Let's put it this way: it's not like you're in first grade and you have to be angel or else it goes in your permanent record, onoes. Side projects come in many flavors, ranging anywhere from leveraging the power of OSS to contribute to the bottom line to using confidential data for competing with your employer, so if you're gonna ask your company's lawyers if a side project is kosher, they're always going to err on the side of covering their asses in the worst case scenarios (especially companies who view engineering as replaceable cost centers). But at the end of the day, there's no such thing as legal perfection; a company can get away with not doing anything about harrassment or whatever in the name of profits, and conversely employees can get away with side hustles, without everyone sitting in the same room to talk about feelings for three hours. Pursuing legal action over ownership of code you wrote in your spare time is not cheap for the company (both in the sense of legal costs and in the sense that they are pretty much asking for a letter of resignation from you and the associated cost of replacing you), so it's going to be a last resort. Reaching a compromise or just letting things be are far less friction. Many companies are in fact open minded to the idea of employees working on OSS, e.g. in consideration that they use OSS heavily in the first place.
Incorrect. Most companies don't give a shit.
> yet when you are actually employed, you will usually have a contract forbidding you from having side activities
Incorrect. I've had a dozen jobs in my life and exactly zero times have I had anything resembling a contract at all, let alone one that dictated my activities in my free time.
> on paper companies can easily claim ownership of them if they become worth it
No they can't.
> people end up in a situation where they are actively discouraged from doing anything on the side
No they're not.
> having side projects and doing open source is valued in hiring
Not really.