Principal Software Engineer


The Cloud Native Developer and Security Operations Company.

Job Description

We are looking for an experienced Principal Software Engineer to join our Professional Services team. You will build software solutions across a multitude of domains, ensuring that each project is done with scalability, maintainability, performance, security, and operational excellence in mind. You will be expected to fill the role of a technical lead on projects while providing guidance and mentorship within the team. You will work closely with the Scrum POs, Engineering Managers and Directors to ensure quality across all projects Deimos participates in. You will collaborate with other leads to constantly improve our processes, technologies, and architectures.

This role does not entail managing people directly, but it does entail managing the quality of the work output at Deimos. You will report to a Senior Software Engineering Manager who is on a mission to deliver high-value projects built to the best of our ability.

What you will be doing:

  • Design, implement, deploy and document robust, scalable, maintainable, high performing and operationally excellent software solutions.
  • Build distributed services that will be containerized in a docker environment.
  • Lead the decision-making for choosing and implementing new tools, frameworks, and processes.
  • Direct the technical implementation of complex architectures.
  • Write and maintain comprehensive unit tests.
  • Design API interfaces for services.
  • Debug, test, review, and write code that is idiomatic and efficient.
  • Apply security best practices.
  • Provide mentorship and guide the team on best technology practices to be followed and contribute to their technical development.
  • Collaborate with the leadership team to constantly improve the software engineering practices at Deimos and foster a culture of engineering excellence.

What you must have:

  • At least 7+ years of experience in software engineering.
  • Minimum of 2 years of experience leading software engineering teams.
  • Highly proficient in multiple server-side languages such as DotNet, Python, Java, and Go.
  • Familiarity with fundamental front-end languages such as HTML, CSS, and JavaScript.
  • Proven experience with modern front-end frameworks such as React.
  • Strong background in database technologies such as MySQL, PostgreSQL, and MongoDB.
  • Excellent knowledge of, and proven experience with, cloud-based technologies such as AWS, Microsoft Azure, and Google Cloud.
  • Demonstrated background in building microservices and decomposing monolithic applications.
  • Proficiency in building highly scalable, highly available systems.
  • Proven ability to work independently and autonomously as well as within a team.

About you

To achieve our ambitious vision together as a team, It is important for our Martians to lead at all levels, be self-starters who take the initiative and put their hands up for challenging tasks. A growth mindset is important to us and we encourage all our Martians to openly share knowledge, support and help each other, ask questions, get creative with new technologies and learn from setbacks.

Becoming a Martian means:

  • Comfortably working and learning from a fully remote, culturally diverse team based predominantly in South Africa and Nigeria.
  • Being an open, honest and respectful communicator.
  • You enjoy asking questions, identifying areas of improvement and proposing solutions, no matter your job title or whether you have been with us for a day, a month or years!
  • You are comfortable taking initiative and operating independently.
  • You thrive in a fast-paced environment, where change is constant.
  • You find it exciting to work with various clients, from different industries, each with another problem for you and your team to solve.
  • Intentionally sharing tech and industry trends that excite you with your peers.
  • Seeking continuous feedback and actively taking steps to continuously grow personally and professionally.

Want to know what you get by joining us?

  1. Become a member of a team where we value each individual’s contribution from day 1 and empower you to make suggestions, get involved and do what you love most!
  2. Flexibility and the freedom to work from anywhere and feel you thrive best.
  3. Work-life balance where you are not expected to work over weekends or after hours.
  4. A forward-thinking remote company that knows how important it is to stay connected as one team, by providing social platforms for employee engagement, virtually or in person.
  5. A monthly work-from-home allowance which you can use to set yourself up to work comfortably from home. Whether that is pens, notebooks, new headphones or work snacks!
  6. A MacBook or Windows laptop for you to do your best work on.
  7. Become part of a team of exceptionally clever and talented people who like to share their knowledge and learnings.
  8. We support your career growth and love setting you up for the future! We want you to succeed and will continue to support you, even after you leave.

Are you looking to sharpen your Software Development skills to stay relevant in the market? CLICK HERE to have a look at the top schools.

For all your IT certification needs, please, click here for information on how to get started

To apply for this job please visit

Job Overview
Job Location