Hello,
We are called People More because we treat our employees with respect, but also because the projects we work on are for people and should be easy and pleasant to use. We are technological, but we look at the bigger picture :)
The company is made up of people with a huge client base in the country and abroad, for whom we build projects from scratch (UX, UI, frontend, backend, mobile) or in part. We work directly for our clients and also support our partners in their own solutions. This ensures a wide range of projects and the ability to change! We work with clients all over the world.
For the project that we are working on with our partner, we are looking for a Senior Java Developer with Kafka.
We are looking for an experienced Senior Java Developer to join a project where scalability, asynchronous processing, system performance and high-quality engineering are key.
Someone who goes beyond writing working Java code. You should be able to understand the wider impact of your technical decisions, design solutions for scale, choose the right technology for the problem and build new functionality without negatively affecting existing systems.
What you will be working with:
Java / modern Java
Spring
Kafka and event-driven architecture
SQL and NoSQL databases
CQRS
Distributed and asynchronous systems
High-volume data processing
Scalable architectures
AI-assisted development tools such as GitHub Copilot
Requirements that must be met:
Strong commercial experience with Java and Spring
Very good knowledge of modern Java, including Records, immutability and Stream API
Solid understanding of Java fundamentals: equals/hashCode, collections, reflection and Garbage Collection
Good understanding of Spring internals and Dependency Injection
Strong knowledge of SOLID, clean code, design patterns and code smells
Experience with Kafka and event-driven architecture
Understanding of idempotency, at-least-once delivery and Dead Letter Queues
Experience designing scalable, asynchronous and high-performance systems
Good understanding of SQL and NoSQL databases and ability to choose the right approach depending on the use case
Knowledge of CQRS, ACID, indexing and database partitioning
Ability to design solutions with performance, isolation, maintainability and security in mind
Ability to discuss architectural decisions, explain trade-offs and adapt solutions based on technical discussions
Practical experience using AI tools such as GitHub Copilot, with the ability to independently verify generated code through unit tests and edge cases
Strong communication skills and a collaborative approach to software design
Very good English and Polish
What we offer:
We are open and honest and we solve problems instead of generating them.
Maybe it’s obvious, but we really respect our employees and associates. We used to be software developers, too, and we appreciate that job!
A small team
An international working environment and international projects
Private medical care
Sports card
Training courses
Work that is 100% remote (unless you prefer another system)
We have an office in Krakow, but if you like to work remotely, that’s absolutely fine. We are OK with fully remote work. For us, you can be located anywhere. :)
Why it’s a good idea to work with People More?
If you are not satisfied with your work or your tasks, we’ll find a way out together!
If you get bored, we will offer you a new product and new, fascinating tasks
We will work on your brand together: you will get an opportunity to attend conferences, including as a speaker, and we will help you publish in recognized magazines and online
We will facilitate your access to challenges that are usually difficult to get
At any time, you can talk directly to the board of People More—we talk your language because the company’s founders are software developers and designers!
What does the recruitment process look like?
A friendly remote initial interview
A remote technical talk
The decision to work together!
Your tasks
Design and build scalable Java functionality without negatively affecting existing systems.
Design solutions for asynchronous processing and high-volume data processing using Kafka and event-driven architecture.
Work with SQL and NoSQL databases, applying CQRS where appropriate.
Consider performance, isolation, maintainability and security when designing solutions.
Verify AI-generated code with unit tests and edge cases.