Becoming a Software Engineer
What software engineers actually do, which skills get people hired in Botswana, and the routes in that work without a computer science degree.
What the job actually involves
Software engineering is mostly reading, not writing. Most working engineers spend more time understanding code someone else wrote, and why it was written that way, than producing new lines of their own. The job advertisements do not say this, and it is the single biggest gap between what people expect and what the work is.
The second gap is that the difficulty is rarely technical. Deciding what to build, agreeing on it with people who want different things, and shipping it without breaking what already works, is harder than any algorithm you will be asked about in an interview.
In Botswana specifically, the market splits into three: in-house teams at banks, insurers, mobile operators, government and the parastatals; agencies and consultancies serving clients abroad; and remote roles contracted directly with foreign employers. They pay differently, teach differently, and want different things from a junior.
It is also a small market, and worth sizing before you plan a career around it. Information and communication employed 6,043 people at the last official count, which is 0.8% of everyone in work. The detail is in the size of the ICT sector.
A typical week
A typical week is less code than most people expect. Roughly: a day of actual feature work, a day of reviewing other people's changes and responding to reviews of your own, a day of investigating something that broke or is about to, and the rest in planning, unblocking others and writing things down.
Junior engineers are usually surprised by how much of the job is asynchronous writing. The engineers who progress fastest are the ones who can describe a problem clearly in a message.
Skills required
The skills that get people hired and the skills people study are not the same list. Employers screen for one language done properly, evidence that you can work in an existing codebase, and the ability to explain a decision.
What is assumed rather than tested: Git, the command line, and enough of how the web works to debug a request. Candidates lose offers on these far more often than on algorithms.
Typical career path
- 01Junior engineeryears 0-2
You are given well-defined tasks inside an existing system. The job is to finish them without creating new problems, and to ask early when stuck. Nobody expects architecture from you.
- 02Engineeryears 2-4
You own features end to end, including the parts nobody specified. You start reviewing others' work and are trusted with production.
- 03Senior engineeryears 4-8
You are responsible for outcomes rather than tasks. Most of the value you add is in scoping, in preventing bad decisions early, and in making other engineers more effective.
- 04Staff engineer or engineering manageryear 8 onward
The path forks. Staff engineers go deeper on technical direction across teams; managers take responsibility for people and delivery. Neither is a promotion from the other.
Education options
Works well if you want the fundamentals and the graduate-scheme access that some larger employers still restrict to degree holders. It does not teach you to ship, and graduates routinely arrive unable to use version control.
4 years · Varies widely by institution
The most common route into small firms and remote work here. Works if you can finish things and show them. Fails for people who collect tutorials rather than ship projects.
12-24 months alongside other work · Low; most materials are free
Buys structure and a deadline, which is exactly what some people are missing and a waste for those who are not. Judge one by where its graduates work now, not by its curriculum.
3-9 months · Confirm current fees directly
The strongest route where you can get one, because you learn the parts of the job that are invisible from outside. Scarce, and competitive.
6-12 months
Tools
VS Code · Git and GitHub · Docker · Postman · Linux
Portfolio requirements
A portfolio of three finished, deployed things beats twelve half-built ones. Finished means someone other than you can use it without instructions from you.
What a reviewer is actually checking: does this person write code another human can maintain, do they handle the unhappy path, and can they explain why they built it this way. A clear README does more for you than a second project.
- One project solving a problem you actually had
- One contribution to an existing codebase, however small
- A README on each explaining the decisions, not just the setup
Entry-level opportunities
Junior roles here cluster in a few places, and the employers are few enough to be learned by name: the technology teams at the banks and insurers, the mobile operators, government and the parastatals, agencies doing client work, and the business-process operations that have set up in Gaborone. Remote junior roles exist but are much harder to win without a track record.
Worth knowing before you apply: Information and Communications Technicians are among the ten occupations with the most unemployed graduates on the official count, and the number more than doubled in two quarters. The figures and their source are in how many graduates Botswana produces. This is a field with more qualified entrants than openings, which changes how much a credential alone will do for you.
The practical route most people take is agency or consultancy work first, because those teams hire for potential and expose you to many codebases quickly. See getting paid from abroad for the path after that.
Career progression
Five years in, the question is whether you go deeper or wider. Deeper means a specialism, usually infrastructure, data or a domain like payments. Wider means moving toward product or management.
The most common mistake is taking a management role because it is the only promotion offered. See why most people become managers before they are ready.
Interview preparation
Engineering interviews here vary far more than the internet suggests. Local employers and agencies mostly run a practical exercise plus a conversation about your past work. Remote employers are more likely to run structured algorithmic rounds.
- Be able to walk through one project in detail, including what you would do differently
- Practise talking while coding; silence reads as being stuck
- Ask what the first ninety days look like, and what would make them go badly
Recommended resources
- MDN Web Docs publication · freeThe reference that is actually correct. Bookmark it over any tutorial site.
- The Pragmatic Programmer bookOn the habits of the job rather than the syntax. Ages well.
Frequently asked
Do I need a computer science degree to work as a software engineer in Botswana?
No. Smaller firms and agencies hire on demonstrated ability rather than credentials, and a public portfolio of finished work carries more weight than a transcript. A degree still helps for graduate schemes at the banks, the mobile operators, government and the parastatals, which filter formally more often.
Which programming language should I learn first?
JavaScript, if your goal is employment rather than study. It has the largest number of junior openings here and remotely, it runs in a browser you already have, and it lets you build something visible in the first week. Python is the better first choice if you are aiming at data work.
How long does it take to become employable as a developer?
Twelve to twenty-four months of consistent part-time study is realistic for someone starting from nothing and working alongside other commitments. Full-time and well-structured, six to nine months happens. The variable is almost never intelligence; it is whether you finish and deploy projects rather than collecting tutorials.
Are bootcamps worth it in Botswana?
They are worth it for people who need structure and a deadline, and a waste of money for people who already study consistently on their own. Judge any bootcamp by where its graduates are working two years later, not by its syllabus, and ask to speak to alumni directly.
Can a junior developer in Botswana get a remote job abroad?
It happens, but it is much harder at junior level than the internet suggests, because remote employers are buying autonomy they cannot supervise. The common route is one to two years in a local role or agency first, building a visible track record, then moving to remote contracts.