Java Engineer
Zagreb |
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
01
Initial call
You talk to the HR person leading you through the selection process. You get acquainted with Infinum, your potential future team, while we also get to know you. We’ll also take a closer look at your general engineering skills.
02
Technical interview
You talk to Team Lead, Lead Engineer, and the HR person leading you through the selection process. You get to know Infinum, your potential future team, and position, while we also get to know you. It can also include a live coding assignment to better assess your technical knowledge.
03
Final interview
Usually you talk to the Head of the department, Team Lead, and an HR person. You get a deeper insight into the position and our expectations, while we get the opportunity to ask you more specific questions.
04
Offer
All going well, in this stage we send you the offer, which includes all the information from salary details, vacation days, and educational budget, to other perks and benefits of working at Infinum.
04
Next thing you know
You’ll be discussing microservice scalability over coffee.
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.