
Because I am starting a company I read a lot of entrepreneurial mailing lists. Sometimes the emails are quite funny, especially when a 'business guy' sends a message to the list asking for programmers to join his start up.
I'm generally a huge fan of business guys and would actually like to find one to collaborate with on my current project, but the way they write advertisements for programmers makes me die a little inside so I thought I should write down my thoughts on how to do it properly.
I have been involved in this on both the recruiter and recruited side, beyond that I offer no guarantees. This is just my experience.
The first thing
You should understand that engineers get asked to work on technical projects all the time. You aren't the first and won't be the last. At a minimum they will be doing family technical support on top of their day job.
As a consequence of this programmers understand the complexity and effort of building something good verses just building something. They are trained to deal with corner cases, errors and exceptions. They have first hand experience of Hoffstaeder's law - everything takes longer than expected, even when you take Hoffstaeder's law into account. This lesson is painfully learned the first time an engineer tries to upgrade their grandma's PC and it takes 8 hours and two trips to the computer store.
Because of this experience they know that you don't want what you are asking for. It's going to be harder and take longer, and right when it looks like it's done something will change. This is a fundamental rule of engineering.
Therefore all adverts for engineers or programmers that contain the words "I just need" will be thrown into the bin. Never say that a problem is trivial as this sets up a lose-lose situation. Either it really is easy and therefore offers no satisfaction in completing it, or it's actually hard and the engineer will look incompetent when it turns out to be difficult.
Advertise your problems as hard and interesting and you will have more success.
The Second Thing
It is necessary to understand that you probably aren't offering something very motivating. Right now your prospective engineer probably works for a boss who doesn't know technology, building a product that doesn't solve a problem they personally have.
You probably also don't know technology and want them to build a product that doesn't solve a problem they have. However you want them to do it for no money.
There are ways to pique an engineer's enthusiasm despite this:
- You can pose a problem and invite solutions, which appeals to a certain kind of person. Saying "I have noticed that these people have this problem and money. Help me figure out a solution" is much more likely to get a response than "I need an interchangeable cog to build widget foobar for me".
- Get involved in understanding the technology or bring on an equal partner that does. This might mean writing some code yourself - it doesn't have to be good code as engineering respect is an inverse log scale. The idea of working with someone who understands the problem is pretty motivating.
- Build a prototype in something. You can do it in Excel, in PowerPoint or with pieces of paper, however you like. Most engineering projects have no specification, so working on a project with a prototype will be pretty interesting.
The Third Thing
Engineers probably won't understand the value of having you involved. After all, they can probably build your idea or some other equally good idea themselves. It takes direct experience spending whole nights awake writing blog posts, calling Japanese leads and obsessing over traffic numbers to understand that a good product is only part of the formula for success.
You can get around this by highlighting your own value on paper with numbers. List the hours you spend or plan to spend on tasks that aren't fun, such as cold calling sales prospects.
Remember not to include things that sound fun but aren't. You won't get much credit for spending 10 hours at industry parties a week, even the tedious ones. For engineers Talking To People is Not Work, although Selling Things To People is Work.
Things Not To Do
When talking to engineers you should avoid any mention of partnerships. Please trust me on this one. Asking a technical friend to read your emails before you send them will let you find and delete buzzwords that make programmers suspicious of your sincerity or ability. Code ninja is not a term of respect.
You also shouldn't make the non-technical side of the business sound trivial. If you say "Just build it, and let me worry about selling it" or "Everyone will be excited about this, trust me" then it sounds like you haven't done any actual work yet.
If you have already found a customer then you should mention this, but don't sound too optimistic about it and make sure you outline your contingency plans. Deals fall through all the time and apparent dependence on one customer is a danger sign.
Other than that, engineers and programmers are just people. Treat them as you would wish to be treated yourself and you should be fine.
Thank you to the programmers and engineers at Hacker News who provided feedback on this article. Any mistakes are mine and not theirs.





