
Senior Software Engineer - Databases
- Toronto, ON
- Permanent
- Temps-plein
- Facilitates Data Analytics - join our mission to reliably deliver best-in class schemas, and clean data, designed to be intuitively useful to analysts.
- Contributes to our Community - help develop tools like Data Lakes, SQL-based Transformations, and schema explorers to empower analysts to choose the best tools, and to make those tools more powerful.
- Is Absolutely Dependable - work to make Fivetran the most reliable and secure component of our customers' data infrastructure.
- Java, SQL Server, SQL, Docker, AWS, GCP, BuildKite, DBeaver, Grafana
- Dive deep into data replication debugging, analyzing existing code that is in use by hundreds of customers today. Some clients are operating the largest Oracle clusters in the world.
- Analyze new features that are introduced by Oracle in recent releases and determine how to develop supporting features.
- Contribute to the efforts to the maintenance and improvement of existing connectors; call for improvement in all areas of Fivetran's codebase and infrastructure.
- Be a part of the process to move a high performance client side service to the cloud and operate at scale.
- Develop software designs and technical roadmap for the team.
- Contribute to hiring by participating in the interview process.
- Code:
- 5 years programming in Java or C languages
- Writes well-structured and performant code
- Be able to dive into code that has been previously written and suggest improvements
- Troubleshoot:
- 2+ years of experience on-call or supporting customer with live production system
- Demonstrated ability to solve complex problems
- Design:
- Understand and can explain how to build high performance systems and processes
- Have an analytical mindset that helps you identify design flaws in existing systems and come up with improvements
- System:
- 2+ years of of working in a cloud environment utilizing AWS, GCP, Docker/Kubernetes, or similar technologies
- Project management:
- Experience working on requirements with product personnel refine requirements for technical projects.
- Experience breaking down requirements into engineering tasks
- Collaboration:
- Experience working in large distributed teams
- Experience mentoring and growing junior engineers
- Working experience with database internals such as storage format, compression techniques, encryption, disaster recovery, transaction management, or high availability.
- Working experience in designing and developing file, event, application, or database connectors.
- Working experience with advanced Java development such as multi-threads, multi-tasking, different asynchronous programming mechanisms, garbage collector tuning, etc.
- Working experience setting up, maintaining and tuning production Oracle RDBMS.