I often hear statements like "there's never been a better time to be a developer" or "now is the best time to be a developer." It’s easy to see why. The software development industry tends to top most lists when it comes to pay as well as skills employers need today and also, will continue to do so in the future.
But as the next generation of Australian coders start to learn the basics, with both NSW and Victoria introducing coding into their curriculum, it’s time to ask the question: is this career path as appealing as it might seem from the outset? Is this where the biggest opportunity lies for the next generation? With more than twenty years of experience in software development, my answer is no, not yet.
The future of software, artificial intelligence (AI) and automation opens up doors to well-paid, global career paths and there’s been a swell of attention towards coding and software development.
Yet as more people flock to the industry, previously hidden flaws and systemic issues have been thrust into the spotlight. Not to say they can’t be overcome, but an acknowledgement of their existence is the first step in ensuring the industry is transparent and working towards change.
The reputation problem
The past couple of years have seen the reputations of some of the largest (and previously, most respected) names in technology fall from grace, especially in the US. Whether it is fake news and data breaches at Facebook, sexism at Uber, the failures of Twitter to prevent widespread misuse of its service, to questionable memos at Google. The list is long.
The Australian outposts of these businesses have not been immune to the fallout from their overseas counterparts’ indiscretions. In a similar vein, one of the biggest scandals to hit Commonwealth Bank was a result of coding errors in its intelligent deposit machines, leading to more than 50,000 breaches of money laundering and counter-terrorism financing laws.
The Commonwealth Bank example demonstrates clearly how developers are often becoming an important line of defence for organisations. In today’s rapidly evolving technology space, developers are often forced to look past "Can we build it?" and also answer "Should we build it, even if we can?" New technologies including AI and machine learning only complicate this situation and place developers at the heart of projects that might have the ingredients of a future scandal – not to mention potentially copping the blame if something goes seriously wrong.
Diversity and the gender gap
The tech industry has a well-earned, poor reputation when it comes to diversity. While the diversity issue in technology is broader than just developers, it certainly applies. An analysis of LinkedIn data by Davidson Technology found that although women made up around 40 per cent of workforce in the IT sector in Australia, only 17.6 per cent of leadership roles were held by women.
There are systemic issues at work but this is starting to change. Many companies are now using the power of AI to make sure the language in their job ads attracts both men and women. This means avoiding words that seem unappealing to women, such as “ninja”. The results have been encouraging.
Diversity is not just about women but about race, sexuality, ability and age. Quotas, “blind” resume reading and unconscious bias training are all strategies that can be implemented to ensure a more inclusive and representative workforce.
Changing how we interview
I know how difficult it is to assess candidates for developer jobs. And when your business depends on code, the quality of your software engineers is critical. Some qualifications such as a computer science degree or experience are a good indicator, but often don't get at some of the specific skills needed. As an industry, we have also tried certifications and so far found them lacking in usefulness – perhaps because the nature of our work is constantly changing.
The predominant way we interview for coding jobs is a process that emphasises unnecessary coding knowledge in favour of characteristics that often, in my opinion, make a developer more successful – traits including willingness to learn, ability to work with others and ability to solve problems creatively.
It also tends to favour the hiring of individuals who devote their life to code, which leads us to the final negative.
Every career choice comes with the potential for burnout, but it is fair to say certain characteristics of being a professional developer lead to higher potential of burnout compared to many other jobs. A quick search online produces endless threads on the topic of programmer burnout.
Part of this is related to the type of people we are hiring through the interview process. As an industry, we often celebrate those who live to code.
While Silicon Valley-esque developer burnout might seem a fairly distant worry to Australian coders in their daily work, it is this idea of the “real coder” that still persists among the programming community worldwide. When mixed with the natural demands of a job that requires continuous adaptation and learning, it can be a toxic combination.
In looking at whether now really is the best time to be a developer, I wanted to be fair and honest. Admittedly, there are important flaws in our industry that need to be fixed, but I am neither negative nor pessimistic.
The good news is that when it comes to actually coding, things are really good.
When I started my career, nearly all of the learning resources were books that could easily cost up to $100. Nowadays, learning materials come in a variety of formats, from books to tutorials, videos, meetups and interactive training. Those provided by the software companies are all online and mostly free of charge. This means there is very low barrier to entry, and cost involved, if you really want to become a coder.
Furthermore, we live in an age of widely available, high-quality free and open source software. It is such an obvious part of the lives of developers that it’s almost impossible to imagine why we ever debated the viability of open source software. While all these tools create some complex workflows and architectures, they also make available resources that, once upon a time, were costly or didn't exist.
I’m grateful to have worked as a developer for so many years and to count myself as part of the developer community. I also truly believe we are working towards getting better in each of these areas we currently fall short.
This means that even though today may not be the best day to be a developer – tomorrow is. And there is no better day to get started building tomorrow than today.
Brian Rinaldi is director of content at Progress.