Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Back in 2006, one Joel Spolsky made the following comment:

Watching non-programmers trying to run software companies is like watching someone who doesn't know how to surf trying to surf.

Overall the article is a great read (definitely take the time to read through it). Out of curiosity, I would like to hear the experiences of folks here who have seen programmers adopt the mantle and do a great (or rubbish) job, and the same for non-programmers who find themselves herding programmers (worse than herding cats I've heard).

In short, what is the concensus of opinion on this matter?

share|improve this question
    
I'd just like to thank everyone for participating in this rather interesting question. Overall @Neil nailed it for me (and many others by the look of it). –  Gary Rowe Nov 13 '10 at 17:14
3  
A common situation for virtually any kind of company is that its marketing department takes over, the company thrives for a couple years, and then crashes because it's lost its best engineers/journalists/artists/etc, and they've spent so much money on marketing that they have nothing of substance to sell. Microsoft's a textbook example of this phenomenon, though I've seen it locally with everything ranging from publishers to beauticians to private schools. –  Rei Miyasaka Jun 16 '11 at 8:03
    
@Rei Company owners take note: Always reward your talent well, they will make your business successful quicker than you can. –  Gary Rowe Jun 16 '11 at 12:59
3  
@ReiMiyasaka I understand what you're saying, but Microsoft made over $5 billion profit in the first three months of this year. If that's a crash, I want some! –  MarkJ May 8 '12 at 11:49
3  
Sometimes you can find a Joel-quote to justify any opinion. Did you read the article where he explains how bad programmers are at running software companies? Because they don't understand the importance of marketing, customer service and all that other stuff. –  MarkJ May 8 '12 at 11:54
show 3 more comments

13 Answers

up vote 39 down vote accepted

You can run a software company without being a programmer if and only if you have the intelligence to know that the best decision is sometimes not yours to make but rather the programmer's/technical advisor's job. You'd be surprised how many already fail that test. Of course, you also must have a decent technician or else rather than follow your bad decisions regarding the technical sector, you're simply following the bad decisions your hirelings made. Just my 10 cents though. ;)

share|improve this answer
22  
Totally agree... I am friends with a Software Company owner who is also a self-made millionaire becuase of his company. He is the first one to tell you he can't and never will write software - but he understand and listen to his customers and hires the best people he can. He has even give people 50% of their salary as bonuses for finishing projects. You always pay for what you get and get what you pay for! –  MDV2000 Nov 11 '10 at 18:07
6  
+1 to MDV2000 for mentioning that you should pay your talent well. As Felix Dennis (of PC Pro et al) says: "You must identify talent. Then you must move heaven and earth to hire it. You must nurture it, reward it properly, and protect it from being poached. If necessary, dream up a new project. Better still, get the talent to dream it up." Full article here: sivers.org/book/HowToGetRich –  Gary Rowe Nov 11 '10 at 19:45
3  
This general sentiment applies to all industry types. You can run a company that does X even if you, as the owner, don't know X. The very best business owners are not the ones who are smart enough to learn everything about X, but rather the ones who are smart enough to hire others who do know everything about X, and then listen to them. –  CraigTP Jan 3 '11 at 11:16
    
@CraigTP - I don't think that'd be a very good business model for say a brothel, but yes for the most part this sentiment applies to most industries. –  Neil Jan 12 '11 at 11:29
1  
Good answer, and true of other fields too. "Can you run a restaurant without being a chef?" "Can your run a construction company without knowing how to install drywall?" "Can you run a hospital if you aren't a doctor?" –  anon May 9 '12 at 0:58
show 2 more comments

One of the best higher-ups I ever had was a guy who had no experience whatsoever with software. What distinguished him was that he knew what he didn't know, he knew where he could get information, advice, and good judgment, and he trusted his people.

That meant he wasn't going to sign us up for deadlines we couldn't meet, because we'd tell him what a realistic schedule was. He wasn't going to mess with how we worked, because he didn't know how software people worked best. He sat there and set priorities (in consultation with people who'd have to get the work done), ran interference for us against office politics, and generally supported us.

Thanks, Jim. We needed you.

share|improve this answer
    
+1 this. Best bosses I've had listen well and understand what they don't know, they shouldn't decide. –  wheaties Nov 11 '10 at 18:17
3  
Ultimately it boils down to arrogance vs. humility. Some clueless managers think they know everything when they know nothing. The good ones are humble enough to admit that they know nothing. They defer the technical decisions to technical people. –  B Seven May 8 '12 at 14:22
add comment

I work at a software company. The CEO is not a programmer. Our flagship product is the industry leader. I'd call that pretty successful.

The missing piece is, there's a lot more to the company than just building the software. Marketing, product management, installation work (it's an enterprise-class product), tech support, QA, etc. The CEO is a businessman who knows the business side really well, and does a good job managing his domain. He got a programmer who really knows what he's doing to be the VP of engineering, (my boss,) and he directs software development at a very high level only, basically telling my boss what the general direction of the product should be and leaving it up to us to implement it.

Now, if my boss didn't have any experience as a programmer and he was the one running the coding, that would be a big mess.

share|improve this answer
    
Hmmm, it takes a programmer to directly manage a programmer? Interesting. –  Gary Rowe Nov 11 '10 at 17:42
5  
@gary Generally speaking, yes. Or, at least, a "hacker," in the original sense of the word. One of my best managers wasn't a programmer per se, but he knew his way around a Linux box and had a great deal of technical interest. (I should point out that we were working in a Windows environment, so his Linux skills didn't directly apply. Not that he didn't know plenty about Windows.) The most important thing is that he knew his role: to buy us enough time to actually get the job done. Oh, and to keep the non-techies from bothering us constantly. –  George Marian Nov 11 '10 at 18:06
1  
+1 And since the question starts with a Joel quote, here's the Joel quote where he makes this argument –  MarkJ May 8 '12 at 11:55
add comment

Possible? Sure. However, just like any other business, some understanding of the technical aspects of the business are necessary to truly run it well (from the programmer's perspective). That said, it requires a special kind of programmer to run a business. That is: the shy, quite types need not apply.

I can think of one non-programmer I know who I believe could successfully run a software company. He's a damned good project manager in the field. His background is in psychology and he's not very technical. However, he posses that very important skill: the ability to learn. Also, as Neil mentions, he knows how to delegate.

So, yes. It's certainly possible for a non-programmer to run a software business, but requires a certain type of person.

share|improve this answer
add comment

Steve Jobs can't program...

He's doing pretty well.

share|improve this answer
8  
Apple is not a software company. Never was a software company. –  Tim Nov 11 '10 at 17:39
1  
@Tim: Um. Really? Current Macs are 99+% commodity Intel hardware with a specialized version of BSD Unix running on top of a Mach microkernel with a sophisticated userspace stack. And the iPod and AppleTV hardware is all very similar to other ARM-based embedded systems I've worked on - they just run, let's see, a specialized version of BSD Unix running on top of a Mach microkernel with a sophisticated userspace stack. Sure, Apple does fantastic marketing and great industrial design and so on, but the product people pay money for is the experience provided by the software. –  Bob Murphy Nov 11 '10 at 21:17
1  
@Bob - yep, really. Ipod, iphone, etc. If they were a software company they would allow licensing of the hardware. That "commodity" hardware is sold at ridiculous profit margins. IMO they are a hardware/toy company - not a software company. Read their partner contracts - they act and treat people as though they are a hardware company - NOT a software company. Sure, they have developers, but that is NOT the business they are in. –  Tim Nov 11 '10 at 21:20
1  
@Bob - To continue - Steve Ballmer and his famous "developers, developers" chant is NOT something I see from the folks in Cupertino. –  Tim Nov 11 '10 at 21:24
    
@Tim, Mac's differentiate on OS X. Otherwise they were just very expensive Windows boxes... –  user1249 Nov 11 '10 at 22:26
show 6 more comments

There are many, many programmers who would never be able to run a software company.

I think that Joel may have purposely overstated the idea to make the case that unless someone understands software development they will have a hard time running the company.

I used to work for Symantec - it was traditionally a software company with a tech-savvy CEO. The investors were never fond of it. Then, around 2000, enter John W. Thompson - an IBM sales guy. He did wonders for the stock price, but pretty much decimated the development side. Since then not much development has taken place - mostly M&A with other development companies.

John Thompson may be a great business leader, but he does not know much about software or developers or how to lead them. Symantec is probably a lot larger than what the OP had in mind, but I think it reflects Joel's idea.

I would not go so far as to say one has to be or had to have been a developer, but it is important to understand the activities and process of a software company. The best I know of way to assure that is to have a development background. That is probably the point Joel was trying to make with his statement, but I could be wrong.

Running a company involves so many OTHER things aside from software development activities. Being a developer or ex-developer does not prepare someone for running a software company - but it is one small part of a set of experiences that helps one be successful.

In the end, for me, it boils down to:

Do you see the developer/development group(s) as just another overhead/cost, or are they viewed as essential to the business?

share|improve this answer
    
Selling security software requires a particular mindset in order to allure and retain customers. In particular, it must project an image of The Command and Control Management Method to the customers, because it is what customers are looking for (to control threats and damages), even if the internal development process is different. Mid-level managers are supposed to provide this necessary buffer. Examples of quotes from the said CEO. –  rwong Nov 12 '10 at 13:30
    
I was very familiar with John T and his public comments at one time. Since leaving the company I have not kept up. There is nothing new there. He's a great front man - he speaks pretty well, is good looking and personable. The board did a good job finding someone to boost the shareholders' value. It was rather funny - I worked on the pcAnywhere product and at the time it accounted for 1/4 of the revenue and at least that in profits but they didn't like that as it was not the "Direction" of the company. But they couldn't get rid of it - it made so much of the money... –  Tim Nov 12 '10 at 14:55
add comment

I think if you understand a particular business domain, and the process of software development, you can absolutely run a software company.

I work for a great consulting company that is well run by non-technical people at the top. They may not understand how to solve FizzBuzz, but they know about delivering business value, which is far more important.

share|improve this answer
add comment

When a company.group gets too large, then different skillsets are needed to manage the group. Far too often, people get promoted past the point where they are competent; this is called the Peter Principle. Ballmer may have been a good developer, but he's a bad CEO.

share|improve this answer
    
+1 for a good point, and useful link too –  Gary Rowe Nov 11 '10 at 17:39
2  
Ballmer was a salesman. They usually make the worst CEOs, yet think they are the best. –  gbjbaanb Apr 18 '11 at 21:46
add comment

Yes, if the owner/CEO can delegate, and rely on his technical people to handle that end of things.

If the owner/CEO is a micromanager, and insists on making technical decsions they are not equipped to make, no, they are bound to fail.

share|improve this answer
add comment

Having worked with non-tech managers/company owners for a few times :

  1. I hated how they were always questioning my time estimates
  2. They didn't understand what's a proper developer working environment
  3. They would always think that adding more people to a project speeds it up. 20-something years after the "Mythical Man-Month". Go figure.

Ergo, while good programmers might not necessarily be good managers, I infer that it is absolutely necessary for a good software company manager to be a programmer.

share|improve this answer
    
The unfortunate truth is that the "holy" software books are only read by programmers but never by managers who need this treatment most. In that regard writing this book was a wasted effort and a miracle at the same time. –  user8685 Jun 15 '11 at 23:05
    
Re #3... dumping more people onto a project doesn't usually speed it up no matter WHAT domain you're in. –  mjfgates May 8 '12 at 20:02
add comment

Maybe Joel was talking about very small software vendors like FogCreek?

In bigger companies, the CEO rely on its VPs and I guess the CTO has the appropriate background. A CEO with technical background can be an asset. But a great CEO should have better social skills than technical ones if I had to choose.

share|improve this answer
    
+1 - I agree - line managers and mid level managers as ex-developers is likely more important than CEO being a developer. –  Tim Nov 11 '10 at 18:53
add comment

I'm just over a year into my first job out of college. It's with a small (less than 10 employees) web development company. The owner/boss is not a programmer and is not technical, and neither are any of the program managers. They've been in stable business for 14 years now. There are only two developers, and I'm the first one in at least a decade that has studied Computer Science at school. There has been no teamwork (all solo projects), no SCM, no code reviews, no formal bug tracker, no unit tests, no automated testing, no continuous integration, or anything like that at any point (I'm working on getting SVN up and running and in use). Our tester is incredibly methodical but is not schooled in QA. There's almost nothing done by the book.

And yet it all works.

share|improve this answer
    
+1 for keeping it simple - but with only 2 developers working solo there's not a lot of cross-talk going on. Try keeping that environment working with 5 developers sharing code. –  Gary Rowe Jun 16 '11 at 8:14
    
Oh, I know this model won't scale. Like I said, I'm working on getting SVN in use more effectively. :-) –  Mr. Jefferson Jun 16 '11 at 15:37
add comment

Yeah its definitely possible but you have to have someone high up, ideally a stakeholder in the business (partner for a small company CTO for a large one, etc) who has a say in company matters and can influence the owner / CEO. Even with the inernet many software companies still rely on a large sales force to manually push their products to companies (cold calls, etc) so its possible, if they are good at sales. However, this doesn't mean it would be a good company to work for, it just depends.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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