COMMENTS
Wow that blog post turned into quite the job posting.. and a great one at that! If I wasn't in San Diego working on my own startup I would have considered meeting up for some coffee or something.
Good luck with the hiring process and the success of HubSpot!!
You're such an outstanding link-baiter, Dharmesh. [grin]
Great points though.
I wonder about #13 ("you read a lot..."), though. I'm a voracious reader online and I find it to be non-productive 95% of the time. While I think some of the "4 Hour Work Week" (Tim Ferris) is bunk, I think the concept of reducing your non-critical information input might be a good thing.
John: The article was not intended to be a thinly veiled approach to recruiting talent. It was not supposed to be veiled at all. :)
Tony: I'm not sold on the "reduce reading and only focus on the really important stuff" concept. I'm not a big 4 hour work week fan either. But that's just me.
Nice!
I might add:
You've worked at a startup before that was technically brilliant but a failure and you're attracted to this job because you think that the business model is enhanced and enabled by the technology.
-OT
You've made my day ;-)
I'm running my own startup and far from Boston, at the other side of the Atlantic Sea. But as John, I would surely want to take a coffee and have some talk otherwise.
I'm not hiring now, but I've been trying and it's really hard, even though I've been CTO before entrepreneur and I am pretty used to recruiting.
Good luck with the recruiting and keep writing these great articles!
You're absolutely right when you talk about the "second part (convincing other entrepreneurial folks to join your cause is non-trivial and a topic for another article)". These are exactly the type of people you want but unfortunately most of them are already doing their own thing.
Great article!
Actually, it's my understanding that time actually *is* discrete; see "Planck time." But for the purposes of #3, time can be considered continuous, since human perception has a much lower resolution than quantum physics. ;>
Dharmesh!
Great to see you back and nice turn at the end of your piece. I wasn't expecting it to be a job advertisement, but it was, and clever, at that. I linked to your post in my blog for the Innovators-Network with hopes that some of my readers with visit OnStartups.com and read your piece.
Best wishes in the New Year,
Anthony Kuhn
Do you know of any of startups that take on summer interns?
Good developers are easy to find, but people who understand what you're trying to do and are fanatically committed to do things better isn't.
I own a Chicago-based offshore development firm and we talk to lots of startups that outsourced development work... and now they're disgruntled and unhappy with their vendors. So when we work with clients our developers have to be super sharp (to make up for the natural bias against cheap offshore developers) Our focus isn't on technology as much as it is on our problem solving attitude. We're not the biggest, we're not the cheapest, and we aren't rocket scientists... but we're tenacious as heck.
On the flip side, hiring developers is a headache. We run into the following problems:
1). Newbie developers are a good long-term investment, but there's a steep learning curve associated with hiring and nurturing them into superstars.
2). Experienced developers have big egos and have usually picked up a lot of bad habits over the years. Breaking these habits isn't worth the headache.
3). Bad developers like to inflate their credentials and salary histories. We've gotta be really meticulous here and test them like crazy.
4). All-star developers aren't sitting on the street with a 'Hire Me' sign on their chest. We have to build a company that attracts great talent... or at least people with the potential to be great. It costs a lot of money, but it's worth the investment in the long-term.
5). Once you've got great developers, you have to keep them stimulated or they'll drop you like Jessica Simpson dropped Nick LaWhatsHisFace. The pressure is on me (the marketing wing of the house) to find clients that are doing cool, innovative stuff.
6). Convincing our good developers to graduate into PM's and coach the next generation of talent. This requires more convincing for some than for others, but it means we have to understand their true aspirations.
The list goes on... but it definitely keeps us busy. We're currently looking for 3 developers at our offshore center in Pakistan. It's bittersweet because Pakistan's outsourcing industry is still in its infancy so attrition isn't as bad as in India... but finding good talent is still pretty hard.
Unless I invent the next million dollar fad a la Pet Rocks, Sea Monkeys, Tickle Me Elmo... I'm gonna have to figure out how to hire good developers.
Raza Imam
http://BoycottSoftwareSweatshop.com
My first development experience was for a startup. I worked at that company for four and a half years, during which the founders performed all sorts of nasty tricks to keep salaries low and "convince" us tha the IT market was horrible and we were getting a good deal. No we weren't: I count every day since I left that place as a blessing... we even had posters on the wall towards the end like "A team of champions..." and we'd also be told in performance evaluations that your pay isn't related to your performance (what an awesome de-motivator!!!)
Unless you are going to resort to methods of tricking your employees by not getting them to focus on the fact that they're working 70 hour weeks continuously with no overtime the one, the best way to get good developers is to pay them what they're worth. This same development company would attempt to keep costs low by hiring armies of graduates which was fine except after a few years when the graduates now had a few years of experience. If you can't afford to increase their pay to market levels to match their experience then close up shop now. As soon as they realise how much they're worth, bon voyage.
It's amazing, we live in a capatalist society, companies exist to make money and the reason we go to work is because our capatalist society rewards work with money which we need to buy things. Yet, in all this, some companies think it's a bad thing when an employee highlights the point that they aren't being paid enough.
Out of all this, I think the one thing which I learned was to keep development teams small, cut dead weight sooner rather then later and respect that these same people who are on your development team (the ace programmers) could be off doing sole contracting earning ridiculous ammounts so try and find a comparable salary that you're all happy with.
Kenny: I've known startups to bring in interns, but usually in business roles (marketing, sales, finance, etc.) -- not in development roles.
I think the reason for this is that as a developer, it takes some time to "integrate" yourself into an existing team and bring value. By the time an intern would really start creating meaningful value, the internship would be over.
Then again, I could be wrong. For the right kind of superstar developer, I'd bring an intern onto the team if for no other reason than to convince him or her that they need to start their own company.
Another area we're experimenting with is externs (offsite interns that work on smaller projects). It's a great way to see if the chemistry works and I think both sides benefit. But, results are not in from the externship yet (we're doing it this year).
If you have something specific you'd like to do, feel free to drop me a line and I'd be happy to connect you opportunities that might be appropriate.
I agree that a superstar dev is essential to a startup. I posted a poll that asked my readers how many 'average' developers one 'superstar' developer is worth. Almost as many respondents said 100-1 as 10-1, so it looks like we're not alone.
The only thing I might add is that the dev have the ability to understand that he/she isn't writing code just for his or herself. Question #4 comes close to asking this, but understanding the needs and limitations of the 'audience' is a rare gift for left-brain types, especially big-brain left brain types who can assume too much.
Here's the poll. Sorry if the plug seems shameless, I try to keep this sort of thing down to once per year : )
http://www.redcanary.ca/view/one-red-question-the
Good job Dharmesh,
recruiting is all about direct targeted marketing. Your post shows that you know what you are looking for and how to create an environment where your developers will thrive.
For those interested in Boston startups that don't work out for Hubspot, check out
www.genotrope.com to find a company matched to your background.
David: The issue of startup employee exploitation is a serious one.
Having been on both sides of the startup equation, I think that any company that is seeking to pay below market rates indefinitely with unfulfilled promises of riches and glory is unlikely to succeed, because they're not going to attract and retain the best talent.
The only way to really know what you're going to get into with a startup is to talk to the folks that are already there. If you don't like them. RUN. If you don't respect them. RUN. If they are not passionate and thrilled. RUN. If they think they're being treated unfairly. RUN.
Life is too short to work with people you don't respect and trust.
Great post. I only take issue with #11 -- if you don't know anyone way smarter than you are, you are hanging out in the wrong crowd. How else are you going to improve? Books can only get you so far.
http://dis.cipul.us/patterns/BeTheWorst
I absolutely agree, Phil. I left a development job after easily besting my surroundings and finding nowhere to go and no one to learn from. Sure there were a few good developers around, but their spirits had been trampled over the course of time. I found a new job at a very small startup where, while I'm not the tail, I'm certainly not the head, which is refreshing and fun!
Thanks to everyone for the lively discussion. Lots of good material for a future article.
Also, if anyone has tried to send me an email, please resend. I've had some email issues today.
You can reach me at dshah [at] onstartups.com
I like this list quite a bit, and I'm not even a bonafide programmer. I guess designers and programmers share some space. But anyway, the gist of this list as I interpreted it is that if one is hard-working, interested and feels rewarded by the means as much as or more so than the end, then success awaits.
Yep, I agree - startup explotation is a real issue. I'm not saying all companies do it, but there are some really dodgy pickles out there. I've long since moved to contracting: the work changes and is refereshing and you get paid for every hour you put in. There is a bit more stress in that you're always changing jobs (and also making sure you don't "flirt" with too many companies for work) but sooo much better then those weekends I used to work which the company just couldn't find any extra money to pay me for.
Again, Dharmesh, you have given me courage! This is a result of one month of thinking about this (after our lunch with Dan!)
http://epaper.hubspot.com/Earn%20Extra%20Income/tabid/44872/Default.aspx
4.30 is a point in a line, but uttering "i'm up anyways" is a segment, so the probability of saying that at 4.30, although very low, is not zero. :)
I scored pretty high on the list. Guess that's why I started my own software company awhile back.
A good alternative to #2 is "Oh it's 4:30am in the morning, I should stop coding soon and get some sleep... right after I finish this class..." and you end up finishing several classes.
This list actually made me giggle. I think that's the highest honor, considering most of these types of articles cause rampant scoffing. Thanks.
Good list, if you're trying to recognise yourself... but do you really need one? To paraphrase, being a superstar developer is like being the One... no one can tell you you are, you just know. Well, not quite, I suppose we can all use a bit of positive feedback :-)
But how would you use that list to recognise someone else as a good developer, if you're not one? Have a look at my article at:
http://www.inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer/
for ways to recognise good developers if you're not one...
Hope this helps!
I disagree with number 2. Can we add another condition? You can either answer I'm up anyways, might as well code at 4:30 am or, for people like me with sleep disorders (I wake up constantly during the night but never have trouble falling back asleep) an acceptable substitute would be well I have to be up in 3 hours anyway so might as well keep coding at 4:30 am.
le frere de maman ma le eimeile