Stellenbosch, Technopark - A leader in mission-critical industrial data acquisition and communication systems to Utility Companies and the Renewable Energy industry is seeking to employ a Software Engineer who thrives in collaborative, agile environments to join their team.
Key Functions and Performance Areas Include:
- Develop and maintain scalable full stack applications that support both internal and external business processes.
- Work within a DevOps culture, advocating for automation and monitoring at all steps of software construction, from integration, testing, releasing to deployment, and infrastructure management
- Collaborate closely with operational teams to ensure developed solutions meet practical business needs and are deployed effectively
- Participate in ongoing design, implementation, and maintenance of systems across functional teams
- Continuously improve software engineering practices, encouraging innovation and refactoring
- Actively participate in troubleshooting, debugging, and updating current live systems.
Technical Competencies and Experience required:
- Minimum 3-5 years of experience in a similar role and environment
- Bachelor’s degree in Computer Science, Electronic Engineering, or related fields
- Solid experience in both front-end and back-end development, including strong proficiency in JavaScript and modern frameworks (e.g., Angular, React, Node.js)
- Additional programming experience in C#, Java, or Python.
- Demonstrable understanding and working experience with HTML5 and CSS3 to create sophisticated, modern web interfaces.
- Demonstrable grasp of Object-Oriented Programming (OOP) concepts and SOLID principles, with a proven ability to design highly scalable and maintainable code.
- Experienced with both SQL and NoSQL databases, and proficient in integrating with various web servers
- Solid understanding of web application architecture and RESTful API design principles
- Practical experience with Redis/ElastiCache for effective caching solutions and Apache Kafka for real-time data feeds and event streaming
- Knowledgeable in automated testing and proficient with continuous integration and continuous deployment (CI/CD) tools
- Strong understanding of cloud services and infrastructure as code principles
- Proficient with Docker for containerisation and Kubernetes for orchestrating containerised applications, enhancing scalability and deployment efficiency.
Desirable additional skills and experience include:
- Experience in managing full lifecycle of a product from development to deployment and operations
- Knowledge and experience in industrial IoT data collection and analytical systems including machine learning
- Background in data collection systems for the utilities or renewables industries
- Familiarity with wide area networks and satellite or cellular communication technologies
- A visual thinker with excellent analytical and problem-solving ability
- Self-driven and highly self-motivated, with a sense of pride in your work
- A passion for technology and staying abreast of new developments
- Customer-focused approach
- Open, honest, and respectful demeanour
Company culture and benefits:
- At our company, you'll become part of a dynamic team that seamlessly integrates cutting-edge technology with operational know-how to produce outstanding systems
- Thrive in a DevOps-oriented environment that supports your professional growth and encourages learning new technologies
- Access to continuous learning opportunities, including conferences, workshops, and online courses to foster your personal and professional development
- Competitive compensation, profit-sharing opportunities, and flexible working hours
- Enjoy a vibrant company culture that values the contribution of each team member.