How software development consulting company should be structured

Posted by yrashk

Disclaimer: the text below is just purely a dump of my thoughts and they are definitely not new or unique. I just felt I need to dump this.

Being a citizen of a country where most of IT companies are rather consulting companies (i.e. providing services rather than building own software) and having co-launched Railsware in the past I think I have a power to say a bit about what’s wrong with most of that consulting companies. Or at least, with small-sized kinds of them.

The typical structure of that companies is a board of founders/investors that have established that company, they are usually acting as a company directors. The crew of such companies is usually just a bunch of employees that have their monthly or hourly pays, whatever they do — sales, management or development. Founders and investors are getting their cut between employee’s rate (i.e. internal rate) and what they charge customers for (i.e. external rate). Sounds like pretty classic manufacturing enterprise. While this structure certainly has its own benefits both for owners and employees, I am not sure that this model is perfect (well, no model is perfect, obviously).

What’s bad with it? I feel that in such environment, employees don’t feel themselves highly motivated and what they get except their pay is an experience and portfolio. That’s surely very nice for juniors; and that’s why such companies have a kind of personnel supply fluctuation — those who get really experienced tend to quit that companies and look for a better opportunities.

Is that good for customers? Except if they are on a pretty low budget, I’d say no. What every customer wants is to get a brilliant product for their money. Who can do that? Motivated team of rockstar professionals, I think.

Here we come to a structure for a consulting company that I like. Instead of being employees of some company, professionals of different kinds (i.e. developers, designers, sales, etc.) could team up and define their rules of game transparently. They can decide which cut of income is being spent for what — like 10% for reserve fund, 50% to developers, 30% for designers and 10% for sales. In this structure they are all in charge and if they could play together efficiently, nobody will be frustrated.

Of course, that will not work for large companies; and it shouldn’t — large companies exist to generate revenue for owners and salaries are just part of their expenses.

And yes, the structure I like is certainly imposes some risk on each member, but that’s life — they need to understand how to build their credibility and name and they should certainly leverage with their previous experience, especially public engagements like Open Source commitment.

In the Ruby on Rails world, it seems that there is a number of companies that work that way — and I’m pretty happy it is so!