Skip to content

Junior Software Engineer
2024 Application

Location: Cape Town

What Being a Software Engineer Means to Us

We feed our Software Engineers coffee and doughnuts which provides the fuel they need to produce high-quality software that solves very real problems.

It’s important at this point to note that we call you “Software Engineers” and not “Developers”, “Programmers” or “Coders”. Why? Because you won’t just code up something that’s been designed. You will help us Engineer a solution. You are part of the solution. Part of our world-class team.

You’ll engage with customers, identify their operational challenges and build clever software to solve those challenges. Supported by our experienced teams, you’ll help to drive the prolific spread of fast, reliable Internet access throughout Africa. You’ll work with Internet Service Providers (ISPs) like MWEB, Vox, Cybersmart and Frogfoot.

You’ll help implement solutions using SOLID, our business automation platform, to enable our customers to deliver Fibre, Satellite and other Internet-based products. You’ll work with a variety of software technologies like Mobile Apps, GIS Mapping, Network Integration, Hardware Provisioning and Mobile Money payment platforms.

Bottom line – You’ll make a difference.

Job Description

  • Design and develop high-quality Java applications using cutting edge technologies for Object Relational Mapping, Caching and Service-Oriented Architecture
  • Work with our experienced Software Engineers and learn from our dynamic team
  • Learn about implementing scalable, robust, maintainable software using design patterns and object-oriented principles

Desired Skills and Expertise

Required Technical Skills:

  • Good understanding of the Java programming language/syntax
  • Exposure to or good understanding of HTML/CSS and Javascript
  • Experience with SQL and RDBMS database concepts and design
  • Exposure to Object Relational Mapping (e.g. Hibernate, EJB3)
  • Exposure to Java servlet containers (e.g. Tomcat, GlassFish, Jetty)
  • Experience with Java IDEs (e.g. Eclipse, IntelliJ, Netbeans)
  • Practical database experience (e.g. MySQL, Oracle, MS SQL)
  • Good English writing capabilities and communication skills

Some Recommended Technical Skills:

  • Exposure/understanding of version control and the software development lifecycle in a team environment
  • Exposure to Linux (e.g. CentOS, UBuntu, Fedora, RHEL, openSUSE, Debian)
  • Good understanding of Internet and LAN/WAN technologies
  • Exposure to accounting and business concepts

You as a Person:

  • Must be willing and able to learn new technologies
  • Excellent technical skills and a hunger to learn more
  • A good understanding of broad business processes and principles
  • Excellent communication skills & good interpersonal skills
  • Able to work independently as well as part of a team
  • Dynamic self-starter: highly motivated / enthusiastic / energetic
  • Analytical and objective, with attention to detail
  • Hard working and keen to take on new challenges as part of the team that does so every day

* Candidates must have a valid South African driver’s license


Working at SOLID isn’t easy. It isn’t a ‘free ride’. It is detail-oriented. It’s a work-directly-with-the-customer-on-something-that’s-never-been-done-before type job

Working at SOLID is also about a lot more than just being able to code. We value things like creativity, good communication, attention to detail, confidence, critical problem-solving. Being a quick learner and a good team player are also important.

It is important to us that we help you to grow as a working professional and Software Engineer – to be the best that you can be. So we strive to achieve that on a daily basis.