Desired Skills and Experience
- Design, develop and implement major new features in one of our product teams. Code backend Scala and Java distributed applications and services that survives at internet scale;
- Implement complex software applications, maintainable, scalable systems capable of handling hundreds of requests a day;
- Produce high quality software that is unit tested, code reviewed, specification documented and checked in regularly for continuous integration;
- Create innovative prototypes and leading edge technology implementation while ensuring deliverables are high quality and meet user expectations and ensure team-wide adherence to software development standards;
- Effectively manage day-to-day tasks to meet scheduled commitments and maintain stability of existing services and their underlying libraries;
- Recommend application software solutions based on the business needs and work hard to consistently make systems simpler;
- Collaborate with other departments (technical and non-technical), such as Product, Data Science and Site Reliability to review features specifications, determine feasible implementations and work together to determine best product designs;
- Performs across-training and facilitates information sharing among team members. Coach and mentor other less experienced team members, helping them grow as engineers through code review, pairing, and mentoring.
- Share knowledge and mix with some of the most talented and skilled engineers and researchers in the business from around the globe;
- Great atmosphere, collaborative and multinational environment, where you will get the chance to become involved in the data-driven culture and manage its quality;
- An awesome office in the heart of Hamburg with the best views from the city and plenty of things to do close to the office when you’re not at work;
- We also have the industry standard perks such as free drinks and fruit baskets every day, fun room, great team events, etc.
- 2-5 years of experience with Scala, Java or other JVM-based languages;
- You have experience writing distributed systems;
- You care about quality and you know what it means to ship high quality code;
- Expertise with SQL, RDBMS design and optimization;
- Hands-on experience working with functional programming languages;
- Theoretical foundations as well as practical experience designing and implementing distributed systems;
- Solid theoretical background in Computer Science;
- Experience working in Agile development environments, preferably following Scrum methodology;
- Working knowledge of MongoDB or other NoSQL databases;
- Strong knowledge of HTTP and (REST) API design;
- Experience in JavaScript full stack development (e.g. AngularJS and Node.js) is a plus.