Hulela Logo
Emergent
Affiliate
Build apps in minutes

Turn ideas into working apps with plain English - no code, Stripe ready.

Get started

Become a Software Developer in South Africa: 6 Steps

Choose a learning route, build proof of skill and plan for your first role

27 Oct 2026, 17:13•10 min read
Image by Pexels

You can become a software developer in South Africa without a computer science degree, but you’ll need to show employers that you can build and explain working software. A sensible route takes about 9 to 18 months of consistent part-time study, followed by a focused job search. Start with one programming language, make projects that solve real problems, and apply for junior roles once you can demonstrate the basics.

The timeline depends on your weekly study hours, access to a computer and whether you already have related skills. A free learning route can keep course costs low, but internet access, data, transport and time away from paid work still count. The six steps below give you a sequence, options available in South Africa and a way to decide whether a bootcamp or formal qualification is worth the cost.

How to become a software developer in South Africa from scratch

Follow six steps: learn the basics, pick a direction, study consistently, build projects, prepare for interviews and apply for suitable roles. You don’t need to master every programming language before applying.

  1. Check your starting point. You need regular access to a laptop or desktop, a reliable internet connection and time to practise. A smartphone can help you watch lessons, but it’s a poor substitute for a computer when you’re writing and testing code.
  2. Pick one beginner-friendly route. If you want to build websites, start with HTML, CSS and JavaScript. If you prefer working with data or back-end services, Python is a reasonable first language. Choose based on the work you want to try, not a promise that one language guarantees a job.
  3. Learn the foundations. Study variables, conditions, loops, functions, data structures, error messages and basic testing. Use Git to track changes and GitHub to share code. Knowing how to explain a bug and the steps you took to fix it matters as much as copying a tutorial.
  4. Build original projects. Make small applications that work from start to finish, then publish the code and a plain explanation of how to run them. A project you can discuss is stronger evidence than a folder of unfinished exercises.
  5. Practise for hiring tests. Work through simple coding problems, read unfamiliar code and explain your decisions aloud. Rehearse questions about your own projects, including what broke and what you would change.
  6. Apply and keep improving. Target junior developer, graduate developer, software support and quality assurance roles that match your current skills. Use feedback from interviews to decide what to practise next.

These steps can overlap. For example, you can start a small project while learning JavaScript, rather than waiting until you feel ready. That makes gaps in your understanding visible sooner.

Choose a learning route that fits your budget

Self-study, a formal qualification and a coding bootcamp can all lead to developer work; they differ in cost, structure and how much support you get. If you can organise your own study and have a tight budget, start with free material and a small project before paying for a course.

Self-study lets you work around a job or family commitments. Free materials from organisations such as freeCodeCamp and The Odin Project can provide lessons and exercises, while GitHub gives you a place to publish code. Their materials are not a South African qualification, and you’ll need to set your own schedule and find help when stuck.

A university or university of technology programme offers structure and a recognised qualification, but it generally takes longer and comes with admission requirements and study costs. Compare computer science, software development and information technology programmes at institutions such as the University of Johannesburg, the University of Cape Town or Durban University of Technology. Programme names, admission rules and fees differ, so check each institution’s own prospectus.

TVET colleges may offer relevant information technology programmes, though the exact subjects and progression routes vary by campus. Ask whether the course includes programming, software projects and work placement, then confirm the qualification and its recognition with the college before paying an application or registration fee. The Department of Higher Education and Training’s official site for information on post-school education is a useful place to start checking the system.

A bootcamp can add deadlines, teacher support and group projects over a shorter period. Fees and course quality vary, and completing one does not guarantee a job. Get the full written price, including any registration fee, equipment, financing charges and conditions for a refund. Ask how much time is spent coding, what you’ll build, and whether you can speak to past students without relying only on promotional testimonials.

For a simple comparison, say you can study for 10 hours a week. That is about 40 hours a month, so nine months gives you roughly 360 hours of learning and practice. A structured course may help you use those hours well, while self-study avoids tuition but puts the burden of planning and troubleshooting on you.

Keep the hidden costs in view. If you pay R400 a month for extra data for nine months, that adds up to R3,600, before any laptop repair, electricity or course fees. Those figures are an illustration, not a forecast of what you’ll pay. Check current course fees with providers and price your own internet, transport and equipment before committing.

Build a portfolio that proves you can do the work

A beginner’s portfolio should contain two or three finished projects that show a clear purpose, readable code and a working result. The projects don’t need to be original inventions; they need to show what you did and what you understand.

For a web development portfolio, build a responsive website for a local community group, a searchable directory of public services, or a simple tool that tracks monthly spending. Include a short readme explaining the problem, features, technologies, setup steps and limits. If you use sample data, say so clearly and avoid uploading private information.

For a Python or back-end route, create a command-line programme or a small application that stores and retrieves information. Add basic tests and document how you handle errors. A project that works only on your own computer is harder for a recruiter to assess, so provide clear setup instructions or a live demo where practical.

Use Git from the start. Make small, meaningful commits rather than uploading one final bundle of files. If you worked with classmates, state which parts you wrote; claiming group work as your own can fall apart quickly in an interview.

Do not spend months polishing a personal website while your actual projects remain unfinished. A plain portfolio with two working examples is a better use of your time than an elaborate design that hides empty code repositories. Include a short CV and a way to reach you, but keep the focus on the work.

How long does it take, and what does it cost?

Many beginners should plan for roughly 9 to 18 months to learn foundations, complete projects and become ready to apply, if they can study consistently. That is a planning range, not a hiring promise. Someone studying full time may move faster; someone fitting lessons around shifts, caregiving or unreliable internet may need longer.

Your total cost can range from low-cost self-study to substantial tuition, depending on the route. Free lessons do not remove the cost of a suitable computer, data or time. Formal study and bootcamps have provider-specific charges, so compare the full amount due rather than a monthly instalment that leaves out fees or interest.

Use a written budget before enrolling. Say a course quotes R24,000, and you also expect to spend R500 a month on extra data for 10 months. Your planned outlay is R29,000 before transport or equipment: R24,000 plus R5,000. If you need to borrow, check the total repayment amount and what happens if you pause or leave the programme.

For student funding, check the eligibility rules and application information on the NSFAS official site, then confirm whether your chosen institution and qualification are covered. Funding rules can change, so verify the details for your own application rather than relying on an old social media post.

For entry-level pay, don’t build a budget around a number copied from an international salary site. South African pay varies by employer, location, role, experience and whether the job is permanent, contract or remote. Compare recent local job adverts that state a salary, and ask recruiters about the full package, including benefits and working arrangements. At the time you’re applying, check current adverts and confirm any offer in writing.

Prepare for South African junior developer applications

Junior vacancies often ask for evidence of programming fundamentals, a relevant technology stack and the ability to work with a team. Requirements vary, so read the actual adverts from employers such as banks, telecoms firms, software companies and public-sector contractors rather than trying to match an imagined universal job description.

Search for titles including junior software developer, graduate developer, web developer, application support analyst and software tester. Support or testing work can be a useful entry point if it includes technical tasks and room to progress, but check the day-to-day duties. A job title alone tells you little about how much coding you’ll do.

Adjust your CV for each role. Put your projects and relevant technologies near the top, then describe your contribution in plain terms. “Built a JavaScript expense tracker with input validation and category totals” gives an employer more to assess than “passionate coder”. Don’t list tools you have only watched someone else use.

Expect to explain basic concepts, read code and discuss a project. Practise describing a problem, your approach, a bug you found and how you tested the fix. You may also be asked to complete a take-home task; agree on its scope and deadline, and don’t share confidential work from another employer.

If you’re choosing between a bootcamp and self-study, choose the bootcamp if you need fixed deadlines, live feedback and can afford the full cost without risky debt. Choose self-study if you can keep a weekly schedule and learn from documentation and online communities. If neither option fits, investigate a formal programme or start with free lessons and reassess after completing one project.

A CV, a public portfolio and interview practice take time, so start them before you feel fully ready. Apply for roles where you meet the main requirements and can explain the projects that support your application. Treat rejection as information, not a verdict: note which skills employers asked about and use that pattern to choose your next lesson.

Make your first move this week

Pick either web development or Python, then reserve five study sessions in your calendar and complete one beginner lesson in each. Set up Git, write down the project you’ll build next and check three South African job adverts for junior roles to see which skills appear repeatedly. If a course asks for payment, compare its full cost with that self-study plan before enrolling.