The role
As a senior software engineer, you are a core team member on whom the team relies to deliver high-quality solutions consistently. You take ownership to help the team reach their goals, including actively sharing knowledge and providing feedback. You can identify and initiate activities to address improvement areas within the team. With a mature view of technical governance, you have a long-term perspective of the team's components and applications.
Technologies we use:
Java
Micro Services with SpringBoot
Kafka/Solace Queue/RabbitMQ or similar
Restful APIs and socket-based APIs
Relational databases
Docker and Kubernetes
Continuous Integration and Continuous Delivery
Best development practices
Agile and lean values
What you will do
Develop high-quality code using the most appropriate techniques e.g. design patterns.
Design solutions to meet the requirements (business and tech). Able to challenge and proactively suggest improvement to requirements.
Contribute to best practice, pro-actively look to improve status quo e.g. can the team improve logging, performance testing etc.
Be focused and engaged in team commitments, taking ownership to help the team reach their goals.
Constructively critique solutions and code of peers.
Actively seek to automate where relevant with a shift left mindset (catch bugs early during development).
Follow and implement good practices in quality assurance (e.g. BDD, TDD).
Confidently make decisions affecting the team.
Your experience
You have at least 5 years of experience working as a developer.
Can work independently and write high-quality code using appropriate techniques to create performant solutions.
You have experience working with different systems and architectures which you can draw on to contribute to the solutions in your team.
Ability to code review, give and receive feedback.
Ability to break down technical GAP documents/requirements into deliverable work items.
Experienced with automating to improve efficiency and catch defects early.
Good communication skills to work with team and stakeholders.
Understanding and adoption of good practices such as TDD, BDD.
Experienced in incident management.
Experienced in writing, executing and analyzing performance tests.
Ability to effectively represent the team in stakeholder discussions using domain concepts and language.
Understanding of risk assessment and impact analysis.
Good grasp of secure development.
Experienced in working with agile practices and able to suggest improvements to the team's process.
Maintain the team's CI/CD pipelines.
Use appropriate code analysis tools to improve code quality and security.
#J-18808-Ljbffr