QA Engineer for DHCP

Job description

ISC is a well-established non-profit corporation with a mission to provide open source solutions to help sustain the infrastructure of the Internet and protect against monopoly and centralized control.  We are experts in networking and open source.  The team is spread around the globe and works 100% remotely, although we stay in close communication via chat and frequent video calls.



Kea is an open source DHCP server that is rapidly gaining popularity, particularly among new regional ISPs. Our users love the Kea API and its ability to integrate with external databases, and they absolutely require excellent performance and high availability. We want a tinkerer who is interested in using their lab skills to support our users. Attention to detail and a methodical approach are essential. You will be working relatively independently on simulating different network scenarios, using a mix of our tools (different DHCP client simulators such as perfdhcp or ISC Forge, performance test lab, etc.), existing open source tools (Gitlab, Github, Jenkins, etc.) and developing new ones. An important aspect of the job will be implementing new tests using Forge, an automated test environment written in Python.


You will spend most of your time with Kea software with some limited exposure to Stork, ISC DHCP and BIND 9. You will be primarily working on the Forge test software development using Python.


Part of the job will include writing test reports, communicating solutions and recommendations to users, possibly even including delivering presentations on your findings.


The entire team works from home, so you will be managing your own work environment. We communicate constantly via instant messaging and email and have regular team meetings several times a week. Most of our developers and support customers are in Europe and the US. It is important that you are able to work during the European and US East Coast business day for collaboration with the rest of the team.


Background

ISC funds development of open source software by selling technical support subscriptions. We have a small team of dedicated support engineers. Not infrequently, our support users have questions or problems that require testing to reproduce the problem or to verify a solution. This testing could result in a solution for the user, or in identification of a specific bug or requirement for development. We are a relatively small team, so we also need to be efficient. We automate most of the tests we develop, to prevent regressions and to scale our test coverage. Most of our automated tests are written in Python. You will need to establish, maintain and monitor on-going functional, system, conformance and performance test systems.


The Kea development team contributes to developing the Internet standards for DHCP, and Kea aims to be a reference implementation of the DHCP standards. Working with IETF RFC standards is part of our daily job. Most of the software developed is open source and is published on GitHub.

Responsibilities:

  • Investigating software and configuration issues
  • Running, extending, and improving Kea tests
  • Maintaining, tweaking, and evolving the CI/CD environment (this includes unit, functional, system, conformance,  performance, fuzz tests)
  • Troubleshooting Kea issues and writing code reproducing them
  • Approving product releases for delivery
  • Release engineering

Job requirements

Required Skills

  • At least 2 years of experience as a developer, test automation developer, QA software test developer, or similar role
  • Strong general troubleshooting skills, with ability to assess, document and solve complex issues
  • Experience with installing, maintaining, and troubleshooting Unix-like systems (Linux, BSDs)
  • Practical experience with Python (or experience in similar language and a willingness and ability to learn Python)
  • Ability to communicate freely in English (verbal & written)

Desirable Skills

  • Knowledge of IPv4 and IPv6 networking, both from a theoretical and a practical standpoint
  • Understanding of the DHCP protocol
  • Practical experience with Kea, ISC DHCP, or other DHCP implementations
  • Practical experience with GitLab CI and/or Jenkins
  • Knowledge of virtualization technologies (docker, lxc, vmware, virtualbox)
  • Practical experience with software packaging
  • Practical experience with Git
  • C/C++ programming  and debugging experience
  • Experience with Amazon Web Services

Educational Requirements

Bachelor's Degree in a scientific or technical subject, preferably computer science or computer networking. Alternatively, sufficient professional experience in network-related fields.


Location

Anywhere. Although ISC's headquarters is in Newmarket, NH (USA), most of ISC's staff work from their homes throughout the rest of the world.

This position is open to anyone regardless of nationality, and is suitable for home working.  Note that occasional travel (roughly 1 time per year) to the company's meetings will be required. Previously we met in the US and EU. Travel is expected to resume after the COVID-19 epidemic situation improves.


To learn more about ISC and its critical role in the Internet community, visit https://www.isc.org.