Why founders shouldn't be the developers
zemanta.com
zemanta.com
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.[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
(then I added in the 0 months manually)
Learned this just now via twitter btw: https://twitter.com/harryh/status/279010454376960000
I promise, if it weren't so annoyingly hard to implement, Linux would have command called nwodtuhs to turn the machine on. Those crazy geeks! :D
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.
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.
It doesn't mean it's a lifestyle business either, you can have a business earning over $10 million revenue p/year in this in between and with no funding. Is that really just a lifestyle business?
* 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
I'm not opposed to delegation at all, I don't want to be glued to a screen — I just haven't put all the necessary pieces in place yet. 90% of support requests can be handled via cut and paste by a virtual assistant, and having someone on-call for server issues is easy enough.
With a single-person company, the bus factor is essentially zero... unless you're a master of automation.
[1] Though he said it was common among his peers in Austria.
For those who can be control freaks with their businesses, this is one of those show stopper risks that creep up on you.
I have a few customers testing out my soon-to-be public API. Would be more than happy to have you work with it.
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.
Sometimes you need several weeks of working on the problem in this way to make progress! (e.g. machine learning improvements, distributed system design).
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.
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.
I worked pretty cheaply for the first year or two of my career, as did several of my friends. I'd like to think that my employers got quite a bargain. But I only stayed with them a year or two, as my $32K/year job became a $66K/year one became a six-figure income, or as my friend's $15/hour wage became $75/hour became $72K/year employment became six-figures.
And I am someone who used to outsource many technical projects to Eastern European developers, and wound up becoming a developer. You maybe getting good talent at a good price, but there's always a cost.
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.
"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.""
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.
A Jobs and a Woz.
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.
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.
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.
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.
Am I correct in assuming the following characteristics? The guy you are talking about:
* Trusts you to do your job, and assumes you are pulling your weight in whatever way you see fit. (contrast: "We need your ass in the chair 08:00-16:00 so we know you're working.")
* Trusts you to do your job, and accepts your technical decisions even if he doesn't fully understand them. (contrast: "I just don't see exactly why GitHub would be better than our existing Team Foundation license, so we won't switch.")
I guess the distinction I'm trying to put is that there's a distinction between "non-technical" and "non-programmer". I can't program, but I know all the technically pertinent details of my product that any VC or customer is going to care about. To some extent, I think it frankly works better that way than if I was doing the coding, because I know what's really important in the product, and won't miss the forest for the trees.
You don't need to know how to code to be able to handle the technical responsibilities of actually running a tech startup. You just need to know the technology itself.
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.
> "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.
Please don't generalize, this is not always true. Being a programmer (with a formal CS background) who used to make a living as a professional designer, I have met a lot of people like me. Good design is about solving problems, good programmers usually solve problems. When it comes to aesthetics, it's something that people do learn, and programmers can learn, too.
- giving the executive decision powers in the hands of most of the developers is a recipe for a disastrous product
I respectfully disagree here too, for the sole reason that developers can learn the ability of making decisions in a relatively rational way. I would even wager to say they might be more inclined to trust in data.
Correction: Most programmers make terrible designers. I've met and worked with some that can handle both well and a few that are exceptional in many realms technical and design.
Now the "designer" that glued the Metro interface on to Windows 8 should stick to smartphones. I'm about to write shim to make the OS boot into a CLI interface, so I can avoid the "Tiles" and get somework done.
For example: I suck at the whole CSS/HTML/JS merry-go-round. Ironic that I mostly work on web apps and that these days that is basically where the app lives. But still.
So I get help. I know some good people; I pay them to fill in my gaps.
having a cofounder (especially one with a complementary skillset) makes it so much less frustrating in the beginning phases of a startup
But hence the notion of not being a founder CEO. Let someone else take the reigns and you do whatever you want to do.
Though there exists a lot of potential of messiness in this.
First it was working with potential customers to figure out what kind of product they wanted. Then it was time to find the technologies that would allow me to create that product. Then it was finding a technical staff that could build our product using those technologies. Then it was preparing our sales strategy, materials, and sales staff to sell the product. Now it's primarily marketing, pitching to writers, blogs, and doing what I can to get the word out to consumers. If I had to forecast the next month or two, I'd say that preparing investor pitches and materials will start to absorb an increasing amount of my time, and I will probably end up finding a marketer to take over my marketing responsibilities so I can focus on the funding side.
Each of those stages basically involved devoting myself overwhelmingly to that particular issue that was most crucial to the business at that time (product development, sales, marketing, etc) then finding someone to delegate that work to once I needed to move on to the next step. Frankly, I'd never want to do it any other way, because it means I know every aspect of my business, my product, and my customers, and I know exactly what I need to delegate to make sure things get done right.
Moreover, by knowing every aspect of my business, no one is indispensable to me. When my original programmer decided he had to take a full time/weekly paycheck job for financial reasons, I knew my product and technologies well enough that I was able to seamlessly bring in a replacement to finish the work because even though it wasn't my code, it was my product so I could specify exactly what had to be finished, and what he'd be working on after it was done.
Last point, because it seems to be a widespread misconception here: Programming is only a part of the technical side. My startup uses multiple pieces of technology that my programmers weren't aware existed until I showed the APIs to them. Now, I couldn't have used those technologies without those programmers, because I lack the ability to actually take the APIs and plug them into our code, but I can find the technology that does what I need done, and then have them integrate it. If on the other hand I'd brought one of those developers on as a "technical co-founder", and relied on them to handle the technical side, we would have been dead in the water or would have ended up with an inferior product.
None of this is intended to be antagonistic, or to diminish the importance of programming to a tech startup. I simply state it to show there is more than one way to bake a pie, and that a non-programmer can still handle all the technical aspects of a company needed to create a successful startup. Food for thought!
Insane. I'd say this goes for VP of Engineering and CTO's as well, whether founders or not. Really any management.
You chose it, but can you do it? Most can't and thus abuse those under them. Sad but true.
EDIT: I will add, that if you're trying to use the latest, coolest technologies as a founder you should just stop now and choose a different career. If you didn't "get it" (proper development) by now, you never will.
Deleted comment