By Cristian Rennella
As a programming engineer, I started more than 15 years ago developing programming codes for prestigious software companies such as IBM, Intel and HP. Since the very early stages of my career, I could identify certain aspects of the operation with which I did not agree.
What were the problems?
Firstly, every highly-skilled software engineer I knew would eventually be promoted to a managerial position. This meant that the best programmers would, eventually, stop doing what they did best: programming. This system took place because it was the only way to get a high-rank post and, therefore, a better salary.
The problem lies in the fact that the best programmers will not necessarily be the best managers, or the so-called, “Project Managers,” since each job requires the mastering of very different skills. What’s more, I strongly believe that programmers cannot perform well as managers. Finally, quoting Joel Spolsky, Trello’s designer/developer: “In the end, great human resources who did their jobs skillfully were lost.”
On the other hand, there were managers who had never been programmers, but who did know how to deal with human resources efficiently, communicate their ideas and organize projects according to the company’s goals. The problem with working with this methodology is what Google’s founder, Larry Page, has expressed on several occasions: “Engineers should not be supervised by managers who lack technical knowledge.”
Based on my personal experience, what really happened was that, as managers did not have the capacity of controlling the tasks developed by the programmers, they would reward those who performed their tasks faster, regardless of the quality of their work. And, as all programmers know, more is not necessarily better, since performance in software designing is governed by the premise ‘less is more.’ The less programming language we develop and the more efficient it is in its performance, the better. This is so because that programming language will eventually be cheaper in terms of maintenance costs and will also be much easier to run to run for anyone who wishes to use/modify such program.
What is the solution?
After 8 years of working in our project, OMT, there are currently 35 members in our working team, and the solution to the aforementioned problems is simply to work directly without managers (without bosses). In our company, we are all software engineers who work autonomously four days a week, for a total of 32 hours, as freelancers (without offices). Click to continue reading »
CONTINUES » Discuss This »