Software Engineer (Java)

IT – Software Development
Stellenbosch – Western Cape

A prominent company specializing in state-of-the-art Telecommunications Solutions based in Stellenbosch is in search of a Software Engineer. The role entails collaborating with cross-functional teams to create user-friendly interfaces and application server components that support data organization, exploration, analysis, visualization, GIS, and workflow. The ideal candidate should possess a minimum of a B.Sc. in Computer Science, B.Eng., or an equivalent qualification, along with 2 to 5 years of pertinent experience in a related role.
  • In this role, you will work with cross-functional teams to develop intuitive and user-friendly interfaces and supporting application server components for data organisation, data exploration, data analysis, data visualisation, GIS, and workflow.
  • Pay attention to requirements, design, and user experience to produce a flawless product that encourages user adoption and satisfies customers.
  • Demonstrate great passion for developing robust, reliable, high-throughput systems used by hundreds of expert operators, analysts, and administrators.
  • Help us strengthen their position  as an industry leader by providing insight into telecoms big data delivered by large, distributed processing systems, technology advances and software architecture design.
Tech Stack:
  • Java
  • Java FX
  • Eclipse RCP
  • jBPM
  • gRPC
  • grpc-web
  • Maven
  • GIT
  • JIRA
  • OSGi
Qualification & Experience Required:
  • Minimum B.Sc. Computer Science, B. Eng or equivalent
  • Minimum 2 -5 years’ relevant experience in an aligned position
Skills & Knowledge Required:
  • Full stack UI development
  • Familiar with UX interaction design process with familiarity of user research, personas, and information architecture
  • Experience in automated test development and processes to support continuous integration
  • Experience in multithreaded performance centric design
  • Experience in deploying solutions to production, providing support and maintenance, dealing with user and support feedback, and troubleshooting to rapidly solve problems
  • Experience in design and development for distributed service-oriented architectures and asynchronous messaging
  • Experience in integration of diverse systems in a service-oriented architecture
  • Dependency injection
  • Refactoring skills
  • Semantic versioning
  • Software development effort estimation and planning
  • Application of SOLID design principles and principles of modular application architecture
  • Innovative, solving tough problems and revealing unique solutions.
  • Detail orientated approach that seeks to gain a deep understanding of the domain.
  • Possess excellent verbal and written communication skills to promote collaboration and enhance teamwork.
  • Aspire to learn new skills and research to gain knowledge.
  • Takes initiative, prioritizes his or her time and works independently with little need for supervision.
  • Desires to improve and drive change that leads to higher quality and productivity for the whole team.