I can confirm from the employee side. I've worked with 40-60 people total that I at least sort of remember.
Sure, that's not many people and I'm still new to the industry, but I can tell you that of all of these people only one or two have significant public GitHub activity. All the rest have empty GitHub accounts (aside from work).
These are all well employed programmers at startups. They're doing fine. The importance of "side projects" is overrated on the internet.
Side projects are mostly important for new grads or students looking for internships, just to show - "look- I can do code that's not just my data structures homework assignment."
The biggest mishires I've experienced were generally students with a whole lot of history in their GitHub accounts. I haven't done a thorough post-mortem on what was going on there, but I wouldn't rule out plagiarism or an ability to make small tweaks but little sense for dealing with a larger, more complex project.
What we found was the way you figure out whether or not someone with a strong GitHub history is going to be a good hire looks more-or-less exactly like the way you figure out whether or not someone with zero GitHub history is going to be a good hire. All focusing on GitHub really seems to get you is the ability to cast an artificially narrow net.
You would think, I've been in the industry 25 years and my side projects are still my biggest sales tools when it comes to changing jobs or joining projects. Makes a huge difference to be able to show that I stay constantly on top of the latest changes and best practices and apis even when my current day job may be using an outdated stack.
I used to be more into having side projects, and I continue to play with things, but due to employee IP contracts it's not really feasible to release them. My employer owns my brain, and while they can give permission to release things here and there, there are restrictions and processes to go through, and it really inhibits spontaneous contributions.
And I work at a major tech BigCo(tm), with a lot of smart software engineers, the majority of which are under similar restrictions.
Frankly, any potential employer who expected to see said contributions from me and use it to judge me or my coworkers as candidates would be making a poor decision.
I've always fought such clauses, or if it's a standard contract that can't be changed, I made sure to get a written exemption stating that work done on my hardware, on my time, on my ideas (not anything the company is involved with) is mine.
I understand the company wanting to protect itself, but I have to protect myself too.
Often these intellectual property terms are mandatory conditions of employment. I always read here about people "fighting" these terms but nobody's ever willing to go into actual detail about what they did that was successful. At past employers I've tried the cute "strike the clauses out in your employment agreement and initial them" trick and that has always been followed up by a very stern "sign it unmodified or GTFO" talk from HR/legal. Responses to push-back are always along the lines of this is our policy and policies can't be changed. So how did you get this "written exemption"?
I have always asked for it politely in advance as part of the negotiation process, before there's a contract. I didn't try to strike stuff out. I specifically made it clear throughout the process that there are some things that are important to me that I wish to continue doing. It's usually never no when I ask because the outside work I've done is often the reason we're talking in the first place. When I frame it that way, they're usually able to find some exemption.
The conversation usually starts with my soon-to-be manager about me wanting to work on projects on my own time without using company resources, that don't directly compete with the company's business.
I've been fortunate enough that I've never been in a position where I've only had one offer I've had to take, though. If they said no, I was always able to go to another offer and say yes.
Some companies literally do not budge though. But I have to look out for me and my family. I do side projects mostly to learn stuff and help people. I also love writing about technology. And, for example, my current job doesn't really have a place for me to do Elm and Elixir, but I think those things are important skills for my future.
If I take a job that doesn't let me do those things, and they decide to let me go because reasons, now I'm on the market with out-of-date skills and that scares me. It also scares me to work for a company that's against me investing in my skills on my own.
I think that if I was in a situation where they wouldn't budge on that, I'd have to walk away and take my chances as a freelancer at that point. I mean, I'd rather have my risk spread out among a few clients than on a single employer who wasn't willing to negotiate.
I fought a contract clause, it was a separation agreement rather than an employment contract. I imagine you would have a lot less leverage going in than you do going out.
The first key I found is to make it easier for them to say yes than to say no. I simply refused to sign my separation agreement unless we could change the line. Like everyone else, I got the "it's standard policy" bullshit, I just nodded, said nothing, and went back to my desk.
It's an intimidation tactic, those contracts are done up by lawyers and modifying them potentially exposes them to liability, they'd have to get a lawyer to look at amended agreements and that costs $. Intimidation tactics are generally used when they don't have any real leverage to use. Just don't give in, and keep asking for the change. Works best if you're actually prepared to walk, you don't want them to call your bluff.
After it became clear to them that I wasn't going to do it, they agreed to the change, but only after a stern discussion that I was not to discuss it with anyone. If we didn't already enjoy a friendly, trusting relationship I doubt I could have gotten away with it.
If you're not willing to walk away, then of course your leverage is limited. Their BATNA was basically to fire me without cause, they had more to lose than I did.
In your case I'd appeal to their sense of decency. Assure them that you won't tell anyone about it, that's a big reason for the "standard policy" bullshit. And then say that if you'd realized how onerous the contract provisions are, you would have never even applied for the position. That lets them know you're serious. Tell them you're prepared to walk out over it but you'd really like to make a deal so you can get to work. Presumably the employer actually wants you and you have champions at the company.
Well, they were switching architectures and wanted to retain me in a contracting capacity. They'd offered to keep me on but I was ready to move on. I got a nice severance and I'm still receiving contract income from that client. Getting my final check soon.
Doing all that without a contract in place would have been tough on them to say the least. They had another Rails consultant lined up to replace me, but I was a lot cheaper.
You don't. The unwritten assumption or meme I keep hearing from the community (not necessarily here on HN) is that if you're good, you'll just keep turning down jobs with such clauses until you get an offer from somewhere without such clauses. Otherwise, too bad: you're not talented, passionate, 10x, or whatever enough. Sigh. Sucks to be tied down to a state that does enforce and seems to encourage those clauses.
I think the other way to look at it is trying to gradually engineer scenarios where you do have that flexibility to walk / take another offer.
Everyone is going to have at least one point in their life where they need to take job X because Y. But you can do things to make that the exception rather than the rule, even if you don't feel you're a wunderkind.
Continual job searching, self marketing, networking, skill refresh towards emerging areas. These all give you better odds to be on the right side of that discussion than the wrong one.
1. Your current job and or job situation (company not doing well, layoffs on the horizon etc) is hopefully not one which you are desperate to leave at any cost.
2. Apply to multiple companies and interview with them around the same time; this usually works out.
3. (HARD PART) Land multiple offers in hand.
4. With 3 and 1 combined, look at the offer letters and negotiate the bad clauses, after reviewing with a lawyer-friend, so that the wording is also right. If they say GTFO, you also get to say GTFO :-).
I know from experience and also that of a few of my friends, it works.
You don't sign anything without your lawyer looking at it first. Then bring up that you do volunteer work, which may include thing like maintaining the website for your home owner's association, things like that. So have your lawyer counter with language designed to protect the non-profits that you may volunteer at. Then any open source work you do, assign copyright to the FSF (them being a registered non profit), and you are covered.
Also, these employment agreements use the words "inventions, innovations, or ideas". Can any lawyer-types chime in if that implies patentable items, or does inventions legally cover copyrightable creations?
Here is how I got approval for a contributor license agreement.
I sent an email to HR asking whether my employer claims ownership of code I write outside of work. The process required several emails, a legal review of the agreement, and a meeting between our CTO and in-house counsel. The approval required a a signed statement that I wouldn't use company time or equipment for my contributions. The whole process took about 3 months.
Every contract I've had, had some clause that more or less said that any work I did in my personal time was owned by the company. Every contract has that clause removed when I requested it be removed. No company ever argued the point. (I've only been at 7 companies and ~15 contracts)
There are limitations on what employers can demand regarding assignment of employee IP in several states: California, Delaware, Illinois, Kansas, Minnesota, North Carolina, Washington, and Utah. This list was current ca. 2001, so it may be different now. https://www.ieeeusa.org/members/IPandtheengineer.pdf
If you live in one of those states and an employer demands assignment of all IP, even if created with your own resources, on your own time, using your own ideas, they are probably outside the law and you can point to these statutes as evidence. Of course funding litigation is another thing entirely, but if an employer has a very broad assignment expectation and is in one of these states, you should look for work elsewhere.
California protects these rights by default. And no company can take them away from you. (I'm not a lawyer, but this is my understanding of all current law).
That being said, it does not mean that you are free to earn money outside your employer, but they don't own your brain.
Make sure you can prove that your work never comes from work machines, etc. This includes not using company internet connections as well.
California protects those rights by default to the extent that they do not infringe on anything that your employer is working on. Not knowing that your employer was working on it does not protect you.
The bigger your employer, the less of a protection California's default is.
Right, so for example, if you work in one of the big places that has their finger in almost every pie, it's tough. What could you work on that's not conceptually related to something Microsoft or Google are doing? You couldn't even make video games.
I don't know what state you are in, but if you are in California, state law gives you pretty strong protections if your work is not on company time or using company resources.
Sure, that's not many people and I'm still new to the industry, but I can tell you that of all of these people only one or two have significant public GitHub activity. All the rest have empty GitHub accounts (aside from work).
These are all well employed programmers at startups. They're doing fine. The importance of "side projects" is overrated on the internet.