Software Development Profession
We know from the Agile Turkey Agility Report that the success rates of the software sector in our country have increased with the implementation of Agile software development approaches, as in the global scale. In addition, the Standish Group’s report published in 2015 says that the success rates of Waterfall processes decreased to 11% when the scope-time-budget is taken into consideration, while the success rate of Agile processes was 4 times better than that, with around 40%. It is worth noting that the success rates of Agile projects should be measured by the value produced, not by the scope-time-budget variables. Despite that, everything looks good on the Agile side.
Although the Agile practices and their rate of implementation is improving in our country, they cannot be maintained successfully because corporate companies have difficulty in changing their structures, processes, and strategies. We know that improving the software processes, which is an essential part of improving IT units, increases success but maintaining success is as important and necessary as increasing success. To do that, we need to know the facts about the sector. One of these facts is the necessity to consider software development as a profession.
In most companies, software development profession is seen as ‘a start in the career’. In fact, when students are asked about their career goals at university events, they mostly say they want to be a ‘senior executive’. I think the two important reasons for this answer is the status linked to being a people manager in our society and the fact that they are promoted for the salary/status. However, management of a project/process and developing software are different jobs. While developing/producing software requires deep focus, management requires the ability to manage many jobs at the same time, multi-tasking. Besides, project management and software development in the west are generally different undergraduate programs. Senior software developers in our country are usually forced to continue their careers as managers (We call this “coming up through the ranks”, so nobody can fool anyone! Of course, everyone knows this is a work around. This is not the main topic of this article and the root cause of the problem is different.) This can result in the company losing a good developer and have a bad manager to gain managers or prevent loss of know-how.
Salary and reward policies of companies support the aforementioned situation. In general, the journey continues as software developer-mid level-manager. In the west, the situation is slightly different. We see that people at the age of 50-60 do testing and software development. You might think “Still software at this age?” A software developer must specialize in his/her job, just like a doctor or an attorney at the age of 50-60 specialize in their job instead of becoming a manager or an executive. Just like a doctor learns the human body very well and then specializes in a field, a software professional should know what software is in general and then deepen his/her knowledge according to his/her field of expertise. At this point, being a T-shaped professional/innovator is also very valuable for individual agility; especially in view of the changing economy of today, where the life span of companies is getting shorter…
Gartner foresees that one third of today’s companies will survive in the next decade, while Standard&Poor’s foresees that the average life span of companies will fall to 6 years in 2020. Therefore, this new economy is looking for good team players who have specialized in an area but gained competencies in different fields by working on as many projects and products as they could instead of people who have worked in a very specific area for many years. What does this mean for a software developer? I think it means that the dynamics of the company we work in can change rapidly, and that people must acquire abilities that will help them adapt quickly not only to the company but also to the market. We need these “T-shaped professionals” who have gained different competencies within the software profession especially in Agile teams. We think that leaning to T-shaped specialization is very useful both in terms of improving team play and diversifying their competencies in software profession. Otherwise, we could not get out of the Waterfall mind-set, the Taylorist approach, and create commitment.
At this point, companies should change their structures, reward policies, career paths, and the employee’s salary/status should be updated according to the value they add to the company rather than their title in the company. In other words, a developer should be able to earn a higher salary compared to a project manager or a manager so that the software expert can continue to develop software and be encouraged to do that.
Consequently, making software a profession and specializing in software will be an important step in increasing the success rates, continuous improvement, and our chance of developing technologies/projects that we think we cannot develop in Turkey. To do that, we need to realize the need to change several things from the salary and reward policies of companies to undergraduate programs.