Senior Software Engineer
Role details
Job location
Tech stack
Job description
We are looking for motivated Software Engineers to join our dynamic development teams. In this role, you will report to the Director of Platform Engineering, collaborate within a flat organizational structure, and contribute to cutting-edge data-intensive solutions.
At Ververica, you will engage with one of the largest and most vibrant open-source communities while building solutions that have a global impact. You will connect with users worldwide and play a key role in addressing long-standing technical challenges using innovative approaches to manage Apache Flink.
Your Role and Responsibilities
As a Software Engineer at Ververica, you will:
- Leverage your expertise to solve challenging Flink management, data engineering and stream processing problems
- Work both on proprietary and open-source products
- Take end-to-end ownership of new features, improvements, and fixes: Problem breakdown, design, design review, implementation, testing, and documentation
- Take ownership of project components, influencing their technical direction
- Collaborate across diverse teams of developers
- Mentor junior developers, fostering their growth
Requirements
Do you have experience in Software development?, Do you have a Bachelor's degree?, You'll thrive in this role if you:
- Have several years of industry or academic experience in software engineering
- Possess deep expertise in Java and JVM mechanics
- Hands-on knowledge of developing and running applications on Kubernetes environments
- Good knowledge of building Spring Boot applications
- Are well-versed in distributed systems and database systems
- Have experience building data-intensive applications or solutions
- Demonstrate strong programming skills, with a solid grasp of data structures and algorithms
- Are skilled in debugging and resolving issues in distributed systems
- Have experience mentoring other developers through collaboration
- Are passionate about open-source projects, engaging with users, and exploring new opportunities
- Exhibit excellent software engineering practices:
- Designing and reviewing before implementation
- Writing clean, testable, and maintainable code
- Creating thorough documentation
- Breaking down complex tasks into manageable sub-problems