Java Engineer | Infinum

Java Engineer | Infinum

Application ends: May 29, 2025
Apply Now

Job Description

We are a team of 12 backend-oriented engineers operating on the JVM, where our primary language is Java. Our tech stack is focused around the Spring Framework and its surrounding ecosystem, which provides a versatile and established foundation for our projects. The use of a relational database in the backend world is almost a given, and the RDBMS of our choice is PostgreSQL. However, we also use several other services in our projects, such as Elasticsearch, Redis, and RabbitMQ.

The team is working on a number of digital services, primarily in the domain of (smart) home appliances, where we design and implement various APIs and solve interesting integration challenges. Our goal is to produce clean, maintainable, and well-tested code while applying domain-driven design and enterprise integration patterns. The nature of backend-oriented work also puts us in a position to collaborate with many other teams within our organization – from Mobile and Web to DevOps, and naturally the QA.

Requirements

  • at least 5 years of experience in backend development using Java or another JVM language (Groovy, Kotlin, Scala…)
  • good understanding of Spring Framework and its surrounding ecosystem
  • good understanding of relational databases (preferably PostgreSQL) and data modeling
  • good understanding of HTTP-based APIs
  • knowledge of software development patterns
  • strong written and verbal communication skills in English

Bonus points

  • experience with NoSQL data stores (e.g. Redis, Elasticsearch)
  • experience with cloud platforms (e.g. AWS, Azure, Google Cloud)
  • experience with messaging systems (e.g. Kafka, RabbitMQ) and messaging-based architectures
  • experience with defining CI/CD pipelines
  • experience with agile methodologies and code reviews

Your responsibilities

  • planning, development, deployment, and maintenance of various software solutions
  • defining tasks and providing time estimates
  • writing clean, maintainable code that’s properly tested
  • rolling out new features and analyzing (and reacting to) the results you learn about from our QA Engineers and user feedback
  • proactively collaborating with other developers in cross-functional teams as well as with stakeholders and clients
  • being able to present your solutions in front of clients and/or a group of colleagues
  • using agile methodologies in development (if you don’t know them yet, we will teach you)
  • participating in code reviews, pairing, and other forms of knowledge-sharing
  • continually improving your skills and pushing others to go forward with their knowledge