Less noise, more data. Get the biggest data report on software developer careers in South Africa.

Dev Report mobile

How to Improve Your Coding Skills as a Junior Software Developer

25 February 2022 , by Marcelle van Niekerk

Landing your first job as a software developer can be difficult if you don’t have work experience to prove your skills. However, there are plenty of steps you can take to brush up your coding skills before you step into your first role. Here’s how you can set yourself up well to start learning new skills, practice for a coding assessment or interview, and get the support you need from your developer network.

junior software developer skills, coding assessment, coding interview
developer network

Do research and reflect on your interests

There are countless languages, frameworks, and tools to learn in tech. To avoid feeling overwhelmed by options, it’s crucial to start with research to understand which skills are currently in demand in the market.

(Of course, there’s nothing wrong with just learning something for the fun of it!)

How to go about it:

  • Read in-depth data reports on current tech trends:

    • Tech reports and white papers with robust data sets and published methodologies are a good start. Many institutions publish such reports, including OfferZen!
  • Look up public information about companies and roles:

    • Look up companies you'd want to work for, the tech stack they use, and the breakdown of roles that they advertise. This will give you a good idea of which skills they’re looking for.
    • As part of this, do broader research into the specific role you’re interested in, and compare job descriptions so you get a good understanding of it (for example, the difference between a data analyst and a data engineer).

"Don’t say you’re interested in every role, narrow it down. A hiring manager wants to see that you know what a specific role involves, and that you’re genuinely interested in that role."

- Sam Henry, OfferZen Talent Advisor

  • Ask trusted people in your network with practical experience:

    • Reach out to senior developers for advice. Ask them what it's like to work with the tech stack you want to learn on a day to day basis, and what your career prospects are like in that field.
  • Reflect on what you’ve enjoyed in the past:

    • Think back to what you’ve enjoyed doing in the past to help you decide the next step forward. For example, If you’ve completed relevant formal education or courses, ask yourself which projects you enjoyed the most while studying, and why.

Reports: You can check out OfferZen’s latest reports on tech trends for South Africa and the Netherlands. Search for more reports in other regions or fields you’re interested in.

Understanding the tech ecosystem: This cheat sheet from StackOverflow is useful to better understand modern technologies.

Company information: You can look up detailed company information (which include tech stacks and perks) by searching OfferZen’s company directory and the company’s own website or job posting.

Always Be Coding

You’ve done your homework — now what? It’s time to put your research to practical use by getting stuck in the code.

You can read a lot of theory, but being a developer is practical: it’s best to learn by doing. Check out some of these resources below to get started.

Besides any reading, tutorials or online courses you might be doing, make sure your learning comprises of the following:

Practice coding assessments

A coding skills test is almost always part of the interview process. Given how in demand software developers are, you will likely also need to juggle a few assessments at the same time.

Practising assessments will help you know what to expect, get through your assessments faster, and guage where there are gaps in your knowledge so you can go back and fill them.

How to go about it:

Practice different types of common coding assessments:

  • Online assessments and take-home projects are two of the most common types of assessment you’ll encounter when interviewing.
  • To get better at take-home assessments, do as many of your own projects as possible — it will allow you to practice many of the same skills.

Practice timed assessments: When you do online assessments for employers, they will likely give you a time limit. Give yourself 90 minutes to complete online assessments and get in the right mindset.

Know when to practice assessments: A good time to practice tech assessments is during your first week of interviews. This often involves introductory and non-technical screening calls. Practising during this time allows you to brush up on your skills in time for the second-round interviews, which will likely involve tech assessments.

Get feedback on your code: Ask a senior developer to have a look over your code and give you feedback on what to improve.

"Once you start working on different projects repetitively, you find out that the logic behind most of the assessments is actually the same, and that there’s a standard way of building things well — no matter what tech stack you use."

- Owen Phakade, Platform Engineer at OfferZen

These are some coding assessment tools commonly used by employers, or where you can practice the type of tests you’ll typically encounter:

How to prepare for a coding interview

Prepping for a coding interview involves more than just practising assessments. Always keep the following tips in mind:

Explain your thinking: When you submit assessments during the interview process, explain how you arrived at your answers. Companies are often more interested in the way you will solve problems on the job, and this gives them a great indication of your reasoning skills — even if a specific answer might be wrong.

Brush up on best practices as a developer and common coding principles that are likely to come up in the interview process. See more information on what this includes below.

Ask for feedback if you’re not successful: It might feel scary, but prompting companies for feedback on your application will give you concrete pointers on where to improve. It will also make you stand out for future opportunities at the company.

Read more: How to Ace Your Next Coding Interview

Add more projects to your portfolio

If you lack work experience, one of the best ways to prove your skills to future employers is to share your passion for coding in a portfolio. While it’s mandatory to complete a tech assessment from an employer, a portfolio of your own projects helps you stand out and get your foot in the door.

"Showing your growth is really important. A portfolio of projects allows you to demonstrate that you’re always busy learning. It shows you’ve got the ability to spot problems and come up with creative solutions, which is really attractive to a hiring manager."

- Melishia Ebersohn, OfferZen Talent Advisor

On top of this, completing projects will help you spot your knowledge gaps and prioritise what you need to learn next.

"The most important thing about programming is understanding context, or where you’d be using a feature. To do that, you need to spend time on the application of the tech stack you’re learning. While tackling projects, I would often come across something I didn’t know. I’d then go read more and do a short course on that topic, and that accelerated my growth."

- Owen Phakade, Platform Engineer at OfferZen

How to go about it:

Build something that you’re curious about or that can solve a problem you have: Make a list of ideas that excite you, and dive straight in trying to build it. Think about problems you’re currently experiencing in your day to day life, and how you can build something to address it. A similar idea might exist already, but your aim should be to see how much you can build yourself.

Gather some inspiration from projects devs in our community have tackled:

If you get stuck, become an expert at Googling: You might have seen memes about developers spending most of their time Googling solutions and that is not far from the truth! You almost never have to reinvent the wheel. Knowing how to use Google effectively will be majorly beneficial. StackOverflow is a popular website for questions and answers.

Improve an existing project: Another option is to pick a project that another developer has built, and see how you can improve it. For example, make use of open-source projects that you can further adapt.

The only thing you shouldn’t do is simply replicate building an existing project as is, says Owen.

"It’s all about training your problem-solving abilities and your critical thinking skills. When you start working, you come across problems you’ve never solved before. Completing a project trains your brain to be resilient and be more patient when tackling problems."

- Owen Phakade, Platform Engineer at OfferZen

  • You can host your projects on GitHub, whilst Heroku is a great tool to deploy your code.
  • Consider setting up a blog or website for your portfolio, to easily market all your work to potential employers.

Coding best practices and common principles

Regardless of which tech stack you want to master, read up on some best practices and principles that are common to all developers. Companies want to know how fast you’ll be able to ramp up in the workplace. Showing that you know the foundations will go a long way to stand out among other candidates.

How to go about it:

Read up on the following best practices as a developer – and wherever possible, incorporate it into your projects to practice whilst coding. Some best practices include:

  • Version control (using Git and GitHub).
  • The importance of testing which can be achieved using frameworks like test driven development (TDD) or behaviour driven development (BDD).
  • Agile team practices.

Learn the following common coding principles:

  • Object-oriented programming
  • Algorithms and data structures

Read other people’s code: Go through the documentation and the code of projects you’re interested in on GitHub and StackOverflow to pick up how other developers incorporate these principles into their code.

Ask a friend or online community to review your code: Ask another developer with more work experience to assess your code, and give you feedback if it aligns to best practices.

  • Read more best practices that are universal to all developers regardless of experience level.
  • Read more about object-oriented programming.
  • Read more about the seven most important algorithms and data structures you should know as a junior software developer here.

"Starting off with learning best practices will help when companies are assessing your codebase. It allows them to see if it’ll be easy to incorporate you into their working environment."

- Owen Phakade, Platform Engineer at OfferZen

Network with other developers

Getting involved in the coding community will help you pick up on new trends that’s exciting to other developers. In addition, you will pick up tips on how to upskill, and it’s an important way to build your network at the start of your career. Of course, it’s also just fun to meet people that share your interests!

If you’re teaching yourself how to code, it's even more important to add a social aspect to your learning. Learning by yourself can quickly become demotivating and isolating — counter that by getting involved in the community online and in-person.

How to go about it:

Commit to getting involved: Make attending in-person or online events part of your learning plan, and slot the details into your calendar so you don’t forget.

Help others learn: You’re there to learn, but don’t forget that you can also help others! Be active where other developers are asking for help on their code, work through the problems and share your proposed solutions. This not only gives you the opportunity to practice your skills, but also gives your credibility a boost within these communities.

  • Search meetup.com for specific events and conferences you’re interested in.
  • Join relevant Slack channels, Discord servers, and groups on GitHub and StackOverflow.
  • Search Reddit for specific subreddits on the tech stack you’re interested in.
  • Search LinkedIn and Facebook for relevant groups to join. LinkedIn is especially useful for growing your professional network.
  • If you have a formal education background, don’t forget about relevant Alumni groups!

Get a mentor

A dedicated mentor will help make the steps mentioned previously easier. They can help you prioritise which tech stack to learn, check your code for errors and improvement, and give guidance on the next steps for your career.

"As a starting point, a mentor will also give you insight into the day-to-day of a programmer: the upsides, and downsides, so that you can make crucial decisions about your future. Get someone who’s been in the industry for a long time, and is willing to dedicate the time to answer all your questions."

- Owen Phakade, Platform Engineer at OfferZen

Remember that it's a two-way street to make this relationship work. Reach out regularly to check-in, and be open to any constructive feedback your mentor might have.

How to go about it:

Reach out to experienced developers in your network: Make note of senior developers who are working with the tech stacks you want to learn — you will likely pick up plenty of contacts if you attend events and get involved in the developer community!

Don’t be afraid to simply reach out for advice on LinkedIn, email, or whichever community you’re involved in, even if you don’t know the person (yet). The dev community is tight-knit, and senior developers often want to improve their mentorship capabilities as well — you have nothing to lose by trying.

Look into existing mentorship programmes: Look up established mentorship programmes that can match you to a suitable mentor.

Check out Project Thrive, OfferZen’s mentorship programme that matches experienced developers who are looking to pay it forward to mentees who want to level up in their careers.


Lastly, the more of these steps you put into practice, the faster you will grow as a software developer — doing your research, practising coding assessments, tackling some projects and growing your developer network will help you become a kick-ass developer in no time!

Read more:

OfferZen_Thrive-Blog-Article-Banner_August-2022-copy-2@3x-2

Recent posts

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.