Senior Software Java Engineer (Compute team)
remote in Poland
Kontakt.io is the industry leader in indoor environmental, location, and occupancy services using Bluetooth Low Energy (BLE ®). Our mission is to deliver human-building interfaces that provide people with delightful, useful, and safe indoor experiences to help make buildings work for people. We are out to define a new building DNA that is human-centric. We build technologies that help transform buildings into indoor spaces that are useful for people in their daily journey to accomplish their goals, working or being cared for in a safe & sustainable indoor environment.
We started in 2013 when Kontakt.io built the first enterprise-graded BLE beacon solution for building-mobile interfaces. Since then, we have provided BLE solutions to over 30,000 end-users, delivered via +1,100 partners using +3 million IoT devices in the field. Today our solutions cover approximately one billion sq ft. We continue to be a pioneer in the field, with a focus on Smart Buildings in Healthcare and Corporate Real Estate Spaces.
Currently, we are looking for
Senior Software Java Engineer
to join our Compute team.
We are looking for a person who can work independently, look at the problem from a product perspective, suggest proper solutions and then execute them.
Our tech stack: Java 11+, Kafka (with Kafka Streams), Testcontainers, Spring framework (Spring Boot, Spring Data, Spring Cloud Stream), Python, MongoDB, Cassandra, Docker, Kubernetes, Terraform, Prometheus, Grafana, Jenkins, git, AWS Cloud
You will be expected to:
- improve, maintain, scale up, and cost control our IoT Cloud
- deliver features, integrations, tools, documentation, and support for our customers
- define data models and work with database systems like Cassandra and MongoDB
- deliver quality and future-proof solutions, not just what was requested
- establish connectivity with third-party systems using modern integrations technologies like RESTful APIs and Kafka streams
- write and maintain documentation
- write unit and integration tests using JUnit and Testcontainers
- support and maintain CI/CD Workflows
- create and drive best practices in the team (including peer reviews and building for testability)
- propose any upgrades and updates necessary for keeping up with modern security and development best practices
- participate in 24/7 on-call rotation
- min. 4 years of hands-on experience in designing and developing highly scalable applications using modern technology stacks such as Java, Kafka, MongoDB, and Cassandra with microservices architecture
- min. 4 years of commercial experience in Java
- strong hands-on experience with Kafka (with Kafka Streams)
- knowledge of Spring framework
- experience with Kubernetes
- understanding the basics of Terraform, Prometheus and Grafana
- the ability to follow good development practices like test automation, CI/CD, source version control, etc.
- enjoy technical challenges and are eager to explore new technologies and solutions
- high level of commitment to driving things to completion (delivering real value)
- excellent command of English (both speaking and writing)
- willingness to participate in the rotation on-call duty (24/7)
- knowledge of Python or Bash will be an asset.
- fast-paced and dynamic startup environment, flat structure
- B2B contract or a permanent agreement
- competitive salary and stock option plan
- work with our IoT experts and trending technologies
- remote or hybrid work (office in Krakow)
- collaborative and self-organised environment
- private medical care, cafeteria system
Kontakt.io is a fast-growing company. It is extremely important for us to work with people who value the same virtues and fit our culture. Successful cooperation means that you:
1. Lead customer-centric - customer leadership is the key. If a customer has a problem we don’t wait. We understand what customer needs and we tailor our services, products around the customer. It doesn’t mean that we let the customer lead us. It means that we think about the customer first.
2. Have a growth mindset - we commit to results and growth. We are responsible for results, not for the activity or time spent. If we believe we can’t achieve a result or a job, it’s our duty to raise the voice, push back, explain what we suggest instead. We don’t see results as something static - ever. This means that our results and expectations are becoming more ambitious, quarter over quarter. We constantly evolve
3. Challenge, inspire, respect - we are the challenger in the marketplace. When working with each other - or with customers - we enjoy and desire to challenge each other. We listen, reflect and respond. We aim to understand the point of view of the other party and if there is customer merit in the argument. When we challenge, we articulate our hypothesis clearly and provide data and evidence in our argumentation. We respect the time of our colleagues. We have a zero-tolerance towards discrimination of any kind. We respect the environment.
4. Execute systematically - We recognize that the start-up journey will only be successful if we learn twice as much as others in half the time. For us, innovation also means continuous improvement in all fields. We think in systems when driving results, growth, and learnings.
5. Act with urgency - We have a sense of urgency in everything we do - at all times. It’s deeply rooted in the belief that as an up-start, as a challenger, we need to drive value for our customers faster and better than anybody else in the marketplace. We do things outside of the personal comfort zone.