Software Engineer
Overview
The role focuses on building next-generation scalable systems that manage capture bandwidth efficiently and minimise user interaction. The engineering team is working across areas such as internet traffic reduction, programmable switches, communication protocols, system control logic, and monitoring.
Team Culture
The environment is collaborative, learning-oriented, results-driven, and customer-focused. Agile and Scrum methodologies are followed, with exposure to a wide variety of technologies and opportunities to work with subject matter experts.
Key Responsibilities
Execute full life cycle software development.
Translate requirements into software architecture and design.
Write well-designed, testable, documented, efficient code.
Integrate software into hardware and existing platforms.
Develop software verification plans and quality assurance procedures.
Document and maintain software functionality.
Act as subject matter expert.
Ensure compliance with project plans and industry standards.
Requirements
Proven experience with C / C++ or GoLang.
Proficiency in Linux-based systems and shell scripting.
Familiarity with source control procedures and systems (preferably Git).
Personal Attributes
Innovative problem solver, critical thinker, detail-oriented.
Strong communicator, able to challenge and contribute during design reviews.
Self-starter, motivated, and collaborative.
Beneficial
Masters degree with 5+ years of experience.
Knowledge of telecommunications technologies.
Exposure to Java, P4, VHDL, GRPC, Thrift, Grafana.
FPGA design experience.
Familiarity with Agile development and release processes.
Tech Environment
C++ GoLang Java Grafana Elasticsearch Salt Proxmox Jenkins Git MySQL PostgreSQL GRPC Thrift P4
Senior Software Engineer • Stellenbosch, South Africa