Archive for June 30th, 2008
Programmer Vs Nonprogrammer: Why it’s not healthy to think “or” but wise to think “and”!
As Bill Gates retires, Joel Spolsky has written a great article about what it was like to work for the world’s most successful entrepreneur. It’s definitely a must read article. If you love real stories, you will love this story too.
In this article, Joel mainly talks about Bill Gates’ detailed oriented approach in running a giant software company and his passion to get involved in small technical decisions while running the business as well.
What did I take from all this? Bill Gates was amazingly technical, and he knew more about the details of his company’s software than most of the people who worked on those details day in and day out. He understood Variants and COM objects and IDispatch and why Automation is different than vtables — and why this might lead to dual interfaces. He worried about date and time functions. He didn’t meddle in software if he trusted the people who were working on it, but you couldn’t bullshit him for a minute because he was a programmer. A real, actual programmer.
Watching nonprogrammers trying to run software companies is like watching someone who doesn’t know how to surf trying to surf. Even if he has great advisers standing on the shore telling him what to do, he still falls off the board again and again. The cult of the M.B.A. likes to believe that you can run organizations that do things that you don’t understand. But often, you can’t.
Though Joel strongly gives Microsoft’s success’ credit to Bill Gates’ technical abilities, I tend to disagree with him to certain extent. I think that apart from Bill Gate’s great technical knowledge and passion, he also has very sharp business acumen. And for example, that’s precisely the reason, he could license DOS to IBM though it was originally programmed by Tim Paterson. I firmly believe that just because you can write the code doesn’t mean that you can also able to sell it. You got to have the strong knack to sell the products and make money.
Also, as a counter example, when Steve Jobs founded Apple, he was a nonprogrammer, but he still runs one of the most innovative and successful companies in the world. He didn’t know how to write the code, but he knew how to configure a team which knows how to develop the code. He didn’t know how to design a product, but he knew what needed to be designed in the product. He is a visionary who has a great taste and powerful salesman aptitude. So being a nonprogrammer he could still run and grow Apple to a highly respectable scale.
I think Joel’s view about nonprogrammers is little extreme. Sure, knowing programming and having technical knowledge can give you an unfair advantage over other MBA people, but similarly understanding business world will also give you an advantage over hackers and programmers.
Finding balance and acquiring knowledge from both worlds is the key!
Have a great week ahead!