I am a game developer, and many game companies have two qualities:
1, they demand lots of time.
2, they do either very specific work related only to their game, or they do things that can be re-used, but then this mean it become very valuable internal tech and must NOT be shared with competitors.
Currently my lifestyle is: wake up, drink tea, wear something, go to work.
Arrive home, take a bath, eat something, sleep.
In saturday it is: wake up, clean house, wash clothes, do all other home chores, leave to see SO.
Sunday: return home with SO, cook a food for the whole week with her help until it is night (I have only 1 cooking pot, meaning each dish must be done sequentially, instead of parallel, also the kitchen is shit, IF I had several pots, I still would be unable to use them), eat something, send SO away, sleep.
I worry that if my current startup fail, I will spend another long time unemployed, and since I have college debts that currently cost 2 times a minimum wage here, this is something that I CANNOT afford (it is already 3 years that my bank account is either zero, or negative at the end of the month).
Sometimes I do some check, prodding here and there to see if I can find work, and I am not even invited to interviews, except by jobs with pay lower than my university debt (ie: the pay is 1.5* the minimum wage, or lower... those always want me working for them as developer, by the way, the minimum wage here is about 300 USD month).
Make connections however you can. That way if something does happen you can reach out to them to see if they know someone or might know someone who knows someone that can help.
Worked for me (and many others) in the past.
The... dunno the name in english, where there is fire and you put pans over it, only one works (out of four).
Also the surfaces that you have to work (ie: cut your vegetables for example) are inclined, meaning that anything round (like a sausage, or a carrot, or a egg) will roll out of it if you don't pay attention...
There aren't just two developers in the world, there are hundreds. For those with published commits, I can assess quality of their code myself and see whether they actually know what they're doing within a couple of minutes.
A developer with only a CV is a pig in a poke. They might be a terrific developer, they might just be very good at bullshitting their way up the career ladder. Unless I know that the company they worked for has a very developer-centric culture, I'm probably safe in assuming that the decision to hire and retain that person was made by a non-technical manager. The message they're giving me is essentially "I can code, because someone who can't code says so". I have no way of distinguishing a genuinely talented developer from a bullshitter.
Why should I bother? Why should I spend half a day or more interviewing a candidate who can present no real evidence that they can actually code, when I can have my pick of people whose Github profiles are overflowing with quality commits?
Nonsense. Put him in front of a computer and ask him to write something. Then evaluate him based on that.
I have written hundreds of thousands of lines of code, but only have a few thousand up on Github and quite frankly, most of that is not my best work. Most of the code I write is proprietary.
> Why should I spend half a day or more interviewing a candidate who can present no real evidence that they can actually code, when I can have my pick of people whose Github profiles are overflowing with quality commits?
Pretty simple. Those with overflowing commits on Github either have a very skewed work/life balance or quite simply, have no actual work experience. Open source only pays the bills in very rare circumstances.
This. I would LOVE to contribute to open source. But I also want a life. I want the life more than I want to contribute. So until I can contribute while I'm on the job, my github account will languish. And that's fine by me.
My last interview asked me about my github account, and I told him just that, that I'd love to contribute, but just don't have the time. I still got the job.
It's not a problem until you make it a problem.
Are you still going with that 21 year old rails dude?
Thing is, CV's exist to let you know if it's worth looking into someone in more detail. If you're looking at generic rails developers, github is the minimum expected.
If you're looking for more senior people, github might not be a reasonable expectation.
If you can't distinguish the difference between a talented dev and someone who has managed to BS their way into a job I submit that the problem might not be with the developers you are looking at.
I'm curious, how many interviewers actually do this? My experience is most interviewers can't even be bothered to read my resume, let alone anything on github. I've been on the other side of the desk and am equally guilty of this. The best result I've had is when I bring printed code to the in person interview. Then they at least scan it while I'm sitting there, though I have no idea if they are actually reading it or if this is their idea of being polite.
Github: 329,678 Search language:ada 720,910 Search language:fortran 6,034,816 Search language: c# 44,430,272 Search language:javascript
The two services are heavily used by the C#/web community. mobile too but I did not include numbers
How about this. If you make sweeping generalizations without thinking things all the way through, you're crap.
I begin work with clients with the explicit understanding that I am using public code that may be improved during the course of their project. I sell them on the benefit that they effectively get the project foundation for free, thanks to using this process with previous clients. Open code is better tested and guarantees that their business and codebase is sustainable towards the future, if something happens to me or our relationship otherwise ends. This security is invaluable to a client.
Closed-source, private code is a much harder sell even with a long list of happy clients. What guarantee can be given that the software will be sustainable going forward?
It sucks that I am "punished" because all of my actual work has been for companies that aren't interested in sharing their products with the community. I've even tried a few times to get tools I've created released as open source, but the general response I get is, "uh, why?" I can understand that the companies see no value in it and in fact may cost them money if there end up being licensing or other legal issues.
That is a tricky situation to deal with. On the one hand, you don't want them to think that this is you at your A-game. On the other hand, the naive approach of apologizing in advance is just bad psychology. I don't have experience with presenting this to employers, but in general the best way to frame those kinds of things is to think not in terms of expectations (you actually want expectation high; people see what they expect), but in terms of objective context.
If you say "Here's something I did which really isn't me at my best, but it's what I had time for", then people will expect crap, and that's what they'll see. If you say "This is something I built in my free time", or "This is something I built while I was learning Backbone" (and keep you tone enthusiastic, not apologetic), then people will understand the context in which they should be judging what they see. If they're smart, they'll realize that seeing what you can do when you don't have much time, or when you're on unfamiliar ground, is at least as valuable as seeing what you can do under ideal conditions. If they're not smart, do you want to work for them?
>I've even tried a few times to get tools I've created released as open source, but the general response I get is, "uh, why?" I can understand that the companies see no value in it and in fact may cost them money if there end up being licensing or other legal issues.
That's hard too. It might help if you can come armed with some benefits of releasing something as open source, like the fact that other people will be able to find and fix bugs for your employer, which is basically free labor.
That's a good point and it's what I've been following so far. "Here's a project I built in my free time because I wanted to brush up on my Python skills, and in the process I also learned a lot about Flask, MongoDB, HTML5, CSS, and JavaScript."
> That's hard too. It might help if you can come armed with some benefits of releasing something as open source, like the fact that other people will be able to find and fix bugs for your employer, which is basically free labor.
Also a good point. I'll have to give that a try.
Not everyone can spend 40 hours a week on side projects. Most people hiring should understand that. If they don't, you probably don't want to work there anyway.
Fair arguments on all sides. Crux of the problem is that what we do as developers is valuable enough that others will pay good money to own it outright, leaving us with no publicly-viewable portfolio.
I don't have a single commit on github. But I have no problem with job offers. I suspect that's because I have author credits on a lot of refereed publications in the past few years and a bunch of recent patents, mostly single inventor. I'd say that's worth more than a bunch of code on github myself, but to each their own.
As for my reasons, I filed them defensively with large companies so that I wouldn't get out-patented by some Texas Troll and then face the situation of my supposed prior art versus their big money. Deal with the devil I know, but that's the suboptimal choice I made. And life is full of those.
1) I would not hire you and the reason is "because you file patents"
2) If I did hire you, the reason would not be "because you file patents"
I'm in the MS World and these kind of developers are really hard to find in our world. So, I usually I go with the type #1 and shoot myself in the foot because even if they do know their salt to get through most of small-internal-applications development most of them are unable to search, find or use popular open source libraries that can save tons of time and improve the performance of the whole app and sometimes even the whole company.
As a simple example I asked one of the candidates how they would build a small dashboard to show some e-commerce data and he came up with the idea of building an entire app from the scratch (including charts and client stuff) while simply using Dashing (what I ended up doind) would do.
I have no problem with developers who do not publish anything, but I do have a problem with developers who claim to be "senior" but always build everything from the scratch costing the companies thousand of dollars that might be spent somewhere else.
The reverse complaint can be made: ask a candidate to build a small dashboard to show some e-commerce data - from scratch. If he can't do it without third-party libraries, is he "senior"? If he can do it, surely he's capable of spending a couple hours finding available packages to shorten the development cycle (saving time & money at the cost of reliance on outsiders).
I could tell you lots of stories about Super-UI-Architects, Evangelist Developers and crappy titles like that who claim to be the cream of the cream, don't bad judge me, they can be good and have a great knowledge, but they cost to your company a lot of extra money, time and headaches, usually are people who post code in github.
Those guys usually love to create the wheel again and again, they avoid to do the job in an easy way, just creating complexity. When I see a resume "Stuff-Architect, Something-Evangelist" I automatically send those resumes to the recycle bin.
Whether or not you have a github account and contribute to OSS is something you have control over (unless your previous employer prohibited it - but that's hardly your prospective employer's fault). If you're having trouble finding a job because you don't contribute to open source then... contribute to open source. Make a github account. Find some bugs. Fix them. Submit pull requests. A lot of projects could use the help.
I'm sort of thrilled, actually, that we live in a world where not contributing to open source is enough of a career hindrance that people are complaining about it. That's a trend that I'd like to see continue. I want "you need to have at least a few contributions to FOSS" to be the equivalent of yesterday's "you need at least some kind of bachelor's degree".
As for not having a code portfolio, well, if you're interviewing for a job as a photographer or a graphic artist, and you show up with a resume and a smile, you'll find yourself in much the same position. "Coca-cola really liked my photos" is only going to take you so far. This is a field where you can easily tote your work around, so of course potential employers are going to want to see it.
I feel like the complaint here could easily be applied to other things, like not having a resume or not showing up to the interview in your underwear. What do those things have to do with coding? There could be plenty of great coders who do those things, and you'll miss out on that talent if you don't give them a chance! Stop oppressing them.
I think it's pretty safe to say that most professional software developers work for companies that do not open source their software. So, the majority of your time coding is hidden away. For anyone with a family, the rest of your time is pretty much taken up. To get work done on side projects, I get up at 5:30am... and haven't been able to do that since the birth of our second child.
Now, I 100% understand why people would hire #2. He/she is a known quantity. The other one, well, who knows? It's famously hard to figure out in an interview who will be a good coder and who will not... and it's incredibly expensive, both in time, opportunity cost, and actual dollars, to hire a bad developer. Not to mention the bad code that might infiltrate your codebase. So, playing it safe with #2 is usually not a bad idea. But, at least give the other guy a chance. If you like him in the phone screen and preliminary interview, give him some coding homework and see how he does.
With that in mind, let's imagine a manager hiring engineers for a project built on top of an OSS stack. Sometimes that stuff won't work right, and sometimes--I'd argue usually--the right answer is to just fix it. And you're looking at a developer with experience doing just that and someone who hasn't. One has taken the initiative to learn their way around the internals of the tools they use and the other may or may not have. Who do you pick? Contributing to OSS is not just a badge of honor here; it's what's left behind by good development work.
Sure, some jobs don't have that. Maybe it's a video game built on some proprietary toolkit, maybe it's a low-level library written from scratch. But surely those aren't the employers who care so much about your Github account, right?
What can I say, my code goes into private repos, sorry. You reply, I can't offer you a job if I can't see your commits, sorry. Understandable. But then the matter boils down to whether I want the job more, or you want me as an employee more. How good am I and how good are you? I'm not hurting for job offers, but my guess is that you're hurting for developers. Seeing as how you're hiring and all.
I agree with the OP that people in our field often bank on the GitHub account and the Macbook as indicators of "developer-ness". The homogeneity of it grosses me out a little, even though I like GitHub and use many Apple products. It's a groupthink thing that I personally try to avoid, but I wouldn't rail against it.
Because the Good Ol' Boy network of references and handshakes is a groupthink thing you've gamed better.
Spending your free time contributing to open source projects generally indicates that you're not a money driven person. This is anecdotal, but every software engineer that I have hired who contributes heavily to open source ended up being a huge pain in the neck in a corporate structure. The reason is that corporations don't have emotions and in general they don't have morals. They are money generation machines with schizophrenic personalities. If you're money driven, you do well there.
What inevitably would happen with open source people is that they would become upset about something the company was or wasn't doing. In one case it was even the fact that the company refused to open source a project that they felt should be open sourced. As a manager I'd say they were high maintenance employees. They would also often go rogue in the name of "doing the right thing".
Believe it or not, I see open source types as often incompatible with corporate jobs and when I see a resume that has a big list of open source contributions it concerns me.
I do see the value in having some sort of "portfolio" piece to show off your skills and if I have spare time (and I never seem to have much) I may do a small project and put it in the public domain. Obviously there's a limited amount of time that I can put into something like that.
I never used to think being female was as big a problem as people said it was until I observed it happen twice last week to a female friend really close to me. I've always been for gender equality in the work place but now I'm even more so.
You open yourself to criticism from peers. Working in a Fortune 500 company doesn't tell me much about your coding skills, but it tells me a lot about your political skills (Not meant as a criticism).