Eric Sink on The Business Of Software
During my flight from BWI to Portland (via Vegas and San Jose) I read Eric Sink on The Business of Software. The book appears to be a compilation of his columns for MSDN magazine. Even though I could have found the content online, I am glad that I bought the dead tree version because, well, I really like books. Plus it would have been hard to read a blog on the plane when I don't have internet.
Eric is the founder and CEO of SourceGear a small (25 employees) software company that sells developer tools. The focus of the book is on small ISV (Independent Software Vendors) The company is fairly successful and grown without outside capital so he knows what he's talking about. Thus far I am extremely impressed with the book and the clarity of Mr. Sink's writing. The book is organized as a series of essays grouped around a particular topic. The first topic is Entrepeneurship itself and discusses accounting, temperament, and planning amongst other things.
The second section is focused on people, and primarily hiring. I find hiring an incredibly fascinating topic and think that Mr. Sink gives some excellent advice. I particularly like his discussion of the negative correlation between people with PHDs in Computer Science and good developers. (Original article: Hazards of Hiring) I worked at a small startup ran by a professor while I was in college. All the developers were still undergrads. So as the senior ("senior" used lightly as I was the oldest at 21) developers we would interview candidates for development positions. The people who were brought in all were at a minimum Masters students in CS and most had PHDs. I imagine they were all excellent computer scientists (the professor running the company was brilliant in his field of research) but didn't know a thing about shipping software. We eventually told the professor that we weren't going to find good candidates by interviewing PHDs (being so young I think we actually said something much less diplomatic like "PHDs can't code" which is a bad idea when talking to someone with a PHD). The professor's solution: we were no longer asked to interview candidates and we never came close to shipping any software while I was there. I still believe we were right that there is a strong negative correlation between getting a PHD and shipping software and one of my biggest regrets from my time at that company is that we were unable to effectively convince management that shipping great software and being a great computer scientist are two different skills, and it is rare for someone to have one of them, let alone both.
The only point I have disagreed with so far was his response to Paul Graham's Great Hackers, Great Hacker != Great Hire. I think that Mr. Shrink reads a little too much into Paul Graham's arguments and takes the knocks against windows a little too personally. I work in Microsoft languages at my day job to pay the bills. While given a choice I wouldn't use ASP.Net for web application development (I am at RailsConf after all) nor would I ever use Windows (except for in a nice, neat, parallels window on my Mac so I can do IE browser testing) I am no where near as virulently anti Microsoft as many developers. .Net is a decent, if inelegant, tool and there are cases where it is appropriate for the job. Someone who simply rejects tools based on religious zealotry isn't a great hacker, they're a jerk. Furthermore I agree that Paul Graham (whose writings I adore, and is obviously a huge influence and inspiration) can come off as quite arrogant at times. I think that when Graham says "Great Hackers will refuse to work on inferior tools" he is being polemic and what he means is great hackers care deeply about there tools and will go out of their way to avoid using inferior ones. Also, I think it is clear that what Graham knows and talks about is hosted software. When your software is hosted it doesn't matter what language you use and users don't care. It isn't a marketing decision and it doesn't limit the size of your market as Mr. Sink says. Those things may be true for shrink wrapped software that will be installed on a client machine but I don't think they fall under the situation that Graham was talking about. Also I think that Mr. Sink misunderstood the point on great hackers and customers. Mr. Sink seems to read Graham as saying that Great Hackers don't ever want to deal with the customer. I think that great hackers crave interaction with customers; what they dread is customers can capricously force the developer to make changes that lead to inferior software. I think the "disagreement" is simply one of different assumptions. That said, if everything that Graham said was intended literally then Mr. Sink is absolutely correct. There is no room in a small company for someone who is so arrogant they can't be pragmatic.
The third part deals with marketing and the fourth with sales. There is a lot of good information in there.
Bottom line: if the thought of starting a software company has ever even crossed your mind go read this book now.
More Articles on Software & Product Development
- Agile With a Lowercase “a”
- ”Agile“ is an adjective. It is not a noun. It isn’t something you do, it is something you are.
- How Do You End Up With A Great Product A Year From Now?
- Nail the next two weeks. 26 times in a row.
- Build it Twice
- Resist the urge to abstract until you've learned what is general to a class of problems and what is specific to each problem.