How to kick-start your software development career
Digital transformation drives the need for software developers
Every company is a software company. This mantra demonstrates the scale of digital transformation and the importance of technological best practices in supporting business strategy. The pandemic has hit us with this reality – as we see the demand for digital services such as online shopping, digital payments and remote collaboration.
It is not surprising that Evans Data Corporation – a leading software development market research consultancy - predicts a 75% global growth in software developers over the next decade. Gartner predicts that by 2024 – 80% of tech will be built outside of IT. Some may even say that every employee will become a software developer in some way one day.
In line with global trends - software development is one of the most in-demand skills in South Africa. It also plays an essential role in the rest of Africa, where software developers are seen as assets in the drive to create disruptive businesses, basic services and competitive digital capabilities.
You may be considering a career as a software developer or thinking of ways to meet opportunities in this field. For some, it may seem like a tug of war - swimming against a strong current of ever-changing market demands without a clear direction.
Young developers capitalise on Africa's tech gold rush with a few years of experience. According to Google - software development in Africa is more accessible than ever, with 33% of developers university trained, 31% self-trained and 20% trained through online courses and boot camps. This highlights the diversity of influences and opportunities in the field and indicates that on-the-job experience, training, and mentoring are invaluable in developing industry-ready skills.
A flexible career strategy tailored to market demand serves as a lifejacket – a way for you to stay relevant at the heart of digital transformation while creating the products that serve as the currency for change.
What is a software developer?
Software developer products are all around us – impacting us every day. It may be the calendar app you used this morning or the virtual assistant recommending a product. The role provides the opportunity to perform various tasks such as designing, developing, installing, testing and maintaining software solutions.
You would require the knowledge of multiple programming languages, analytical and technical skills and the ability to communicate effectively. Good developers have competent abstract thinking, logical thinking and attention to detail. Soft skills such as time management, self-learning, communication, and collaboration are equally important to work with a team and stakeholders effectively. You may think that this sounds like one of those 'mystical unicorn' roles, but these skills can be honed and developed over time - with the right mindset and strategy.
Mapping your skills path
Taking ownership of developing your skills and building a career roadmap is essential in your software development career journey. It involves the continuous awareness of your desired core competencies and current and future market demands. You would then be able to identify the resulting skills gaps for development.
There is a continuous drive for extreme talent – individuals with an array of marketable skills, creating high performers that stand out as outliers. Skills, not job titles, are increasingly seen as the new metric for the labour market. For example, the skills endorsed on your LinkedIn profile help confirm your abilities or the varying skills requested for the same job title in different corporations, industries, or locations. Degrees struggle to keep up with market trends and relevant skills.
Skills are specific and nuanced – forming the building blocks to create your unique profile. Your challenge would be to map your existing and desired skills to showcase your value for projects and effectiveness in cross-functional teams.
Agile environments are becoming popular due to the need for quick value delivery. Here multi-skilled developers are often the best performers. These high performers are usually defined as 'T' shaped or 'M' shaped employees.
Deep core skills characterise the 'T' shape in a system or discipline overlayed with broad competencies such as communication or critical thinking, which apply across skills. It is the glue that makes the software developer able to perform within a team context.
An ‘M’ shaped or ‘Comb’ shaped employee is similar – with multiple core skillsets often less developed than the core skills of a ‘T’ employee. Having multiple core skillsets allows for flexibility and adaptability, allowing the 'M' shaped developer to take on non-expert tasks and fill in team gaps easily.
Listing your desired skillsets as ‘T’ shaped or ‘M’ shaped may look something like the following:
Mapping your desired competencies in such a way creates flexibility for opportunities. You may focus on being a software developer, but you can also highlight transferrable skills that allow transitions into other roles. It eases ownership of your career and puts you in the driving seat.
Software development can form the foundation for many career paths
With the rise of automation, software development and coding can begin the fabric of most career paths – with many jobs requiring technical understanding.
Software is often the backbone of business operations – but this backbone is malleable and needs to adapt to changing business requirements. Employees across the business spectrum understand things such as software development lifecycles to measure impacts and manage expectations. Managers with a greater understanding of software will better measure the business value and cost savings. Business analysts that develop and code can quickly dive deep and gather insights from data to make decisions.
A software developer will naturally have this knowledge and can therefore traverse various career paths. Working in software development teams and honing communication skills in this dynamic environment eases collaboration in the challenging modern organisation.
The benefits of specialising in software development
Of course, you may want to specialise in software development. Specialist roles are becoming more prevalent and rewarding. Senior developers can have a sustainable lifestyle because of skills demands and the changing nature of teams and organisations. Modern disruptive companies often have flat hierarchies to increase the agility of decision making. It drives self-managed teams and organisations – where a specialist software developer can take more responsibility and accountability.
Another incentive to specialise in software development is the flexibility in the ways of working. The pandemic has sparked the demand to work remotely or in a hybrid environment.
Remote working is increasingly seen as the new normal for developers, with many preferring to work this way. They cite the benefits in concentration and focus while digital collaboration and communication tools fill the gap when working in a team context.
As software developers can do technical work online, development and developer tools are often remote-friendly for easy collaboration. Many software developers thrive in this remote-work environment – drawing on the benefits of less commuting, more flexibility, better motivation and productivity. In this way, they can benefit from improved work-life balance.
Measuring Market Demand and Skills Trends
Understanding the skills market will help the software developer understand demand and discover skills gaps. Once you have identified the skills you have or desire, it is helpful to compare this to what the market demands. Identifying the gaps allows you to focus your self-development and prepare for opportunities. You want to be ahead of the curve.
Crucial to this process is having up to date information on skills trends. Tech advances, global forces, and resource pressure often change the naming and definition of job titles and skills – new jobs emerge, and old jobs change. Examples would include an ETL developer, now referred to as a Data Engineer, or a Statistician as a Data Scientist.
There are many tools to aid you in this exercise.
The LinkedIn Economic Graph is a digital representation of the global skills force economy. Using the digital map is like tapping into the interpretation of LinkedIn's massive repository of real-time workforce data. It provides one of the best skills taxonomies - which defines and describes current and emerging skills.
The LinkedIn Career Explorer is the best way to interact with this powerhouse. Enter the desired job title, and a list of matches is displayed. It may indicate job titles that may be relevant to the skillset as well as areas of potential skills development. It is an excellent way to keep abreast of the trends in job descriptions and the appropriate skills expected – enabling you to focus your skills development.
There are also open-source skills taxonomies available. ESCO is a library developed by the European Commission, and the US department of labour sponsors O*NET. These resources provide regional specific skills definitions, but they may align to broader global trends.
The Microsoft Work Trend Index is another excellent resource. The insights and reports presented draw upon labour data in Microsoft 365 and Linkedin – combined with expert qualitative research. The tailored information provides megatrends describing the direction software development may be headed. This combination of vast labour data and expert industry research offers a good foundation for reliable trends.
You are probably familiar with Google Trends – especially if you are involved with SEO. This is a free tool to analyse google search queries across Google Search, Youtube, Shopping and Images. Think of it as a way to explore the trends concerning what people are searching for in real-time.
This tool can even be used for monitoring jobs and skills trends. For instance, using the tool to compare the search terms 'Remote work' and 'Office work' yields interesting results. Since the pandemic hit, one can see an increase in interest in 'Remote work' and a decrease in interest in 'Office work'. This correlation may indicate a trending shift in work patterns. Trends can be focused on a particular region or category, such as 'Jobs and Education' – which makes the service even more powerful.
Gearing to be future-fit in this way should be a rewarding and fun exercise. You have the tools and resources – and with the right focus – you can pursue self-development and more opportunities. We all strive for improved quality of life – which may mean different things to different people. Software development opens you to work-life balance, personal growth, and sustainable living opportunities. Maybe someday, being future-fit may mean anything we wish it to be in this world.