Java Engineer

Infinum Podgorica Stalni

Who are we?


We are a team of 10 backend-oriented engineers operating on the JVM, where our primary language is Java, but we also use Kotlin. 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 RDBMS of our choice is PostgreSQL. However, we also use several other services such as Elasticsearch, Redis, RabbitMQ, and Kafka in our projects.


The team is working on a number of digital services, primarily in the domains of (smart) home appliances and the automotive industry, 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.


Who are we looking for?


Qualifications & Experience

  • at least 3 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


These would be nice to have, but are not direct requirements:

  • 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

  • planing, development, deployment, and maintenance of various software solutions
  • defining tasks and giving time estimates
  • writing clean, maintainable code that’s properly tested
  • to roll out new features, and analyze (and react) to the results you learn about from our QA Engineers and user feedback
  • proactive collaboration 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
  • use agile methodologies in development (if you don’t know them yet, we will teach you)
  • participate in code reviews, pairing, and other forms of knowledge sharing
  • to continually improve your skills and push others to go forward with their knowledge


Apply for this position!

Good luck!




Kompanija Infinum širi svoj tim i traži nove članove.