Software Engineer
Role details
Job location
Tech stack
Job description
We are looking for a Software Engineer to contribute to the development of our core back-end systems that drive automated optimization of our customer applications. You will contribute to building high-scale microservice architectures that will completely automate observability, testing, and tuning of modern software stacks through the use of AI.
The ideal candidate has working experience in designing and building modern web applications by leveraging different frameworks and patterns such as Microservices, Serverless, REST APIs, SQL, and No-SQL databases.
As a Senior Software Engineer, you will design and develop core product features and innovations. You will contribute to architectural decisions, code reviews, and backlog refinement activities. You will work closely with the product management team to evaluate and estimate design decisions and lead implementation activities.
We believe that reducing the gap between customers and developers leads to a better understanding of user problems and, ultimately, better solutions. For this reason, you are expected to interact with end users in feedback or support sessions.
What you'll do
As a Software Engineer, you are expected to have an impact on our product evolution both as an individual contributor and as a software architect by:
- Leading design and implementation of core product features, taking into consideration aspects such as reliability, scalability, and security
- Managing the feature lifecycle from roadmap to delivery, contributing in all stages, and providing feedback on the whole process
- Writing and reviewing code to evolve team standards and best practices
- Automating testing, building, and delivery of product features with CI/CD tools
- Participating in support activities, providing guidance, and bugfixes
- Contributing to scrum events such as standups, backlog refinement, demos, and retrospectives.
- Effectively collaborating with the team, sharing knowledge, experience, and best practices (e.g. during Code Review, pair programming, or delivering internal meetups)
- Coaching junior members of the team to share knowledge and expertise
Requirements
The candidate must have:
- Master's degree in Computer Science, Engineering, or a related field, or equivalent experience.
- 6+ years of experience as a software developer
- Proficiency in writing Java and Python applications by using frameworks such as Spring, Databases, and REST APIs
- Hands-on experience with containers and Kubernetes
- Good knowledge of CI/CD, automation tools, and testing frameworks
- Excellent communication skills and ability to work in a team environment
- Hands-on experience with cloud services
Knowledge of performance engineering principles, machine learning, and the following technologies is considered a plus:
- Spring ecosystem
- Elasticsearch
- PostgreSQL
- Kong