Senior Java Developer

SPsoft is looking for a superhero Java Developer who is keen to become a part of a Dream Project team for a Dream Client.

We offer a top salary and interesting project in the Digital Banking industry for the fast-growing and well-funded client.

Life is too short to be wasted to ordinary bs, think again and apply!

About the Client

Our client is a leading US digital bank and one of the fastest-growing fintech companies with 2+ million customers. Their custom-built banking technology provides greater stability of transactions along with faster money transfer and cost-efficiency. Their mission is to bring premium financial services to everyone to improve their financial journeys.

The client’s applications run on Google Cloud Kubernetes, which can scale to handle dozens of millions of transactions per day. Their services are written with a modern Java tech stack (Java 13), TypeScript and Node.js, using MongoDB, PostgreSQL and Neo4j databases.


Critical requirement: work only from the Lviv-based office, no work from home available for the first 6 months. All health safety measures are guaranteed by SPsoft.

  • Significant Java development experience, including modern versions of Java (Java 13)
  • Commercial experience with a JVM
  • Experience with cloud services (AWS or/and GCP)
  • Experience in RDBMS and NoSQL databases
  • Experience with concurrency and multi-threading
  • Production Kubernetes experience
  • Production GraphQL experience
  • Hands-on experience with creating and maintaining tests within a CI pipeline
  • Google Cloud expertise (GKE, Compute Engine, BigQuery, Cloud Build)
  • Experience with data transformation technologies such as Dataflow or Spark as a plus
  • Node.js and TypeScript experience as a plus


  • Design and build microservices that discover and manage gRPC endpoints for automatic generation of client libraries. Said microservices enable mission-critical functionality, including customer identity verification, record ledger modifications, and performing transaction decisions on the fly.
  • In-depth cooperation with the customer’s in-house team to deliver new service templates to support varying service patterns.
  • Design and implement scripts and tools to enable multi-threading and scale existing Google Cloud infrastructure.
  • Configure and deploy Datadog monitoring to meet performance SLOs.

What we offer

We turn our engineers into half-product managers/half tech problem solvers who know and do what’s best for the client’s business, not just coding what the client says.

Forget the „ГАЛЄРИ”, box type of thinking and the small perks offered to keep you satisfied. With SPsoft, you have a chance to mature for real, not just tech-wise. Help us build the company and together we will rescue and grow our clients.

If you can’t find the meaning in what you’re doing, don’t know where you’re going in the long run, feel like you do not evolve or like nobody cares about you, or think you’re wasting your time — come and win the competition for this job! Team up with us and our clients to make the world a better and more convenient place to live! Start making a difference!

Interviewing process

1st Stage of Technical interview

“Smoke Screen”

Our phone screen is a 45-60-minute interview consisting of:

The coding challenge will be administered in java, but it is in no way a test of your knowledge of the language. You will be given a script that contains test cases and helpers, and if you are not familiar with an aspect of the language, the interviewer will help you out. The only java syntax/concepts that will be used are:


2nd Stage of Technical interview

Part 1: Systems Design

A 60-90-minute interview where you will be asked to interactively architect a real-time system of some kind. There will be no low-level coding assessment, however, you should be able to construct a visual representation of the system and clearly communicate all design decisions.

Part 2: Pair Programming

A 60-90-minute programming interview where you will lead a pairing session centered around generic data structure concepts.

The session will be administered in Java, but it is not a test of your knowledge of the language. This is a collaborative exercise, and we will ensure that you don’t get bogged down in the patterns and syntax of Java.

You will need to clone a git repository and execute tests locally. You can use whichever IDE you are most comfortable in, but it should be set up and ready to use prior to the interview.