Meet the Teams: Java Team

Get acquainted with the diverse teams that make up our collective. We all share the same values, but every team has a different story to tell – so let’s get up close and personal with our Java team.

Basic information

TEAM

Java

FORMED

2018

WHAT THEY DO

Try hard to create classes with names that could only fit on a 27” screen.

What does your typical day look like?

We create features and then cover all their aspects with testing. A normal day at work for us includes a healthy mix of programming and brainstorming new ideas for more features. Typically, we collaborate with other backend team members, system architects, QA engineers & frontend or mobile developers.

What is your main focus?

We produce performant backend services using the Java & Spring framework.

What’s your favorite thing about your job?

We love working on fun and complex projects that serve a large user base, while staying on top of the latest technologies related to Java & Spring.

What skills are necessary for someone to become a member of your team?

They need to have a solid knowledge of Java, Spring Framework (Spring Boot included), SQL, and APIs. Ideally, they would know how to both define and implement HTTP-based APIs.

What challenges do you face in your normal workflow?

There are three main challenges we often encounter.

1

Optimizing the business logic and database queries behind our API endpoints so that our APIs are scalable enough to serve an even larger user base.

2

Keeping complexity at a manageable level while maintaining existing features and fitting new features in the backend services we are working on.

3

Making updates to our APIs without breaking any flows for the existing API clients that are using them.

How do you solve them?

Three challenges call for three different solutions.

1

We analyze the performance of our API endpoints via monitoring tools so that we can quickly detect bottlenecks and act on the information that the tools provide.

2

We leverage Domain Driven Design while designing new features and the overall architecture of our backend services.

3

We use HAL with Spring HATEOAS to achieve a more mature REST API, which enables API clients to use discoverability via hyperlinks to various API resources.

What’s your team’s strength?

Our team has a healthy mix of different skills. This enables us to solve problems quickly and efficiently while respecting internal team processes and procedures we have defined and continue to refine over time.

What tools do you use in your work?

We use IntelliJ IDEA for coding, Docker for packaging our services and making development on our local machines easier, New Relic for app performance monitoring, and various data stores like PostgreSQL, Redis, or Elasticsearch.

What educational materials would you recommend to someone interested in your line of work?

It would definitely be smart to read up on various Spring guides, Vlad Mihalcea’s High Performance Java Persistence blog (he also has a book worth buying!), and Marco Behler’s blog. We’d also recommend looking up the SpringDeveloper channel on Youtube.

Who is your team lead and what is their role?

The team lead is Dominik Hodja. Besides working on projects with other team members, he’s responsible for the team’s well-being, making sure that everything runs smoothly and enabling team members to do what they do best.

Tell us three fun facts about your TL.

1

Loves vinyl

2

Is a Liverpool fan

3

Regularly drops bad jokes during meetings. 

What do you usually do for team-building activities?

We eat a lot and drink…responsibly.

Tell us a funny story about your team. 

We are mostly a remote team, so every visit to the office from our remote members is like a team-building exercise.

If your team had a theme song, what would it be?

What meme best describes your team?

What type of food do you order most frequently?

Wok.

What other team are you closest to?

Probably System Architects.

How would you describe your team in one sentence?

People who don’t take things too seriously and still manage to enjoy their work and be as professional as possible.

Why would someone want to join your team?

To be a part of a growing team of engineers who are knowledgeable about everything related to JVM and happy to help others grow.

How would you explain what your team does to your grandmother?

We create stuff (backend services) that will be used by other people for their stuff (web & mobile apps).

Tell us a success story involving your team. 

We managed to trick Alexa into making coffee and french fries whenever we wanted them.

If you would like to become a part of Infinum’s Java team or browse other open positions, you’ll find more information on our Careers page.