top | item 4912872

Why founders shouldn't be the developers

143 points| Swizec | 13 years ago |zemanta.com | reply

93 comments

order
[+] harryh|13 years ago|reply
What it looks like to go from being the first real coder to being a full time manager of a pretty large eng team over the course of 3 years in git commits per month:

  37 2009-09
  99 2009-10
 177 2009-11
 104 2009-12
 136 2010-01
 115 2010-02
 126 2010-03
  72 2010-04
  37 2010-05
  43 2010-06
  30 2010-07
  39 2010-08
  53 2010-09
  43 2010-10
  59 2010-11
  66 2010-12
  13 2011-01
  23 2011-02
  67 2011-03
  66 2011-04
  13 2011-05
  20 2011-06
   0 2011-07
  29 2011-08
  25 2011-09
   3 2011-10
   2 2011-11
   3 2011-12
   3 2012-01
  35 2012-02
   6 2012-03
  10 2012-04
   2 2012-05
   0 2012-06
   0 2012-07
  38 2012-08
   0 2012-09
   0 2012-10
  32 2012-11
   0 2012-12
For whatever it's worth I miss coding an awful lot.
[+] barce|13 years ago|reply
I can understand missing coding, too, but your team will be able to sense that in the same way children can sense the stress of their parents. As a manager, it's important to get over that so you can take yourself and your team to the next level.
[+] WestCoastJustin|13 years ago|reply
▂▄█▅▆▅▅▃▂▂▂▂▃▂▃▃▁▁▃▃▁▁▁▂▁▁▁▁▁▂▁▁▁▁▁▂▁▁▂▁ [1]

[1] https://github.com/holman/spark/blob/master/spark via ./spark 37 99 177 104 136 115 126 72 37 43 30 39 53 43 59 66 13 23 67 66 13 20 0 29 25 3 2 3 3 35 6 10 2 0 0 38 0 0 32 0

[+] onewland|13 years ago|reply
I'm guessing there's a flag to get that printout, mind sharing?
[+] spulec|13 years ago|reply
I'm curious about 2012-08 and 2012-11. Pet feature, hackathon, large release with hotfixes?
[+] dexcs|13 years ago|reply
Is there a way to get this history out of github / many repositories at once?
[+] lucian303|13 years ago|reply
Great. You should miss it. It's the only way you're going to have a shot at being a decent manager, let alone good or great.
[+] xpose2000|13 years ago|reply
I run my own start-up and I have to do everything. I am the sole employee. Some days I wear my designer hat, others its server config, and others it's customer service. Is it a bit crazy? Sure, but I really enjoy what I do.

I don't have meetings. I don't go to conferences. I don't pitch my company to VCs. I don't try to raise money. I don't care what other companies are doing. I don't try to use the latest tech because I'm expected to.

LAMP is fine.

I concentrate on building the product, satisfying my customers, and increasing my revenue. Everything else is bullshit.

The founder should be able to do everything. Being a developer is one of those things.

[+] sojacques|13 years ago|reply
While I totally understand your feeling, you should be aware that this strategy wouldn't work if you wanted to start a company like Tesla or Intel.

No offense, but what you call a startup might be more considered like a business by the HN crowd, and this is why you can operate this way.

Not every type of company can stay out of the now traditional pitching/VC game.

[+] isalmon|13 years ago|reply
I'm in exactly the same situation right now and I ABSOLUTELY agree with you on everything. One minor thing here though that I don't call it a 'startup', it's rather a 'small business', which grows linearly, not exponentially (not yet at least).
[+] jorts|13 years ago|reply
I hope that you have plans to at least grow to where there's someone else that can cover for you while you take a vacation.
[+] jeepey|13 years ago|reply
Amen. I'm in exactly the same situation. Took me a few years to get there but now I'm totally happy with it. I actually like the fact that I have to do everything myself. That's what keeps it interesting (and challenging once in a while).
[+] jaytaylor|13 years ago|reply
You are over-generalizing. You are in a fortunate situation where you are able to make this work. What a blessing!
[+] bdunn|13 years ago|reply
I founded a product called Planscope (https://planscope.io). I'm the only person involved. I develop, design, support, and handle all the marketing.

* I don't pitch 50% of the time (0% is more accurate)

* The lights are on. With more than 200 paying customers and 20% growth month-to-month, they should stay on for quite some time.

* I know most of my customers, and tailor the product around what I learn in talking with them. Thus, customer development.

* Me, myself, and I all agree about our company's vision.

* I keep tabs on my industry by asking my customer's about their business — and it helps that I eat my own dogfood.

* I do take all responsibility.

* And I handle all support

[+] Quizzy|13 years ago|reply
What happens when you get sick and need to take 10 days off? Family emergencies? A company with a "team" can give you that margin of safety. A One Man Band is great, but is not sustainable for long, because life happens. Startups are built to scale so that founders can step back and enjoy the fruits of their labor.
[+] jacques_chester|13 years ago|reply
Do you have an API? I'm working on a tool that might fit in well to part of your app's workflow.
[+] byoung2|13 years ago|reply
An hour… well maybe you can fix a quick bug or two. But you won’t get anything hard done.

I work full time at a startup, and I have a 6 week old daughter at home, and I'm working solo on a proof-of-concept on nights and weekends. Since I've got my hands full with the baby at home, I've learned to be very efficient with my time. One decision that made things a lot easier was deciding to go with node.js. Since the entire app is written in JavaScript, I can quickly test out ideas on my phone or tablet browser using JSFiddle, and integrate it later when I have a laptop handy. Sometimes I only have an hour of uninterrupted time, but that's usually enough to write a function or two.

[+] ferrouswheel|13 years ago|reply
That approach might be fine for small projects/webapps, but I stuggle to see that approach working for anything more complex/hard. Sometimes the only way to make effective progress is a full day of uninterrupted progress where you can hold the relevent parts of the system in your head at the same time...

Sometimes you need several weeks of working on the problem in this way to make progress! (e.g. machine learning improvements, distributed system design).

[+] pc86|13 years ago|reply
This seems like a pretty good idea; was it difficult to get used to jsFiddle on the phone?
[+] jiggy2011|13 years ago|reply
Isn't the whole point of startups that they are usually funded (at least initially) on about enough money to buy ramen noodles for a year?

Sure, if you have enough funds to buy some rockstar programmers then go for it.

Otherwise what are you going to do? Outsource it to the lowest bidder? Then spend all that time worrying if they will produce something that matches your vision and worrying about the quality.

[+] soneill|13 years ago|reply
No, you put in the time to find a good programmer who will work for a reasonable price. Typically that means finding someone who graduated fairly recently and is looking for additional work, or someone that doesn't have a lengthy track record/portfolio. It's not easy (I've probably talked to a hundred some odd programmers in the last year, and maybe three would fit the bill), but you can find the right people if you put in the work.

It's no different than finding a good salesman, or a good PR person, or a good anything. You can find great talent at a reasonable price if you're willing to dig. Rockstars don't always come at rockstar prices, because a lot of the time they don't even know they're a rockstar.

[+] ishbits|13 years ago|reply
Maybe true for a sole founder.

I was the technical co-founder. My job was to code, work with a few other people who code, and be the overall passionate guy about the quality of the code. I find it helps to have a stake holder in this position, you end up with better code, and someone who is going to take true ownership of the code.

My co-founder was a true marketing/selling machine. So it worked out for us I think.

[+] zatara|13 years ago|reply
Well, not that I don't think you have a valid point but some very smart people have done otherwise...

"When we were working on our own startup, back in the 90s, I evolved another trick for partitioning the day. I used to program from dinner till about 3 am every day, because at night no one could interrupt me. Then I'd sleep till about 11 am, and come in and work until dinner on what I called "business stuff.""

(http://www.paulgraham.com/makersschedule.html)

[+] DigitalSea|13 years ago|reply
I somewhat agree to an extent, my take on things is that a successful startup needs two founders; a technical founder to do the programming and a business development founder who possess's high amounts of confidence and a vision to push both the development and end goal of the startup.

Having said that, I'm currently a solo entrepreneur trying to balance work, life and startup all by my lonesome self because I don't know who or where to ask for help with my startup ideas with spending a lot of money.

[+] jimbokun|13 years ago|reply
"I somewhat agree to an extent, my take on things is that a successful startup needs two founders; a technical founder to do the programming and a business development founder who possess's high amounts of confidence and a vision to push both the development and end goal of the startup."

A Jobs and a Woz.

[+] zgohr|13 years ago|reply
The biggest problem I see startups having (at least the ones I have insight into, consulting and whatnot,) is their founders are too far from the technical. I agree founding and coding is hard to manage, but without a developer on the same level with the same goals, you're shooting your business in the foot.
[+] arbuge|13 years ago|reply
Hence the classic combination of a tech cofounder and a business cofounder. Or, the more usual in real life combination of two tech cofounders, one of whom actually does mostly "business stuff".
[+] spectre256|13 years ago|reply
I have to disagree here. Having just come out of a failed startup, one of the (many) things that hurt us was having the primary product direction and technical expertise belong to different people.

We were racing against time and lost. A lot of time was spent transferring ideas between people, and implementing something that wasn't quite right. I can't imagine any startup in the same situation not having at least SOME similar overhead. For a small startup without funding, this can't be optimal.

[+] elomarns|13 years ago|reply
I think it's more than possible to start a company as a developer, or even as the only developer. On the beginning, you probably don't have a lot of skype calls to make, or meetings to participate. On this phase, the thing that probably require most of your time is build your product.

And when you finally launch it, if you're lucky, you'll be more busy, but probably you'll also have more money, which will allow you to hire someone to help you. So you'll won't code so much as before, but if you want, you'll still have some time to do it.

The main argument against the article are the fact there's companies managed by developers who still code doing a good service to their customers: Instapaper (as far I know, Marco Arment is the only developer), 37signals (they have a lot of developers, but Jason Fried still codes), RubyMotion, among others.

Maybe this is not the easiest way, but it's definitely possible.

[+] cientifico|13 years ago|reply
I disagree since a few years ago. Before i was a developer, or better said, a hacker. I wanted to solve problems. Right now, I more or less know hot to solve problems, so develop a product is kind of boring. From time to time something new comes, but is not usual.

Problem => Analyze => Solve (if makes sense to solve the problem).

After years, that is kind of repetitive.

So move up one level is thinking on products, and hacking in a more social level. Learn about usuability, psychology... how the people behave and what the people want. That are things that we the developers should know to be... Better developers.

Hacking is about understanding. Understand how the things in live work. Understanding why a product A success, and a product B fails.

So I will say that founders should be hackers.

[+] lnanek2|13 years ago|reply
What's even worse is when one of the founders can't spend time coding any more due to investor meetings and other concerns about running the business, but still thinks they know what's going on in the codebase, and demands to be able to micromanage it. I know one CTO who fought tooth and nail with multiple meetings to keep AAC compressed audio out of a codebase after agreeing to a plan to improve overall app size, not understanding that the AAC+ compatibility problems in some versions of Android didn't apply. He just didn't understand audio encoding, didn't have time to research it, but he be damned if he didn't get to decide what's used.
[+] jackbravo|13 years ago|reply
Just change the title to "Why CEOs shouldn't be developers". As soon as your startup has a team of people instead of just you and your buddy you can start applying this rule.
[+] wyck|13 years ago|reply
Balance is the key to any startup, the opposite side of the coin are founders who have never been in the developer's chair, which is both common and worse.
[+] dagw|13 years ago|reply
the opposite side of the coin are founders who have never been in the developer's chair, which is both common and worse.

I disagree. I've worked at a couple of startups founded or co-founded by a guy with no hands on technical experience and he was great. He came up with the ideas, found the right people (or sometimes the other way around) and then let them do what they did best, with only gentle prodding to keep everything going in the right direction.

What he had was a good high level understanding of the relevant fields, plenty of experience starting and running companies, a vast contact network, an amazing knack for raising money and was very good at getting out there and selling our product.

[+] ichirotherager|13 years ago|reply
Agreed. You need the perspective if you're running a software startup.
[+] alexjarvis|13 years ago|reply
As a founder and programmer, I found this post really interesting and well written, but rather than lamenting about how it must be impossible to do both roles where eventually you will have to give up programming - why not just accept that it is just much harder? Also, I certainly hope that I will never spend 50% of my time pitching..
[+] oboizt|13 years ago|reply
How about finding a co-founder to handle those things, while you handle development and architecture?
[+] ferrouswheel|13 years ago|reply
I can relate to this from working as the CTO of a company that grew too fast, and then burnt out. I like building things, and I found myself less focussed due to management and business concerns. I'm now working on other projects, with fewer management concerns, and much happier (and being paid more).

However, I think the inverse of the post's title is also true. Your founder (at least one of them), if you are doing a tech startup, should be technically competent and understand the aspects of software development that are important... including not changing design specifications every week, and knowing how to interact with clients to prevent them from growing a project's scope beyond what your small team can achieve in a reasonable time.

[+] eranation|13 years ago|reply
What I picked from it besides the main subject is this:

> "A while back it was PHP in favour of static HTML, then Python in favour of PHP. Lately it’s been Ruby on Rails or node.js in favour of Python … in the future, who knows. I hear Scala is becoming very popular"

As a Scala fan I could't be happier if it's indeed going to pick up for web dev the way Ruby and Python did (in a myriad of frameworks), but is this indeed the general sentiment nowadays? I'll be more than happy if Play framework gets some of the Rails and Django community to help it grow the way the latter two have in recent years.