The national average in the US for junior software developers is $64,949 per annum, states Glassdoor. Not only are their salaries really good, but developers are also in high demand. According to the US News 2018 rankings, ‘software developer’ was announced as the #1 job this year. It’s a career that requires problem-solving, creativity, analytical skills, as well as knowledge of current technical tools and practices. But on a day-to-day basis, what do junior developers actually do?
Nasreen Mahomed works at a tech company as a junior software developer. She, together with her teammates, is responsible for ensuring the smooth running of the company’s content management system. Because it’s a smaller company, she needs to know how to do everything on the system. Says Nasreen: ‘Every day is different. We don’t have a routine. Most days are spent fixing other people’s code, because the system is already up and running. We’re not putting it together from scratch.’
Besides fixing software code, Nasreen and her colleagues are involved in fortnightly sprints. The term ‘sprint’ is a software development term that comes from Agile Project management, a method of using short development cycles for constant improvement. Sprints begin with planning meetings to decide on the highest-priority features that need to be implemented.
‘We have a test server,’ explains Nasreen, ‘and so every two weeks we do a live push from the test server to the live server. In those two weeks, we’re expected to makes lots of fixes to the site that can then go live.’ She cautions that, as a software developer, you have to be able to work well under pressure. ‘Like most jobs, the stress waxes and wanes. Live pushes are certainly pressurised times. If there are problems, you need to keep a cool head and fix it quickly.’
Coding Degree vs. Coding Bootcamp
Even though Nasreen studied computer science at university, many of her colleagues did not. Mostly, they completed bootcamps or, if they were particularly comfortable with independent learning, taught themselves. ‘The thing about a university education,’ says Nasreen, ‘is that you learn one programming language very intensely. However, my job environment is not like that. I’m frequently fixing other people’s code, and not starting projects from the ground up. I need to be able to do lots of different things.’
Typical day-to-day tasks for Nasreen might include the following:
- Deploying new code that must be added to existing systems.
- Testing – application features should be tested before going live.
- Meeting with relevant people, including other programmers, managers, and other divisions of the company – e.g. marketing or human resources.
- Staying up to date via RSS feeds or online community sites.
What does Nasreen recommend?
She recommends a coding bootcamp to provide a broad overview of the software industry, as well as a set of applicable skills. ‘Once you finish your training, you will learn a lot on the job,’ Nasreen explains. ‘Frankly, I never stop learning. I spend a great deal of my time doing research, particularly on Stack Overflow, an online community for programmers to share their programming knowledge.’
Even though coding can be a high-pressure environment, Nasreen is very happy with her chosen career. ‘At the end of the day I feel satisfied,’ she states. ‘The work is stimulating, my skills are in high demand and I know I’m making a real difference to customers’ experiences via my coding abilities. It’s also very gratifying to see instant results after we’ve completed a sprint and a live push. You get the opportunity to see that something has worked.’
If you’re keen to know more about the typical day in the life of a software developer, check out this video.