Jamie's Blog

Ruby developer. CTO. Swimmer. Always trying to write more

Every company has two markets

Img 7034

“Make something people want” includes making a company that people want to work for — Sahil Lavingia @gumroad

I saw that quote in an article on the Inside Intercom blog and it really struck me as something that many founders fail to see until it’s too late — particularly non-technical founders.

Your ‘other’ market

When you’re just starting out the most urgent need is probably money, so you laser focus on chasing investment or, even better, customers. And it’s easy to think that the biggest threat to your fledgling business is the lack of money/investment/customers but it’s not. Not in the long-term. In the long-term you’re going to need more than the founding technical team (probably just one developer!) to develop the product and then you’re going to need to start hiring. But if you haven’t already built a company, and a culture, that attracts developers you’re going to find yourself starved of the resources you need.

Treat employees how your previous-self would like to be treated

It’s probably a bit easier for us technical people to build companies that attract other technical people. That’s not to say we understand how to attract sales people or support staff or designers, but there’s a huge demand for technical staff at the moment. It was drummed into me as a cadet sergeant that I needed to be willing to everything I expected my cadets to do. If they were double-timing it, I was double-timing. If they were crawling across a cowpat-ridden field at night, I was doing it too. And I’ve always adhered to that philosophy: so if I won’t work weekends, I won’t expect any of my staff to do so. If I want to work remotely, I won’t expect my staff to commute to an office. If I want flexi-hours, my staff will get flexi-hours. If I wouldn’t join a revenue-less startup, I won’t expect them too. If a €1000 annual bonus isn’t going to motivate me, I wouldn’t expect it to be enough to motivate them.

As the founder you might be doing all sorts of crazy hours but don’t expect that anyone else will be motivated to do so.

Don’t fall for your own hype

It’s important that founders don’t fall too heavily into the hype created for them. Sure, you’re employers and “potential drivers of the economy”, but developers are not going to feel privileged to have a job at your startup. You can’t simple put up a sign saying “work available here” and expect to be surrounded by a crowd of desperate developers. “But what about this economy?”, you say. This economy? You realise this is software development not housing development, right?! In 2000 (a similarly period of high-developer demand), I knew a startup that had a Porsche Boxter on weekly rotation among the developers.

Developers won’t not feel enthusiastic about sharing your cheap, grubby office. They aren’t going to be motivated by your minuscule stock options. Or by your “market-rate” salary. Or your lack of health insurance. Or your use of Java.

What might attract a developer?

It’s not a definitive list but here’s some things that I’d do to specifically attract the types of developers that I want to work with:

  • A light, airy “cool” place to work, in a trendy location (cafes, bars, etc) with easy access. Failing that, remote. In fact, even if you have the nicest office in the world, allowing employees to work remotely broadens your appeal. Though if you have remote workers, you need to organise a company retreat. And not just bring everyone back to the office, or a hotel somewhere. Get away. Involve their family & kids — don’t position your company in opposition with their family.
  • A great salary. Seriously, just take issue of money off the table. It should be enough that they aren’t going to be looking at other jobs just to afford to comfortably pay their rent/mortgages and enjoy eating out whenever they want. Salary isn’t going to be their chief motivator but you need to remove the objection (remember: they might need to ‘sell’ this move to their significant other).
  • Flexibility. You might need some core hours to enable real-time collaboration and meetings but make the rest flexible. No set hours. Some people work best at 6am but many aren’t productive until the mid-afternoon.
  • Self-direction. Letting them work remotely is part of it. Now, let them choose their computer & peripherals. Give them a budget (and any business requirements that must be met) and let them decide how to spend it. Let them choose the tools, the libraries and trust them to make the technical decisions. Let them experiment with new technologies. Plan accordingly so the tech is prototyped, evaluated and gradually introduced and you can minimise the negative impact to your product.
  • Self-improvement. How are they going to improve? Who will they be learning from? If you don’t already have a solid technical team and a culture of pairing/code reviews/lunchtime talks, give them a budget to attend conferences, buy books, courses etc.
  • Well-being. Openly accommodate different desks/chairs etc and buy good stuff. Your €50 office chair from the local shop in unacceptable. You don’t need Herman Miller chairs but you probably should be spending around at least €300-500. Yes, for a chair. Also give them money for a gym/pool/club membership & equipment and promote healthy activities.
  • Lastly, and most importantly, make the work meaningful. Is this a problem worth solving? Are the customer nice people? Are they people whose problems the developer can empathise with? Is this something that they can care about?

Above all, you need to have a genuine desire to make your employees happy and successful. Just like your desire to make your customers happy and successful. Same thing.

Marketing to your ‘other’ market

You can of course do all these things and still fail. Without marketing, you can have the best product but no customers will know about you. Without marketing, you can be the best company to work for but you won’t be able to hire. At a minimum, your local tech community should know about your company, what you’re doing, why you’re doing it and some of the tech you’re using. When you start hiring, they should already know who you are. They might have met you at a conference, heard you speak at a meetup, or (even better!) used your product. Publicly share more about how your company works internally: the places you work from; the tools you use; the problems you solve; the fun you have.

A shortage of developers will kill your startup just as surely as a lack of money. Marketing isn’t just about attracting customers, it’s about attracting talent too.