We are looking for a Senior Software Engineer to join our Wonderlabz team. The company develops and maintains software for customers in the online casino and lottery industries. We are looking for talented individuals with a passion and strong drive for self-improvement. Candidates should have a preference towards working in teams in an agile environment.
Key Performance Indicators
- 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 on a daily basis.
- 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.
- 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 are able to interact professionally with a diverse group of people.
- 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.
- 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
- Conform to all ISO-based company policies and procedures.
- Conform to all customer SLA's.
- Flexi hours (with the exception of core hours).
- Unlimited coffee in our brand new office made with love by our barista.
- 21 days annual leave.
- Our teams are exposed to quality learning platforms, and if you're self-driven, you will be able to learn and use that knowledge to improve your own skills and deliver better solutions to the business.