UC San Diego Jobs Site

Column Content Left

#89569 Research Programmer

Extended Deadline: Thu 10/19/2017

UCSD Layoff from Career Appointment: Apply by 8/23/17 for consideration with preference for rehire. All layoff applicants should contact their Employment Advisor. Eligible Disability Counseling and Consulting services (DCC) or Special Selection clients should contact their Vocational Rehabilitation Counselor for assistance.

Posting will remain "Open Until Filled"


Applies skills as a seasoned, experienced software professional with a full understanding of industry practices, community standards and relevant policies and procedures to medium-sized projects or portions of large projects with moderate scope and complexity. Resolves a wide range of issues. Demonstrates competency in selecting tools, methods and techniques to obtain results.

As part of the Center for Applied Internet Data Analysis (CAIDA) team, responsible for independently designing and developing applications as well as modifying existing codebases (e.g., MANIC, AS Rank, Archipelago, Henya, Spoofer, BGPstream, DROP/DDec) that enable large-scale scientific projects and experiments that measure and infer Internet topology, interdomain routing relationships, performance, geographic location, and security properties of networks, and validate, visualize and report results.

This position integrates off-the-shelf software components (InfluxDB, ElasticSearch, Grafana) into larger system prototypes to support correlation and synthesis of disparate time-series measurements. This position will also design, develop and implement complex tools to integrate with and support comprehensive and production quality software programs and packages.

Advises researchers on visualization and reporting options for Internet and interdomain traffic and topology data. Develops prototype software and algorithms for collecting, analyzing and depicting Internet data. Architects, designs, implements and maintains programs to perform multiple analyses on collected Internet measurement data. Works to automate and put into production ongoing measurements, analyses, and periodic/real-time reporting. Contributes written and graphical elements to web pages, scientific papers, software documentation, proposals and other publications that describe CAIDA's scientific projects.

For additional information, please visit caida.org


  • Strong, demonstrated experience and knowledge of UNIX operating systems in addition to major variants of the UNIX OS found on desktop and server computers.

  • Advanced skills associated with software design, modification, implementation and deployment, including object-oriented programming concepts.

  • Extensive knowledge of and demonstrated experience with key programming languages, to include object-oriented variations of one or more languages in particular: Compiled languages (Java, C, C++, Go); Use of both clang and gcc compilers; and Scripting languages (Perl, Ruby, Python, and CGI and browser-based).

  • Experience with regression testing and troubleshooting issues of memory usage and runtime.

  • Proven knowledge of and demonstrated experience with generic-style programming concepts including use of C++ templates and algorithms in support of sophisticated software development efforts.

  • Demonstrated competency with terms, technology, and constructs required for the development and documentation of software programs and packages that collect, process, analyze, transform, and visually report on data in support of large-scale scientific experiments that measure the Internet at scale.

  • Key domain topic areas include but are not limited to:
    Protocols such as IP, TCP, UDP, BGP, ICMP; IPv4 and IPv6 address data representation and packet formats; Networking concepts such as Autonomous Systems, bandwidth, RTT, latency, jitter, routing, peering; Networking standards such as physical and link layer protocols; Understanding of data interchanges such as IXPs; and Entities such as NANOG, IETF, ICANN, and the RIRs.

  • Familiarity with common Internet datasets and programming APIs (e.g., Route Views, WHOIS, and DNS, Internet Assigned Numbers Authority (IANA), Internet Protocol (IP) address and Autonomous System (AS) number allocations), their data formats, and their use in Internet data analysis, geolocation of Internet resources, and inferring Autonomous System (AS) siblings.Familiarity with Netacuity and MaxMind data formats and use of the programming APIs.

  • Demonstrated ability to understand functional needs and how systems can support those needs.

  • Demonstrated ability to develop conversion and system implementation plans. Ability to parse and convert multiple different character encodings (Unicode, ISO 8859, etc...)

  • Ability to thoroughly understand other programmer's code and hand-made data structures to replace them with newer, standard structures.

  • Ability to optimize or refactor existing code to improve performance and/or readability.

  • Ability to troubleshoot and track down obscure bugs in other programmer's code when unexpected failures occur.


~ Job offer is contingent on clear Background Check.

The University of California is an Equal Opportunity/Affirmative Action Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, disability, age, protected veteran status, gender identity or sexual orientation. For the complete University of California nondiscrimination and affirmative action policy see: http://www-hr.ucsd.edu/saa/nondiscr.html

UC San Diego is a smoke and tobacco free environment. Please visit smokefree.ucsd.edu for more information.

Payroll Title:
San Diego Supercomputer Center
Hiring Salary Range
$59,700 - $92,000 / Year
Appointment Type:
Appointment Percent:
Total Openings:
Work Schedule:
Days, 8 hrs/day, Mon-Fri