3 ms·
My open source projects have gotten me all but 1 of my last 4 jobs. Hands down. Yes, I still had to pass the interview, but when you can claim that your NPM p
by austincheney 9y ago
My open source projects have gotten me all but 1 of my last 4 jobs. Hands down.
Yes, I still had to pass the interview, but when you can claim that your NPM package ballooned to a million monthly downloads suddenly the conversation changes from writing code to architecture, product management, and leadership.
Essentially you are telling the guy on the other side of the desk that I can solve problems nobody else in the world is capable of solving (or willing to try) and here is my proof. The clear response from that guy on the other side of the desk is to refocus on the things involved with that level of effort/output.
I have never had to worry about competition from other candidates. It has nothing to do with what I think of myself (ego or arrogance) and everything to do with how they perceive the potential I could deliver back to the company.
Second and third order consequences of this, that nobody but the interviewer sees, is that you won't need your hands held like a child. You don't need all the popular abstractions, frameworks, and mountains of tooling that other candidates cannot live without. The reason for this bias, and it took me a while to see it, is that you are spending all that extra time outside the office solving many of the same problems as people at the office except that you are doing it without a financial incentive, greater time constraints, fewer resources, and often in a more portable way.
---
Now let's look at the candidate who only works at the office and has no open source projects to demonstrate and they are competing against somebody like me who would rather be working on open source for free than doing the job they are (well) paid to perform. What does the interview have to ask that guy to assess their skills?
It isn't about the code that is on Github. Nobody has time to scrutinize that. It is about the product, product quality, market penetration, the kinds of problems you have solved. It is about how you achieve popularity where other people did not and with a budget of 0 (maybe spending on a web server). But since you don't write open source and don't do work outside the office this conversation never arrises. The interviewer is limited to asking you about how to write code like you are a newb.
- patientplatypus 9y agoThis comment really rubs me the wrong way. Realistically there are maybe, what, a couple hundred "million plus" downloaded npm packages, that are useful per language. That would almost seem generous. Now compare that to the number of programmers. What you are essentially saying is that it would be a reasonable expectation to only get a job as a software engineer if you are the absolutely in the top .0001% of programmers in the world. Which, sure, I'm glad you're successful, that's nice. And as advice for one individual it's good - showing good work is a positive indicator for an employer. But in the aggregate we can't ALL be the best. I went to school because I had thought that my chances of making a stable living were higher than playing basketball and praying that I would make it into the NBA.
- austincheney 9y agoYou are correct that everybody can't get a first place trophy, or else it isn't really a first place trophy. We cannot all be the best. That doesn't really matter though. In most cases you aren't competing with the rest of the world for a job. Typically you are competing against other applicants. In this more common scenario you just have to be better than the applicant pool, which is far less lofty (not that it matters). If there are 30 people that applied for an open position we can probably assume that between a third to a half are probably less qualified than the interviewers hoped for, so then you are realistically just competing against the remaining candidates that which is a lower number still. In my original comment I mentioned my open source projects got me all but 1 of my last four jobs. The first of those occurred well before my software was popular and the company didn't even realize they were using it until it went up broken to NPM and broke their build. That madness didn't happen until after they interviewed me. During the interview I showed off my open source software just to demonstrate where I put my interests and how I am making effort to increase my personal productivity and solve original problems. The software only became super popular during the prior employment. --- On a different note I don't consider myself something special like a 0.0000000000001% programmer or anything like that. The popularity of open source software projects is a unique spiral death trap. Keep in mind you are doing this on borrowed time at personal expense and for years people will ignore you (or tell you that your software is garbage and that you are completely wrong) and use inferior products that have a more familiar brand name. Your software becomes popular if you can solve original problems and refocus continual effort on product quality. It took me years of effort and lots of people telling me I was wrong. I just did my own thing anyways and kept doing it because it was a personal project that worked well for me. And eventually it works for a couple of other people. It is extremely rare, but there are people who like to experiment using unknown software just for the hell of it (or simply because it is free). Those people create word of mouth recommendations. Rain drops become a trickle and if the rain never stops on a long enough timeline it becomes a flood. It is a death cycle because as more people use it the demands upon the product greatly increase. Your available time does not scale proportionately. You prioritize and do what you can. You can mitigate some of this, though, if you are able to close defects at the speed of light and can get to a point where maintenance and improvements are faster enough to allow deeper engagement with your users. The attention is nice and the idea of breaking promises or letting people down crushes my soul. That is how I feel about unfulfilled enhancement requests even though it is completely irrational. Completing those efforts are what made the software popular, so you feel a need to not let people down and to continue to complete the requests.
- nathan_f77 9y agoI was with you until this line: > You don't need all the popular abstractions, frameworks, and mountains of tooling that other candidates cannot live without. I would like to hear more about the problems with popular abstractions, frameworks, and tooling. That's a very strange thing to say.