We are seeking a skilled and experienced Software Developer to join our dynamic team. The successful candidate will be responsible for translating detailed designs into robust, quality software through programming and configuration. This role involves developing critical and complex technical components, ensuring that all software is supportable, maintainable, observable, and scalable. Additionally, the Software Developer will provide guidance and mentoring to junior developers, troubleshoot software issues, and contribute to continuous improvement initiatives.
Key Responsibilities
- Produce high-quality, working software that meets design specifications.
- Develop and implement critical and complex technical components within your area of accountability.
- Design system components that are robust, fault-tolerant, supportable, maintainable, and re-usable for large, complex systems.
- Deliver software that is observable and scalable.
- Estimate work effort accurately.
- Troubleshoot and resolve software issues, providing guidance to other team members.
- Produce comprehensive documentation according to organizational standards.
- Continuously improve software functionality and performance.
- Provide maintenance and support for software within your area of accountability.
- Develop and execute unit and system test cases.
- Create and manage deployment artifacts in source control libraries.
- Manage deployment packages and their execution.
- Optimize tool changes in collaboration with Biz/Dev/Ops Engineers.
- Update and control the asset knowledge base.
- Ensure seamless integration of your work with other team members and across teams.
- Collaborate with designers, product owners, and engineering leads to refine solutions.
- Contribute to the decomposition of system solutions into manageable component parts for development.
- Support the achievement of the business strategy, objectives, and values.
- Stay abreast of advancements and developments in the field of expertise.
- Foster personal growth and enable effectiveness in role responsibilities.
- Contribute to Banks culture-building initiatives.
- Participate in and support corporate responsibility initiatives.
- Identify opportunities for business process, model, and system improvements through agile thinking.
Required Skills and Qualifications
- Minimum 5 years of practical experience in business process analysis.
- Minimum 5 years of practical experience working with IBM BPM/BAW or Camunda (modeling, automations, orchestration, deployments, monitoring).
- Minimum 5 years of software development experience with Java/Spring Boot, REST APIs, and microservices.
- Hands-on experience in IBM BPM/BAW or Camunda 7/8 delivery, including BPMN/DMN modeling, external task workers, incident handling, and deployment/operation.
- Proven experience modeling and deploying workflows in IBM BPM/BAW or Camunda Modeler and integrating them with custom UIs.
- Practical integration experience with event streaming platforms like Kafka or Confluent.
- Minimum 2 years of practical experience analyzing processes to identify automation opportunities.
Technical/Professional Knowledge
- IBM BPM/BAW
- Kafka/Confluent
- Experience with functional and performance testing
- Workflow modeling and deployment in Camunda Modeler with custom UI integration
- AI-enabled workflow optimization
- Publishing/consuming events via Kafka/Confluent
Essential Qualifications
NQF Level Diploma in Computer Science, Information Systems, or Software Engineering.
Essential Certifications
Preferred Qualifications
- Bachelor's degree in Computer Science, Information Systems, or Software Engineering.
Skills
GIT Java REST APIs performance testing Microservices Functional Testing JSON CI/CD Spring Boot BPMN 2.0 Business Process analysis solution design kafka Camunda Azure DevOps Pipelines Incident Handling Camunda Modeler IBM BPM/BAW Java 11+ Confluent Camunda 7/8 Deployment/operation External task workers BPMN/DMN modeling Custom UIs Process analysis for automation Event consuming AI-enabled workflow optimization Data-driven decision automation Workflow modelling Event publishing Banking domain knowledge