Open Source ZMap Developer - Stanford University
Censys
·
Posted:
August 1, 2023
·
Other
About the position
We are seeking a highly-motivated Software Developer to maintain and build new Internet measurement tools. As part of this position, you will extend and maintain the ZMap toolkit to support new research needs and to adapt to changes in Internet architecture. You will help to foster an open source community of external researchers as well as to support researchers in their use of the ZMap tools. All development will be public and open source.
Responsibilities
- Serve as the primary maintainer of the ZMap suite of open source network measurement tools.
- Extend ZMap toolkit to support new network protocols, addressing schemes, and server architectures.
- Work with researchers to understand common failure modes that could result in invalid measurements.
- Design and implement protections to ensure measurement validity in uncontrolled environments.
- Develop a testing and release strategy for safe, long-term maintenance of the ZMap toolkit.
- Foster open source community, write and maintain public software documentation, and support researchers in using ZMap. Act as a public face of the open source project.
- Create and publish auxiliary datasets to assist researchers in performing Internet measurement.
- Provide technical analysis, design, development, conversion, and implementation work. Serve as a technical resource for applications.
- Work as a project leader, as needed, for projects of moderate complexity, including for new measurement tools and systems.
- Other duties as assigned.
Requirements
- Bachelor's degree and five years of relevant experience, or a combination of education and relevant experience.
- Expertise in designing, developing, testing, and deploying applications.
- Proficiency with application design and data modeling.
- Ability to define and solve logical problems for highly technical applications.
- Strong communication skills with both technical and non-technical clients.
- Ability to lead activities on structured team development projects.
- Ability to select, adapt, and effectively use a variety of programming methods.
- Knowledge of application domain.
- Experience developing software in a low-level programming language like C, C++, Go, and/or Rust.
- Strong networking background, including knowledge of Ethernet, IP, TCP, and popular application-layer protocols like HTTP or SSH.
- Experience designing, developing, testing, and maintaining network applications on Linux or BSD.
- Ability and desire to work independently and to help lead an open source community.
- A History of developing documentation and reviewing code written by other developers.
- Interest in security, privacy, networking, or Internet measurement research.
Benefits
- Career development programs and tuition reimbursement
- Opportunities for personal growth and learning, including auditing courses and attending talks by renowned speakers
- Generous retirement plans and time-off policies
- Family care resources and support
- Access to world-class exercise facilities and fitness classes
- Excellent health care benefits
- Opportunities for discovery and fun, including exploring historic sculptures, trails, and museums
- Free commuter programs and ridesharing incentives
- Discounts and other perks