What does lawyers and programmers have in common? They depend heavily on their skills to make money, even though when they are the boss of the company. In a successful law firm, they attract top talents as partners, and to strengthen their raw skill – legal capability. They don’t actually look for a manager, or a CEO, but a great lawyer.
Shouldn’t a software house be the same? Why are we recruiting top managers or CEO to run the company, and why aren’t we attracting top programmers to join as partner instead. Perhaps techies are not good at sales or finding business opportunities. But how about lawyer? Are they good at running a business or finding more business opportunities? Does a law firm have a CEO or manager who doesn’t know much about law? Can a software house have a CEO or manager who doesn’t know much about software development?
I think software house should behave like a law firm, attracting top programmers as partner to strengthen the development capabilities of the company. Good programmers are hard to come by as employee, and even harder to retain them over time. But if they are part of the company, then it’s a different story all together. They are more willing to contribute, as it determines how much they will be getting in the end.
How about the issue getting business, should the top programmer go out and become the salesperson, or employ a few salesperson and hope for miracle to happen? I wonder how the law firm manages to do it. To become an entrepreneur, I guess you have to be all rounded as well. Is a lawyer who has his own practice an entrepreneur? Is a doctor with his own clinic an entrepreneur? I think they are, just that they provide service rather than goods, and they are the boss as well as the top employee in the company. Can a software house be the same? A law firm can have a few senior partners, some junior lawyers and more legal executives to help out. Perhaps a software house can have a few senior developers as partners, some junior programmer as helper and perhaps some support and QA engineers.
An ISV is not meant to be run like a big corporation like any other business. It should be run like a law firm, lean and mean. Not everything is meant to be run like Microsoft, so try to act more like FogCreek.