Some really interesting reading in this year’s Stack Overflow developer survey; the prevalence of C# roles in the East Anglia region clearly isn’t reflected on a global scale. RUST came out as one of the most loved languages globally, although I am yet to see it on a client’s requirement list. The trends since 2013 make it very clear some of the languages considered on the fringes locally are a force to be reckoned with on the wider playing field. With Python now above PHP in the popularity stakes.
Here are some of the top line comments based on the 64,000 respondents…
The question for employers has to be should we continue to invest in languages that are showing year on year signs of decline in popularity? I appreciate budget, the will of the senior board, market conditions, end-user impact etc. all play a part in this, but in an ideal world what would be your response?
I was chatting with a CTO over lunch recently who questioned the concept of the rinse and repeat cycle often employed by companies, where an entire platform is migrated to the latest and greatest language only to be repeated again in the short to medium term. His own view on legacy debt was the idea of looking at the existing architecture as an ecosystem. Coming at the problem from a business perspective, not as a technical conundrum, what does that section of code do? Is there a tool in the open market that a company is already offering that could be used for that section? Do we have to invest in our own team reinventing the wheel or can we simply integrate their code into our ecosystem – with the ultimate aim of building in flexibility and opening up the option of simply replacing elements of code as time passes, while benefiting from other companies own work to keep their section of the ecosystem robust and up to date.
My opinion? As a failed programmer who turned to recruiting developers because he didn’t make the grade! Well, I think he is onto something. I believe with the dawning of Cloud, the wider acceptance of subscription-based and SaaS models, the prospect of large-scale migrations and huge legacy debt that require major overhaul every few years simply doesn’t make sense. Every cutting edge technology is tomorrow’s legacy programming language, so why place all your eggs in one basket? Or at the very least, deploy the architecture as an ecosystem that makes tweaks down the line far easier. That said, I realised many years ago there is always more than one solution to a technical problem, so I offer my opinion as a developer wannabe and bow my head to those of you that made the grade.