Software Engineer II - Oracle Databases

Fivetran Fivetran · Data AI · Novi Sad, Serbia · Engineering Department

Software Engineer II role at Fivetran focused on building and improving data pipeline services for Oracle databases. Responsibilities include debugging data replication, analyzing new Oracle features, maintaining existing connectors, and contributing to software design and technical roadmaps. Requires 2+ years of Java/C programming, experience in cloud environments, and system design skills.

What you'd actually do

  1. 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.
  2. Analyze new features that are introduced by Oracle in recent releases and determine how to develop supporting features.
  3. Contribute to the efforts to the maintenance and improvement of existing connectors; call for improvement in all areas of Fivetran's codebase and infrastructure.
  4. Be a part of the process to move a high performance client side service to the cloud and operate at scale.
  5. Develop software designs and technical roadmap for the team.

Skills

Required

  • 2+ 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
  • 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
  • 1+ years of of working in a cloud environment utilizing AWS, GCP, Docker/Kubernetes, CircleCI, or similar technologies
  • 1+ years of infrastructure as code on Docker/Kubernetes, AWS CloudFormation, Terraform, Google Cloud Deployment Manager, or equivalent.
  • Able to define project requirements.
  • Proficient at designing software and infrastructure
  • Experience understanding customer requirements and/or problems and breaking them down into engineering tasks
  • Experience working in large distributed teams

Nice to have

  • 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.