Remember the Options in Software Development
Tomorrow’s toolset isn’t only JavaScript

StartupAUS’s report today,“Emerging Technology:Talent Snapshot” reiterated the ever-growing prominence of software based jobs dominating hiring trends in Australia. It’s awesomely-investigative and timed nicely with healthy discussions about some of the systematic overhauls needed to conformationally change the nation’s simple economy.

As recently examined by Harvard economist Ricardo Hausmann, Australia’s economy is mostly reliant on exporting natural resources and energy — underscoring the nation’s economic non-complexity. A brief scan of the news show both Mike Cannon-Brookes and Matt Barrie providing their own suggestions for how to kickstart change through adjustment in the energy and education sectors.

Start-ups offer a lot of opportunity to upturn the status-quo and navigate marketplaces that are typically held-together by large corporations which can stall development. It’s unsurprising that software development has continued its domination due to its transcendence like-ability to terraform analogue operations into sophisticated digital-networks with massive ROI.
The automobile industry highlights how rapid this transition to software-centric can become. In 2013, the CEO of GE wrote “We believe that every industrial company will become a software company”. Six-years on BMW and Mercedes-Benz have created a $1 billion joint-venture to manage data-sharing, Toyota has built a $1 billion data centre and software as a proportion of total vehicle content in Teslas is likely to grow by 20% in 10 years according to McKinsey.
When software can flip over so much, it has to be inherently flexibly structured to manoeuvre around so much pre-existing infrastructure. Consequently, the variance of what it means to be a “software engineer” ensures it can be a matter of stabbing in the dark initially when first starting off. With so much potential opportunity in the future, blindly committing your time isn’t a favourable risk management strategy for how you want to learn to code.
StartupAUS’s report showed how interested Australians were in becoming software engineers — but what does this mean exactly? Examining the latest Stack Overflow Survey provides some insights that should help clarify the best options to those considering moving into software development.
Firstly, JavaScript and HTML/CSS are the most popular languages according to the 90,000 respondents that were mostly from the United States (23.64%). Unsurprisingly, nearly 50% of respondents were either a full-stack or back-end developer meaning their work is generally focused on web-applications. This type of selection bias within the survey reminds us how current pulse-checks on industries might not be the most suitable way of forecasting the future.
If you wanted to consider the best investment of your time to learn a programming language, then using high-level observations when you don’t know much else is your best bet. With that in mind — my suggestion is to learn Python.

StarupAUS showed the top skills of a full-stack engineer to be:

My concern here is that for those considering venturing into software development — seeing mobile app development at the bottom of this list could lead to an inappropriate inference: that mobile app development is less valuable than the skills for web-app development.
Consider the responses to the “Most Loved” programming languages:

While ‘TypeScript’ and ‘JavaScript’ both appear, they do so amongst a range of other languages that represent a broad range of opportunities. It’s important to keep these in mind when investigating the potential pathways you can take. Bear in mind, learning these are not mutually exclusive — and the ‘number of languages’ you know quickly becomes irrelevant. Languages however become associated with job-types and so the languages you learn become proxies for investments in industries.
As always, define your solution to the problem at hand. There’s plenty of them out there for you to solve with the right tools.
If you’re thinking of jumping straight in then I’ve written up some suggestions on how best to learn programming.
Cheers for reading :)