Back-end Software Engineer (Java)
We have recently started a new cooperation with a UK-based client that is a leading provider of logistics solutions. Our client develops and applies modern technologies to manage supply and demand, facilitating the most efficient journeys (routes, timings and costs) for transport providers, consumers and many recognized household brands.
Using technology to help reduce environmental impact has always been top of our client's agenda and they are proud that they have achieved carbon neutral status on all their transport moves.
Our client is currently in the process of technological transformation – replacing existing system with modern feature-rich platform, based on microservices. Project is still in early phase of development (effectively PoC, nearly greenfield) so important technical decisions are still to be made. Our aim is also to provide expert knowledge to help with the transformation.
We are currently acquiring specialists (frontend and backend developers and DevOps) for the project. Initially our developers will join teams already formed by our client, but eventually we are looking to form our own self-sufficient, cross-functional teams.
Our client is building services mainly in Java and Python, also TypeScript and Node.js for serverless processing. While we appreciate expertise in either Java or Python, we are looking for an engineer to adopt a modern polyglot approach and who is, willing to learn other languages.
Another interesting aspect is that the project includes some non-trivial processing logic – for example, finding and optimizing transport routes – so developers with a strong background in mathematics and algorithmics may have a chance to use their skills. Out client is also considering introducing machine learning in the later stages of the project.
We are mainly looking for experienced engineers to form the core of our team. It’s a new, exciting adventure for us, so if you are an ambitious software engineer eager to try something new, then it’s a great time to join us.
- Being an active member of a scrum team
- Participating in defining work standards and creating base components in a newly started project.
- Developing code that is testable and of good quality (e.g., through unit tests, and by following best practices for writing testable code)
- Performing code reviews
- Supporting the development team by exchanging knowledge and skills
- 3+ years’ commercial development experience.
- Java and Spring Framework
- Willingness to learn basics of Python, Typescript/Node.js and PHP
- Relational DBs (preferably MySQL or PostgreSQL)
- Knowledge of ORM systems (JPA/Hibernate)
- Strong analytical and communication skills, ability to work in a team.
- Understanding of CI/CD, SOLID, OOP principles
- Experience writing testable code
- Ability to write and speak English at B2+ level
- Frontend development experience (Vue.js)
- Strong background in mathematics and algorithmics.
- Commercial experience with Python development.
- Typescript/Node.js, PHP
- Amazon Web Services
- Practical experience with distributed systems and message queues (SNS/SQS, Kafka)
- NoSQL databases (Redis, Elasticsearch)
- CircleCi and Terraform
- Machine learning
- OSRM (http://project-osrm.org/)
- Experience in visualizing and documenting software architecture.
- Experience in leading a team of developers, mentoring other developers etc.