Your key job responsibilities as the Senior Software Engineer in Cape Town:
- Create high-quality, consistent solutions adhering to best practices
- Engage with both technical (architects) and non-technical (business) stakeholders
- Propose and execute efficient business and technical goals
- Foresee requirements and develop software in a flexible, scalable manner
- Effectively communicate issues, risks, and dependencies with line managers, escalating when necessary
- Operate within an agile environment by actively participating in and contributing to agile ceremonies
- Assist in breaking down tasks from business requirements into technical solutions
- Facilitate the teams understanding of technical requirements, ensuring a consistent velocity
- Document solutions and support others in their documentation efforts
- Provide constructive and effective communication, showcasing a passion for mentoring team members and participating in peer reviews
- Accurately track time within provided systems on a daily basis
- Fulfill sprint commitments
- Contribute to team planning, discussions, and solution designs
- Seek guidance from and offer support to your line manager
- Provide accurate progress reports within the systems and directly to your line manager
- Articulate technically complex topics to developers
- Convey technical concepts to the business unit (Product or C-level)
- Condense intricate technical subjects into concise summaries
- Proficient in UML modeling
- Expertise in JDK latest LTS, including JIT Optimization and JPMS
- Hands-on experience with Spring Cloud, covering Configuration, Discovery, Stream, Integration, and Gateway and in-depth knowledge of Spring Data, encompassing JPA, RDBMS, Ansi SQL, Normalization, Indexing, NoSQL, Caching, Flyway, and Spring Security
- Mastery of Spring Boot, including Observability, Testing, AOP, Validation, AOT for GraalVM using buildpacks, JAXB, and Eventing
- Proficient in Spring Web, managing both Sync and Async controllers
- Skilled in IntelliJ, with expertise in debugging procedures, refactoring, and optimization
- Experienced in Maven, particularly in a multi-module environment
- Proficient in Git, with experience in sharing a repository with 15+ active developers, branch management, Git hooks, Gitlab CI, and Gitlab Environments
- Familiarity with Cloud technologies, including GKE K8s, ArgoCD, Scale to zero, Observability, and Alerting (beneficial)
- Front-end knowledge (beneficial), including VueJS, Angular, Typescript, Promises, Observables & RxJS, Webpack, and Testing frameworks