Getting hired is easy, the tough part is working on your own stuff. For me the cycle is usually like this:
1. Make a cool pet project
2. Show it to The Internet
3. Get a little exposure, feel awesome, decide this project is going somewhere and you'll work on it for months on end because it's just that awesome
4. Freelancing offers[1] start raining in
5. Realize you actually don't have any money, are a student and don't have a lot of time next to classes
6. Accept one or two freelancing gigs
7. Pet project dies a miserable death
8. Rinse and repeat a few months later
[1] I freelance for startups, always for startups. Usually I'm the guy they go to for "Hey, so uhm, I hacked this prototype together in two weeks now there is more than 1 user. Everything is breaking. Halp."
Actually, I was lamenting the working-on-my-own-stuff part, not the getting hired part :)
I tend to build what I think is a cool pet project, then completely fail to put it in front of anyone other than friends who happen to be in the room while I'm tinkering with it. Usually by the time I've managed to build anything substantial, I no longer think it will be interesting to anyone.
How to get hired by the startup that you want to work for:
1. Figure out what you think is the most important thing
to be doing in the world right now.
2. Learn the requisite skills to do it.
3. Find somebody who's doing it already and write a carefully
crafted, enthusiastic email explaining why you think what
they are doing is important and why you are uniquely suited
to be part of it.
4. Show some evidence (produced in step 2).
If you don't know what you think is the most important thing to be doing in the world right now, then somebody else is deciding for you.
"You won’t be the only developer after that job. Second, it won’t be like this forever. Supply and demand are out of whack, and people are catching on and catching up"
Seems like a nice way to kick off an agenda with a bit of fear mongering but its rather the non-technical founders that are exploding in size. On top of it the actual thing that developers are catching on to is that it doesn't make any sense in this environment to become a CTO of a very small startup when you can just start your own and have proper equity.
Appreciate the comment - I didn't mean it as fear mongering, just pointing out that the landscape will likely change over the next two years. Great developers will still be great developers and will have tons of job offers, I just imagine there will be a bit of a squeeze in the middle. I may be wrong. As for developers starting something on their own, I'm all for it if they've got the idea. They'll run into the same challenges any single founder will, but will definitely start from a better spot than a non-technical founder. I was more targeting this towards people who didn't have the idea yet and were looking to join something.
Don't read too much into the following (I'm not really on either side of this) but I will say that many people who would make a great CTO have had 10 years to "just start your own and have proper equity." Have they done it?
almost invariably, not at all. Even though it is easy to find coders who have a legitimate claim to having 5-10 projects they did by themselves. This would mean they have "100% equity" in all of them. Then again, the 10 projects might have 30 active users between them.
Meanwhile, the non-technical founder in question has already outsourced a MVP, which is a product, gotten enough buzz for you to be reading their blog posts on hn, and you can join something that - unlike your own last ten projects - actually has a chance to make a great deal of sales in a real market. Whereas, in actual reality, if you took the idea and coded it up yourself without any further input than the concept pitch from the non-technical cofounder, it would go nowhere - just like your last ten projects.
Just saying... I would trade 5% of a company that raises a round at.. just about any amount, over 100% of ten 'companies' that never incorporate and have donation buttons which make a grand total of $76 over the same period of time.
It is easy to discount what the non-technical founder - or in this case owner - brings to the table. I wouldn't be quite so quick to do so.
Surprised this guy didn't write an article on how to sell his position to developers. In spite of claiming to understand the current labor market for development talent, it appears he's still got it backwards.
Totally agreed. It seems he made some interesting choices about how to setup a startup for success before bringing on a technical co-founder, and as a technical co-founder I would be interested to hear 1) what he did and 2) what he thinks would be useful in convincing someone like me to come join him
I certainly tried to find a CTO before building a product - it's nearly impossible these days if you don't have funding, especially if you're founding your first startup.
So, I raised a small FAF round and outsourced my MVP to two awesome dev shops. Now I'm raising a second round of funding and can afford to bring on someone full-time. It's definitely not ideal, but it was the only way I could do it. I'm hoping the idea, the flexibility of the job, and the above average equity piece are intriguing to a potential CTO. Would be interested to hear suggestions on how to make this more attractive?
I can't really write that one yet, since I haven't been successful - I may be doing it all wrong. As to your second point, I understand developers are in the drivers seat. I was just trying to point out a few good ways to market yourself to a non-technical founder, since that's what I am and that's what I can speak to. I wasn't saying that you NEED to do this to get a job - you don't. Just saying that if you wanted to get the attention of a startup, this could be a good way to do it.
I generally disagree with what this guy is saying. This is reasonable from the perspective of, "How to pitch yourself to a non-technical founder."
A. Programming languages do matter. Talking to other programmers, a good way to find people who actually love programming is to ask people what languages they use. People who have experimented with haskell or clojure are usually people who love programming more. PG has a good essay on why it makes sense to start a startup based around an esoteric language. I know for a fact that Jane Street uses their heavy reliance on ocaml as a recruiting tool. Your life will be much, much easier if you can hire better programmers. Hence, the startups with the really good engineers will want to know what programming languages you know. So yes, I agree that resumes are not that interesting, but also, programming languages are useful indicators for certain kinds of employers. The recruitee's github should reflect this. [1]
B. Sending links to apps or websites is all well and good, but as another commenter said, for some startups, it is basically useless. If you are trying to be the CTO of a company like 10gen (their CTO is a co-founder, but bear with me) you will want to know about their systems skill, not how pretty they can make a website. Backend talent, or understanding of algorithms is something you absolutely cannot get from this.
So at startups where backend technical skill is not highly valued, and the founder is very non-technical, this might be useful. If you are trying to work at a Palantir or a DropBox, you should probably ignore this advice, although admittedly, both are much further along than this guy is thinking of.
Thanks for the comment - lot of good stuff in here. As for the languages piece, broad knowledge on languages definitely shows something, I agree. And I want to know what the applicant knows. I just meant that I could get a lot of that from the github account (as you point out), and that it doesn't need to be displayed in a resume. A resume telling me you know things is one thing, a github acct showing me you know things is another.
The links note is a good point. I was tailoring this towards my specific startup, and really early startups in general making their first "tech" hire. Once you've got a CTO or someone technical on staff, they'll handle the technical hiring and will understand the process and applicants far better than a non-technical founder ever will.
I thought that was very strange as well. I suppose it's as far as one can go with title inflation: "Code shop looking for rock star code monkeys/CTOs to work for equity."
Indeed. If he is hiring for a CTO, why has he made the technical decisions up front? I realise he has had a MVP built in Ruby, but that shouldn't dictate the technical platform - leave that for the future CTO to decide.
I made them so I could get something built quickly, and the development team I clicked with happened to build Ruby applications. I'd certainly be open to a change once I hire a CTO. I honestly don't know how hard it is to switch from one platform to the next, I assumed "very" so I looked for Ruby devs only. Maybe a bad assumption?
Oh, I'm with you on the "get a prototype up and running, using consultants" part. Definetely a good investment. But depending on how much work was poured into this, it's probably relatively trivial to re-implement. It is a minimally viable product after all, I hope?
There are three reasons why I would suggest that you don't emphasise the proficiency in Ruby. The first is, as mentioned above, that you're probably overestimating the effort required to switch platform at this point. The second is that a good programmer who just happens to have no/limited experience with Ruby will probably be able to adapt pretty fast, provided he has experience with similar technologies. By limiting your search to those that already know Ruby well, you're avoiding a lot of potential.
But the main reason why I think it's a bad idea, is because you are making decisions that I believe is the domain of a CTO to make. By doing so, you are sending a signal that you don't respect/trust him to make that decision. That is going to make the type of person you'd want onboard think twice about joining. I'm not suggesting that you actually feel this way (I don't know you, so I couldn't pass that judgement), but you should be aware of the way it will read to - at least some - people in your target demography.
Oh, good. One of these again. It's been almost a week since I've read the last guys guarantee on how to get a job.
Regardless, the proper title for this piece is: "How to get hired by me." Nothing more.
The best way to get hired? Follow the instructions on applying provided by the company. If they fail to provide proper instructions, they'll probably fail at a lot of other things as well.
Another post saying that if I don't have a highly populated Github and a well-trafficked blog, I'm worthless as a candidate to a startup. Good to know; my employer will be disappointed.
Nearly all of my work is behind the screen of an NDA. When I am looking for a job, I'll send code samples, but I get the feeling that's no longer good enough. Is this correct?
In any case, I am noticing these things and will probably force myself to start a blog at some point, even though it's completely counter to my nature.
I'm sure it depends on the startup, but I was perfectly happy to get code samples instead of a github link.
In that case, though, you should work a bit to demonstrate your engagement with the field in some other way. The kind of people who I most want to hire at a startup are the ones who would still be coding on something even if that weren't the job. I strongly want to avoid clock-punchers who only program because that seemed like an easier job than dentistry.
Note that a blog isn't the only way to show your engagement. A bunch of good Stack Overflow answers. A very thoughtful cover letter. A link to some personal tech project you did. The presentation you did for a local user group. Mentioning the time you spend volunteering with the FIRST Lego League.
I don’t have an open-source portfolio to show off, my blog is pretty moribund, and I spent approximately the second half of 2011 job-hunting.
On the one hand, I did wish I had some code to show off, because a significant proportion of the companies that looked interesting wanted to see some nontrivial thing I had written as a precondition to an interview; “send us a link to your Github page” was not uncommon. On the other hand, I did get interviews and I did accept an offer from a place I genuinely thought was a good fit (and not just “well, it’s a good escape from the previous employer”), so it is possible.
I got an impression that author is looking for the specific experience that his company needs at the moment - this is OK for quick contract or one-shot jobs, but in general, I think it is quite short sighted. I wouldn't favor someone because of twitter or facebook integration experience or similar.
Regarding not sending resumes - this is quite in hype now, which is bad - I prefer structured text over some heart-touching tale - and not everyone is great at writing.
What author is looking instead of resumes, it is actually called a cover letter - so it can be sent _with_ a resume, not necessary a replacement.
Generally good stuff. Not sending a resume is interesting -- I bet there are people who would expect one and argue the opposite.
What really struck me were two things:
- Outsourcing the MVP. I've seen a few people do it but it seems a very expensive way to get started. Wouldn't it be easier to pitch for funding/a technical partner without this?
- Building a recommendation engine in Ruby? Really? I've never used Ruby for numeric code but I wouldn't think it would be particularly fast and it doesn't have libraries equivalent NumPy AFAIK.
(Don't feel you have to vote this up. I'm on 666 karma right now. ;-)
I think outsourcing the MVP is a great way to go in the current climate. Pitching for funding without a technical co-founder is impossible beyond a friends and family round, at least in the established startup hubs. It's also very hard to find a good technical partner without already having demonstrated some traction: this makes sense as good technical partners have many options and want to see that you can deliver the non-technical side of the business (40% of a company worth 0 is still 0!).
So in this context spending a little savings on an MVP is a great way to go, it lets you show traction to get the funding or technical partner and can be done by raising from friends/family or working nights at another job.
There’s just no real barometer – it’s not like being a Doctor or a Lawyer where you can check the applicant’s college, GPA, and Bar Score (is that a thing?) and know the person is proficient.
If you're hiring technical staff and you clearly understand what you need these people to do on a daily basis and why you need them to do it then there is absolutely no excuse for not having even a basic set of minimum technical criteria.
If you don't clearly understand what you need them to do on a day to day basis then I think you may need to re-assess why you need them, or it's possible that someone else in the business should be handling the first stage of this hiring process.
Now to your 6 key points
1. Don't send a resume - That's a huge statement and your supporting points are severely lacking in elaboration. listing all the different languages you know is really only interesting to you and your peers Refer to my first point above.
2. Keep an updated blog - Sure. I can see this. What about the fantastic developers who don't have sufficient time to blog? Some of the best developers I know have a blog, most of the best developers I know don't.
3. Link to your previous work - Comfortably the best piece of advice in the entire article and I can't support this advice enough. I was recently looking for an iOS developer and the amount of CV's I received from people claiming to have amazing apps published in the app store yet no links to said app was just baffling.
4. If you’re not from the US (or the country you are applying for a job in), let me know what that means - Sorry but if you're my employer, the onus is upon you to be familiar with international hiring policies.
5. Show you’re interested in the product, and the process - if you could show that you’re interested in the business and aren’t going to leave when the next startup comes calling, that’s great That's one of the many reasons to interview someone. It's an opportunity to find out how much they truly know about you and your company. If you think you can derive this from an initial application, then again, I feel you are misguided.
6. Have a good answer for why you’re leaving your current job - This won’t be in the initial email, but is important, so I had to include it This should be in the initial email. This is always one of the first questions I ask prior to interviewing someone. If they tell me the reason they want out is because they are bored, then the obvious next question is 'why do you find it boring'.
This article should be titled How to make life easier for a non-technical hiring manager as I can almost guarantee your approach will contradict the thought process of most decision makers within the tech start-up community as opposed to getting a job offer from 'every company they apply to'.
Sorry to be so scathing as there are some useful pieces of info in your article however the title angered me.
The "startup ninja hacker" world is in need of a reality check
The "tradicional hiring" methods has some glaring defects, but people don't realize it's got a lot of things right as well!
I want your resume, yes. You don't need one if your name really rings a bell like Gosling, Stroustroup, Torvalds. Not "built JQuery UI plugins" famous, sorry.
Also, it's great if you can link to a previous work, but if you can't it's ok. Projects go offline (happened to me), are sold as part of a product (yes), or are part of a really expensive product (yep).
"Sorry but if you're my employer, the onus is upon you to be familiar with international hiring policies." I lost count of how many "recruiters" contacted me offering a job in the US (residents only). But you know, in the same place you got my email there was a disclaimer "need sponsorship to work in the US". So if you ignore this, I'm gonna assume it's a poor job offer (and it usually is)
I enjoyed the post, and it reaffirmed a very interesting transition away from resumes and toward actual work. Now that blogs and github are so easy to start, why would I want to read that someone has extensive programming experience and good writing skills? If you do, it'll already be on display.
That said... I actually generally get an interview with many of the startups I contact through a traditional resume and cover letter. I've been hired by some, rejected by others, but I believe it usually comes down to how well I handle a series of difficult technical interviews. They're usually around algorithms and data structures, and often test recursion. Threading is also a commonly tested subject.
Are these tests highly rigorous? All I can say is they're pretty tough for me. I've run the questions by other programmers, some say it's tough, others say it's not so hard, many just get so interested in the problem that they start working on it.
Anyway, I'd still say that the best way to get hired by every startup you contact is to be a pretty badass programmer, with a very strong grounding in algorithms and data structures, recursion, threading, and be ready to show you can apply that stuff in a very short amount of time under some pressure at the white board. It's just my opinion, but I believe I know very, very talented programmers who have been passed over because of their performance during these interviews.
Here's something good to take from this blog post - if you are a good and productive programmer who has trouble with the tech grilling, definitely make an effort to put some work out there on blogs and github, it might make the difference. Maybe the threshold for the technical grilling is more forgiving when the hiring team has more to work with, better examples of a candidate's ability?
Generally agree with this. Whenever I hear about people not getting job offers, there is mention somewhere in there about sending resumes. I have never sent a resume to get a job or a gig, however I do sometimes attach the PDF output of my LinkedIn profile which comes out in resume format. Other than being an attachment, I only mention it as a one-liner. Not sending resumes is probably not intuitive since that's what everyone has been doing to get jobs in the U.S. for decades.
I disagree that the lack of supply is temporary. I'm not even sure that's really the case. For one, there will always be more demand than supply for "A level" developers. This is a field where people have to really push themselves to keep up with the game and continue expanding their skills, and most people don't want to go through that effort. All you have to do is run faster than the average developers and the bar isn't very high. Also, there will always be "niche" areas where developers are hard to find and well in demand and those niches are everywhere.
How is it possible that you've never gotten a job from sending a resume? I'm generally curious how that's possible, unless you're doing all freelance work?
Networking and / or visibility. Job offers come from people who either already know me or they have come across my name through the ecosystem.
Make sure that you are doing more than just sending out resumes. Get your name out there by being visible in places where employers might be looking for developers. Use Twitter, LinkedIn, create a tech blog and generally help people out. The more your name is out there, the greater your "luck surface area."
Freelancing is also a great way to land a job for a lot of reasons. When you are looking for a job, you have to sell yourself to the employer. With freelancing, you can get a lot of practice with selling and generally you will get more immediate feedback for your efforts because hiring a freelancer is far less risk / commitment than hiring a full time developer. Freelancing is also good for possibly meeting your next employer, if you are a great fit, then your freelance gig might turn into a full time position. Freelancing is also good for building up experience.
Just a personal viewpoint based on the limited information available (and not meant as a personal knock on the OP since I don't know him or his particular situation in detail):
I would be extremely wary about joining a tech start-up that has to go through an open job application process for a CTO. If the founder can't make enough of a believer out of someone within his or her own network to join, I would see that as a bad sign -- not just in terms of the start-up's idea but also the founder's ability to sell his or her idea. If it's the case that the founder doesn't know viable candidates in his or her own network, then I'd be doubly concerned: it's a tech start-up and a strong network within tech circles will be necessary for other resources down the line (future engineering hires, advice, potential investors that add value to the company, etc). Additionally, if s/he isn't really plugged in to the tech community, I'd worry that s/he doesn't truly understand the business, my skills as it relates to the business, and the value that I bring to the table. And in this particular case, I'd also be concerned that social networking is what this start-up revolves around and the founder (again, from my limited view on the outside) doesn't appear to be able to network effectively enough to at least get introductions to suitable CTO candidates through secondary connections.
I'm not saying that this is necessarily the situation here but that's my thought process just based on the information available. I consider things like sales ability, existing network and hiring ability to be essential things for a non-technical founder to bring to the table before I would consider working for him or her -- otherwise, I'm almost as well-off starting my own thing and own a hell of a lot more equity.
There are a handful of non-technical people I know that I would join in short order if one of them ever called to talk about a job at his or her start-up. And if I declined I would refer them to other people I know that might be interested because I know no matter what he or she is doing, s/he has a great chance of succeeding. If you're not the kind of person that inspires that level of loyalty, being a lone non-technical founder at a tech start-up seems like it would make an already arduous journey incredibly difficult.
A) People who are paid to contribute to open source (either as part of their job or in some cases their whole job) and therefor have many commits.
B) People who write a little open source code on the weekends.
C) People who already work 60-80 hour weeks on proprietary/in house software and have other commitments for the rest of their time.
Also the "you need to contribute to open source to get a new job" thing has a perverse incentive for companies. If they know that having you contributing to open source makes it easier for you to either leave or demand a higher salary (because it is easier for you to get hired elsewhere). It is then in their interests to stop you doing it whenever possible.
This is pretty interesting, regardless whether you agree with it. It's always useful to listen to and engage with people outside your direct area of responsibility to see things from other perspectives.
I really wish someone would post one of these related to students still in school (we need to work too). Or is the field so competitive the posts would make no difference?
There's probably plenty of startups or consulting gigs that would be happy to have a student. Full-time developer positions maybe not so much just because you wouldn't be able to show up to the office 9-5 every day and still go to class.
My advice would be to build up your portfolio with personal dev projects, fork projects on github, etc. The more of that you do it's likely people will even start contacting you with offers.
1. Make a cool pet project
2. Show it to The Internet
3. Get a little exposure, feel awesome, decide this project is going somewhere and you'll work on it for months on end because it's just that awesome
4. Freelancing offers[1] start raining in
5. Realize you actually don't have any money, are a student and don't have a lot of time next to classes
6. Accept one or two freelancing gigs
7. Pet project dies a miserable death
8. Rinse and repeat a few months later
[1] I freelance for startups, always for startups. Usually I'm the guy they go to for "Hey, so uhm, I hacked this prototype together in two weeks now there is more than 1 user. Everything is breaking. Halp."