Software Engineer
Job Description:
We are currently looking for a Software Engineer to be part of the high availability team. This person will be helping maintain and support EDB Failover Manager (EFM).
EFM is an established, widely used tool for managing Postgres database clusters, enabling high availability of primary-standby deployment architectures using streaming replication. Failover Manager provides a Postgres primary database node automatic failover to a standby database node in the event of a software or hardware failure.
The ideal candidate is going to possess a combination of deep technical aptitude in the software development space, the ability to navigate various Unix-like environments, and a savvy ability to diagnose issues across multiple products and machines in a high availability environment.
What your impact will be:
Maintain EFM code, delivering bug fixes and occasional new features as required for customers
Develop legacy tests into a continuous automation framework to allow automated testing for regular releases
Diagnose customer issues that are not handled by front-line support, identifying problems in customers’ environments or EFM fixes that may be needed
Work with the EFM architect to become an expert in the code, normal uses cases, and edge cases that can come up in the wide variety of environments customers use
Work developing our next-generation replication tools
What you will bring:
3+ years of hands-on experience with Java for complex, distributed system architecture and development
Strong knowledge of Java concurrency patterns
Experience working with relational databases, preferably PostgreSQL
Calm and methodical approach with good communication skills in English
Strong understanding of network protocols, server architecture, and database management.
What will give you an edge:
Proven experience in designing and implementing high availability and failover solutions.
Experience with physical streaming replication in PostgreSQL
Experience with disaster recovery planning and implementation.
Familiarity with load balancing and clustering technologies.
Experience with integration testing.
Experience with GitHub and GitHub actions
Experience with Ansible or Trusted Postgres Architecture (TPA)
Experience with the JGroups open source toolkit
About the job
Apply for this position
Software Engineer
Job Description:
We are currently looking for a Software Engineer to be part of the high availability team. This person will be helping maintain and support EDB Failover Manager (EFM).
EFM is an established, widely used tool for managing Postgres database clusters, enabling high availability of primary-standby deployment architectures using streaming replication. Failover Manager provides a Postgres primary database node automatic failover to a standby database node in the event of a software or hardware failure.
The ideal candidate is going to possess a combination of deep technical aptitude in the software development space, the ability to navigate various Unix-like environments, and a savvy ability to diagnose issues across multiple products and machines in a high availability environment.
What your impact will be:
Maintain EFM code, delivering bug fixes and occasional new features as required for customers
Develop legacy tests into a continuous automation framework to allow automated testing for regular releases
Diagnose customer issues that are not handled by front-line support, identifying problems in customers’ environments or EFM fixes that may be needed
Work with the EFM architect to become an expert in the code, normal uses cases, and edge cases that can come up in the wide variety of environments customers use
Work developing our next-generation replication tools
What you will bring:
3+ years of hands-on experience with Java for complex, distributed system architecture and development
Strong knowledge of Java concurrency patterns
Experience working with relational databases, preferably PostgreSQL
Calm and methodical approach with good communication skills in English
Strong understanding of network protocols, server architecture, and database management.
What will give you an edge:
Proven experience in designing and implementing high availability and failover solutions.
Experience with physical streaming replication in PostgreSQL
Experience with disaster recovery planning and implementation.
Familiarity with load balancing and clustering technologies.
Experience with integration testing.
Experience with GitHub and GitHub actions
Experience with Ansible or Trusted Postgres Architecture (TPA)
Experience with the JGroups open source toolkit