Java Engineer
We began in 2014 by building a free consumer app that puts your ID on your phone.
All potential applicants are encouraged to scroll through and read the complete job description before applying.
The Yoti app is designed with privacy at its core, giving individuals a safe way to share personal details with businesses and individuals.
Today, we have over nine million app downloads around the world.
We’ve expanded our offering to a suite of business solutions that span identity verification, age estimation, e-signing and AI anti-spoofing technologies.So, whether it’s verifying identities, sharing health test results, e-signatures, age verification or credential management
– our solutions are secure, privacy-preserving and get the good guys through faster while keeping fraudsters out.
This is not a journey we make on our own but with policy advisors, think tanks, researchers, academics, humanitarian bodies, our users and everyday people.The Yoti app will always be free for individuals.
We make money by charging businesses to check the identity details of their customers.
Our systems are built in a way that means only the user can access their data, which means we cannot mine or sell user data to third parties.
*About the role:
*To be active/drive the planning, development and maintenance of the Connect backend services and (Java) SDKs, and to be an active contributor on issues related to software development lifecycle (SDLC) processes and practices company-wide.This is a fantastic opportunity to get involved with a company doing crazy-complex projects, in a fun and exciting environment, where creativity is rewarded
– this is part of the Yoti DNA.
We like people who have a positive attitude, transparent and are open and honest about their thoughts.
Committed, collaborative and champion all of our principles and what we stand for
- Responsibilities:
- Deliver Business Value:
- Work closely with the team lead, stakeholders and team members to achieve team objectives directly or indirectly contributing to the delivery of value to the end-user
- Drive architectural and feature specification ensuring both functional and non-functional requirements are met
- Directly contribute to the delivery of features and capabilities of connect-related systemsDrive Quality / Continuous Improvement:
- Ensure the team delivers high quality systems (correct, performant and resilient)
- Bar-raiser in regards to code quality and best practices
- Drive/Endorse continuous improvements in processes, tools and architecture
- Contribute to cross-team efforts/projects (process improvements, library development, technical discussions)Provide Technical Expertise:
- Support all connect-related systems by providing insight into their inner workings when necessary but also doing critical assessments in regards to problem solving and potential improvements
- Participate in the wider company java-ecosystem (cross-team efforts/projects)Leadership:
- Catalyst to healthy group dynamics
- Inspires other people by setting an example through actions and providing hard/soft-skill development advice when necessary
- Requirements:
- Neverending desire to learn and improve/widen their skillset
- Deep understanding (and user) of YAGNI, S.O.L.I.D and DRY design principles
- Extensive experience (4+ years) with Java (8+) development in a professional capacity
- Experience with maven as a build system
- Experience with git as a revision control system
- Experience in the development and maintenance of distributed systems
- Solid understanding and experience with HTTP and REST architectural style
- Strong experience with software unit/integration testing
- Experience with SQL and relational databases
- Team player with good communication skills
- Familiar / At ease with Linux-based systems
- Nice to have:
- Experience with pull-request based workflows
- Experience with agile workflows, be it either SCRUM or Kanban
- Demonstrable understanding of TDD/BDD
- Experience with Vert.x toolkit
- Experience with Dependency Injection frameworks such as Spring or Guice
- Familiarity with containerization and Kubernetes
- Development/maintenance of micro-service deployments
- Knowledge and/or experience with event-driven architectures
- Basic knowledge of crypto/security related algorithms/solutions and their applicability (PKIs, HMAC, symmetric keys, .etc)-
- Private Medical Insurance
- Life Insurance
- Pension
- 25 days holiday (plus bank holidays)
- Yoti Life (internal communication platform and access to great discounts and vouchers)
- 5 ‘Selfie’ Days
- for your own personal development; volunteering, charity events, etc
- Learning opportunities (LinkedIn Learning, conferences, events, courses )
- Team Events
- Flexible working
- Phone call
- Tech test
- Video call with team and foundersJava, Maven, Git, HTTP, SQLJava, Maven, Git, HTTP, REST, SQL, Unit Testing, Linux, Scrum, Kanban, TDD, BDD, Spring, Kubernetes