Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In a software startup, how can we deal with the main developers/programmers of the company who are good at design and communication, and also have entrepreneurial skills?

How do we get them work for us and avoid any kind of competition from them to our business?

How can we convince the lead programmer that our startup is the place for him?

share|improve this question

closed as primarily opinion-based by gnat, MichaelT, Bart van Ingen Schenau, amon, Ixrec Feb 21 at 22:49

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

possible duplicate of how do early stage startups hire ninja programmers – blueberryfields Aug 24 '11 at 14:58
Are you asking how to hire these people, or how to keep them from leaving and starting companies that compete with you? – Robert Harvey Aug 24 '11 at 15:01
@Robert Harvey, blueberryfields: seems to me like the OP wants to know how to keep them in, and is afraid that the ones that show entrepreneurial skills might just fork off (or join) another project. – haylem Aug 24 '11 at 16:45
up vote 8 down vote accepted

I would adopt the strategy of taking the best programmers, the entrepreneurial, super-effective stars and giving them an entrepreneurial-level stake in the business. That engineer is much more likely to put all his or her energy into making your business a huge success if it means that they, too, will be huge successes. That's going to dramatically cut back on the likelihood of that person defecting from your company.

share|improve this answer
The trouble with offering any form of stock in the beginning is that a percentage of something which hasn't yet been built = nothing. Also, the project may fail? – Gary Willoughby Aug 24 '11 at 18:00
@Gary, that is true, but it is also true of anything else that an entrepreneurial engineer would undertake otherwise. If he goes and does his own thing, he owns 100% of something that is worth nothing and might fail. The point is that if you want to keep the interest of someone who is an entrepreneurial risk-taker, try giving them ownership, some measure of control over their own destiny. Personally, I'll take 10% of nothing when I have some say over it rather than 5% of something bigger when all of the decisions are made by some MBA with an expensive haircut and a flashy car. – Adam Crossland Aug 24 '11 at 18:18

If the guy is the lead developer, why not make him a partner? I mean he is doing most of the work. Failing that offer incentives to keep the guy there rather than make him think he's wasting his time/talent when he could "beat you at your own game" instead. If you offer him tangible benefits he won't think that.

share|improve this answer

I'm not a fan of them, but non-compete clauses are one way to do this.

A better way is to find incentives that keep your people happy. Those incentives are not always money; autonomy and the ability to make your own decisions about your work details is the most important one to me. Treat your people well, and they will treat you well.

Everyone wants the benefits of owning their own business, but few want the responsibility.

share|improve this answer
Definitely shouldn't rely on NCC, as they are difficult to uphold, expensive to take to court, and, in general, most people will ignore them anyway. – Jarrod Nettles Aug 24 '11 at 15:42
Not to mention that the only use a startup has for NCC is a filter: if somebody's willing to sign one, you shouldn't hire them. – David Thornley Aug 24 '11 at 18:17

Lots of cash, and make sure that as a good manager you handle anything he doesn't want to deal with. Specifically, if you ask him to do something and he says he doesn't want to, then say ok and get someone else to do it. If you think that's primadonna/cowboy/immature behavior, you'll be right, and you'll also be looking for someone else to replace him when he leaves.

The top-notch developer is in high demand so you need to be extra nice to him. Imagine you just hired Tom Hanks to work on your movie, and you're going to make $500,000,000, so if Tom Hanks wants a bottle of french sparkling water, you're gonna jump and go get it for him. Treat your developer like that, and he'll want to work for you.

If you don't want to do that, you've condemned yourself to making B movies and software.

share|improve this answer

If you see these people as both a software developer and a sales developer, you should give them the opportunity to make a good salary and have equity in your company. Going on their own is a risk that you can help them avoid.

Those that are really good programmers with no apptitude or interest for sales or understanding of your domain, I'd call their bluff. Nothing better than a competitor that doesn't know what they're doing.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.