Software Engineer (Java)
IT – Software Development
Stellenbosch – Western Cape
ENVIRONMENT:
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.
DUTIES:
- 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.
REQUIREMENTS:
Tech Stack:
- Java
- Java FX
- Eclipse RCP
- jBPM
- gRPC
- grpc-web
- MSSQL
- 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
ATTRIBUTES:
- 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.