Senior Software Engineer, Java
As a senior software engineer, you are a core team member on whom the team relies to consistently deliver high quality solutions. 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 on technical governance you have a long term perspective of the team's components and applications.
- Develop secure, reliable, and maintainable solutions for authentication, authorization, and session-related flows in a business-critical domain.
- Design and evolve backend solutions that meet both business and technical requirements, while proactively identifying risks and improvement opportunities related to security, reliability, and performance.
- Contribute to a high engineering bar through clean design, code reviews, testing, and pragmatic engineering practices.
- Take ownership from design to production: break down work, drive delivery, and support operational stability in production.
- Proactively improve quality by catching issues early through automation, validation, and shift-left testing practices.
- Make sound technical decisions and align effectively with teammates and stakeholders across product, architecture, and security.
- Strong experience building and evolving production-grade backend systems in Java.
- Solid experience with the Spring ecosystem, ideally Spring Boot, and designing APIs and service integrations in complex environments.
- Experience working with distributed systems and event-driven architecture, ideally with Kafka and/or Solace.
- Solid understanding of authentication and authorization concepts, including sessions, tokens, redirects, cookies, access control, and common implementation pitfalls. Knowledge of OAuth 2.0 and OpenID Connect is a strong advantage.
- Strong secure development mindset, with the ability to identify risks, think through abuse cases, and apply secure-by-default principles in design and implementation.
- Good understanding of common application security practices such as OWASP principles, dependency/security scanning, and safe handling of sensitive data and PII.
- Experience with testing strategies such as integration testing, contract testing, and test automation.
- Comfortable reviewing code, giving and receiving feedback, and maintaining a high quality bar.
- Able to break down requirements and technical designs into clear deliverables, and sequence work in a way that reduces delivery and operational risk.
- Strong communication skills, with the ability to represent the team clearly in technical and stakeholder discussions.
- Experience with production support, monitoring, incident handling, and driving improvements after incidents.
- Experience using CI/CD pipelines and engineering tools to improve code quality, security, and delivery confidence.
- Experience working with relational databases.
- Experience with performance testing and performance-aware design is an advantage.
- Well-being allowance
- Learning and development opportunities
- Inclusion networks
- Charity days
- Long service awards
- Social events and activites
- Private medical insurance
- Life assurance and income protection
- Employee Assistance Programme
- Pension
