Java Engineer

Java Engineer

Zagreb  |  Varaždin  |  Podgorica  |  Skopje  |  Remote

WHO WE ARE LOOKING FOR

An experienced Java Engineer with a strong cloud computing background to support the backend development for products in the insurance sector.

We are a team of 13 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. We use PostgreSQL as our go-to RDBMS for relational database needs, but we also employ several other services, including Elasticsearch, Redis, and RabbitMQ, in our projects.

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 complex 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 clearly, the QA.

Ideally, we are looking for someone with a strong cloud computing background (AWS, Azure, Google Cloud, Kubernetes, or serverless) and has experience with refactoring large, monolithic services into a microservice-oriented architecture.


01

Qualifications & Experience

  • at least 5 years of experience in backend development using Java or another JVM language (Groovy, Kotlin, Scala…)
  • deep understanding of Spring Framework and its surrounding ecosystem
  • deep understanding of relational databases (preferably PostgreSQL) and data modeling
  • deep 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

02

Your responsibilities

  • planning, developing, deploying, and maintaining various software solutions
  • defining tasks and providing accurate time estimates
  • writing clean, maintainable, and thoroughly tested code
  • rolling out new features and analyzing results based on feedback from QA Engineers and users
  • proactively collaborating with other developers in cross-functional teams as well as with stakeholders and clients
  • presenting your solutions to clients and colleagues
  • utilizing agile methodologies in development (we offer training if required) participating in code reviews, pairing, knowledge-sharing sessions
  • continually improving your skills and encouraging others to do the same

The selection process

Tools
we use

Docker

We rely on Docker in a variety of ways, from simplifying the setup of a local development environment to packaging and running our applications as containers.

Gradle

The build tool of our choice is Gradle, whose performance ensures developer happiness.

GitHub Actions

We are practicing Continuous Integration and GitHub Actions is the tool we mostly use.

SonarQube

Code quality matters, and we use Sonarqube to help us keep it in check.

IntelliJ IDEA

Our preferred IDE is IntelliJ IDEA due to its set of unparalleled productivity-boosting features.

GitHub or Bitbucket

We keep our work in GitHub or Bitbucket (depending on the project/client) and use pull request flow as our daily routine.

Slack

Company-wide standard communication channel for both work and fun.

Handbook

A go-to place for an assorted collection of practices used within the team and company.

What do we offer?

Feedback and feedforward

Honest communication fuels growth. In our 1 on 1 sessions, 360 reviews, and career progression meetings, we discuss what is great and what could be improved.

Additional equipment budget

A little extra to supplement your standard work equipment. Pick a latest-model mobile phone, tablet, e-book reader, or a pair of earphones you’ve been dreaming about. Mix & match, why not.

Contributing to open source

Sharing is caring doesn’t only apply to chocolate.

Educational budget

If you’re eager to learn, we’re eager to help. Every employee receives an educational budget.

Paid language courses

Paid language courses help our employees master the English language.

Doing a career switch

We don’t have a sorting hat to tell you where you belong, but we will support your career switch from one job position to another.

Traveling on business

Having clients all over the world means our employees sometimes have to travel to and work from beautiful locations.

Subsidized recreation

Stay in shape with a sponsored fitness membership of your choice.

Sponsored health checks

You know the old saying – the greatest wealth is health.

Working remotely

Office location? Anywhere. It’s all about flexibility.

Free power-ups

Snack on fruit, cookies, and nuts to keep your energy levels up.

Car and bike parking

Don’t let it get caught in the rain. We offer free parking for bicycles and subsidized car parking.

Flexible working hours

Tailor your working hours to fit your schedule.

Fun and games budget

Every team gets a monthly budget to hang out and do fun stuff.

Benefits

In addition to professional development opportunities, we provide a selection of benefits that help you thrive and grow.

Explore benefits

Apply for this position

Resume
Add files
Motivation letter
Add files

EXPLORE OUR WORK

Interested in our projects?