ENVIRONMENT:

A company situated in Cape Town is in the process of searching for a Senior Software Engineer to become a part of their team. This company specializes in the creation and upkeep of software tailored for clients in the online casino and lottery sectors. In this role, you will be responsible for crafting high-quality and uniform solutions while adhering to industry best practices. This will involve applying concepts such as Object-Oriented Programming (OOP), Test-Driven Development (TDD), Behavior-Driven Development (BDD), Feature-Driven Development (FDD), Software Development Life Cycle (SDLC), Coding Standards, Peer Review, Continuous Integration, the 12 Factor App methodology, DORA Metrics, Enterprise Design Patterns, and Microservices Design Patterns.

DUTIES:

  • Write quality, consistent solutions following best practices utilising OOP, TDD, BDD, FDD, SDLC, Coding Standards, Peer Review, Continuous Integration, 12 Factor App, DORA Metrics, Enterprise, and Microservices Design Patterns.
  • Interact with technical (architects) and non-technical (business) stakeholders.
  • Propose and implement efficient business and technical goals.
  • Anticipate requirements and build software in a flexible, scalable way.
  • Communicate issues, risks, and dependencies with line managers, escalating where appropriate.
  • Function within an agile environment:
  • Attend and contribute to agile ceremonies.
  • Assist with breakdown of tasks from business requirements into technical solutions.
  • Help the team understand the technical requirements, so that they can achieve consistent velocity.
  • Document solutions and assist others in doing their documentation.
  • Communicate constructively and effectively and be passionate about mentoring team members and peer review in person or virtually.
  • Accurately track time within the systems provided daily.
  • Deliver on sprint commitments.
  • Contribute to team planning, discussions, and solution designs.
  • Take guidance from and support your line manager.
  • Report accurately on progress both within the systems and directly to your line manager.

REQUIREMENTS:

Soft Skills

  • Communicate clearly and effectively to all levels of the organisation.
  • Convey technically complex topics to developers.
  • Convey technical concepts to the business unit (Product or C-level).
  • Condense elaborate technical topics into summaries.

Key Skills

  • Modelling:
  • UML
  • JDK latest LTS:
  • JIT Optimisation
  • JPMS
  • Spring Cloud:
  • Configuration
  • Discovery
  • Stream
  • Integration
  • Gateway
  • Spring Data:
  • JPA
  • RDBMS
  • Ansi SQL
  • Normalisation
  • Indexing
  • NoSQL
  • Caching
  • Flyway
  • Spring Security
  • Spring Boot:
  • Observability
  • Testing
  • AOP
  • Validation
  • AOT for GraalVM using buildpacks
  • JAXB
  • Eventing
  • Spring Web:
  • Sync and Async controllers
  • IntelliJ:
  • Debugging procedures
  • Refactoring
  • Optimisation
  • Maven:
  • Multi-module environment
  • Git:
  • Sharing a repo with 15+ active developers
  • Branch management
  • Git hooks
  • Gitlab CI
  • Gitlab Environments
  • Cloud: (beneficial)
  • GKE K8s
  • ArgoCD
  • Scale to zero
  • Observability
  • Alerting
  • Front-end: (beneficial)
  • VueJs
  • Angular
  • Typescript
  • Promises, Observables & RxJS
  • Webpack
  • Testing frameworks

ATTRIBUTES:

  • You display strong problem solving and analytical skills.
  • You are a lateral thinker, who can solve problems using creative reasoning.
  • You are a curious person who learns and improves their professional skills.
  • You have enthusiasm to learn and expand your technical knowledge as both a manual and automation engineer.
  • You are a dependable person, who delivers consistent quality.
  • You collaborate well within a team environment and develop relationships with the other teams and stakeholders in your area.
  • You have a friendly, positive, and proactive attitude to your role and your colleagues.
  • You have excellent verbal and written communication skills and can interact professionally with a diverse group of people.

While we would really like to respond to every application, should you not be contacted for this position within 10 working days please consider your application unsuccessful.

COMMENTS:

When applying for jobs, ensure that you have the minimum job requirements. Only SA Citizens will be considered for this role. If you are not in the mentioned location of any of the jobs, please note your relocation plans in all applications for jobs and correspondence. Apply here [URL Removed] e-mail a Word copy of your CV to [Email Address Removed] and mention the reference number of the job.

Desired Skills:

  • Senior
  • Java
  • Backend

Learn more/Apply for this position