Software Engineer (supporting a hardware team)

Who are Opibus?

Opibus are a team of engineers, technicians, and like-minded people working towards the common goal to accelerate the transition towards sustainable transport and energy solutions in East Africa by introducing new technologies and reshaping industries.

We are developing, producing, and installing electric drive trains for a range of vehicle applications to provide clients with a powerful, cost-effective and environmental friendly alternative to running vehicles on diesel. Together with distribution and commissioning of charging infrastructure as well as on/off-grid PV systems Opibus can offer the complete solution for sustainable transport and power needs in East Africa.

We're based in Nairobi and Kenya is the first country we have started this journey within.


The role of Software Engineer is a hugely exciting and unique role within Nairobi.  The role plays an important part in Opibus' product line underpinning the operation of our EVs.  Our C++ based codebase runs on Rasbian OS and utilises the industry standard CAN bus protocol to communicate with the car's sensors.  This year we are planning to build upon what we have to improve the usability, the power, and the configuration opions within our cars to provide more options to our customers and optimise the time it takes our engineers to set up each components.


What is this job like, according to Harry, a former Opibus software engineer:

"At Opibus you have great autonomy to do the things you think need doing.  As a team we achieve a lot together making the world a cleaner and more sustainable place, and as part of this the software is incredibly really can sync in with so many different areas and skills that you'll always be challenged, and constantly learning."


Key responsibilities

  • Product development of our software systems
  • UI assessment and improvements both with our sales team, clients, and internal quality engineers
  • Support and maintenance of existing systems
  • Testing and QA
  • Work with mechanical and electrical engineers to bring software improvements that benefit our processes


Essential skills and experience

  • C++
  • Raspberry Pi / Rasbian OS or Linux
  • CAN bus
  • Git and CI
  • Enjoy autonomy
  • A few years of experience managing codebases
  • Strong documentation skills

Bonus qualities

  • Qt
  • Working with multiple engineering disciplines
  • QA
  • GitLab
  • Hardware engineering