Job description
We are looking for a software engineer to work on BIND 9. This engineer will be a core part of the development team, assisting in developing new features and maintaining the program.
BIND 9 is the most widely-used Domain Name server on the Internet, operators of the DNS root system, by Internet Service providers and enterprises. The BIND 9 development team contributes to developing the Internet standards for DNS, and BIND 9 is a reference implementation of the standard.
Responsibilities
Working with the team to design and develop new features
Reviewing code changes
Responding to bug reports from a variety of sources and fixing bugs
Assisting in release engineering
Assisting in project planning
Acting as on-call escalation engineer (eventually)
Participating in organizations such as the IETF to develop Internet protocols
Job requirements
Required Skills
Spoken and written English at the conversational level
Programming skills in a procedural or object-oriented programming language (C, C++, Rust, ...)
Understanding that BIND 9 is written in C11/C17 and you will be required to program in C
Ability to learn and adapt to new technologies (see below for a more comprehensive list)
Familiarity with Unix/BSD/Linux operating systems
Self-motivation and self-control when working from home
Be a nice person and a decent human being
Desirable Skills
Experience with C development, preferably at the C11/C17 level
Specific experience with operating BIND 9
Practical experience with Git
Knowledge about the DNS protocol
Knowledge about multiprocessor programming
Knowledge about networking, both from a theoretical as well as a practical standpoint
Experience in network programming with libuv
Experience with practical cryptography and programming with OpenSSL
Experience with Python
Familiarity with open source tools and working environments
What We Use (In Alphabetical Order)
Address Sanitizer, Autotools, Clang Static Analyzer, cmocka, Coverity, Docker, Flamethrower, GDB, Git, GitLab, GnuPG, libvirt, mock, Packer, QEMU, respdiff, RPM, rr, ShellCheck, Sphinx-doc, Thread Sanitizer, Userspace-RCU, Wireshark
Educational Requirements
Adequate experience in a scientific or technical subject, this can include relevant coursework.
Location/Hours of Working
Anywhere. Although ISC is located in the United States, most ISC's staff work from their homes throughout the world.
With staff working from many time zones, there are no set hours of work. We expect that staff work forty hours a week, but within parameters set by their manager (e.g., available for meetings, having some overlap with other team members), staff can choose their own working hours. Many of the ISC staff have small children at home, so we understand there might be some volatility in working hours.
This position is suitable for home working and for a person with children.
Note that occasional international travel will be required to attend company and team meetings and/or conferences. In the past, these have been held in the USA and Europe.
To learn more about ISC and its critical role in the Internet community, visit https://www.isc.org.