This is a one year Contract position. This appointment may be extended or converted to career status based on the needs of the department.
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 i
UC San Diego is an academic powerhouse and economic engine, recognized as one of the top 8 public universities by U.S. News and World Report. Innovation is central to who we are and what we do. Here, students learn that knowledge isn't just acquired in the classroom - life is their laboratory. UC San Diego's rich academic portfolio includes six undergraduate colleges, five academic divisions and five graduate and professional schools. The university's award-winning scholars are experts at the forefront of their fields with an impressive track record for achieving scientific, medical and technological breakthroughs.