Staff Javascript Programmer
Date posted: June 26, 2023
R115475
Responsibilities:
The Staff Programmer will help develop a scalable, robust data-collection system called the National Internet Observatory [1]. The Staff Programmer’s primary responsibility will be leading development of a web browser extension, written in JavaScript, that collects data about usage of the web browser and scraped from websites visited in the browser. This data collection must be performant, scalable, agile in the face of changes to websites, and respect individual privacy. Systems development experience in JavaScript is a requirement. The Staff Programmer will have minimal user-interface development responsibilities. The Staff Programmer will spend a significant amount of time developing and maintaining scrapers for a variety of websites.
The National Internet Observatory is a research infrastructure that collects data on the online behavior of a very large sample of subjects in a secure, privacy-protecting fashion, from personal computers and mobile devices (tablets and mobile phones). We provide analytic access to this data to the scientific community. This Observatory collects data on the important online platforms-- such as Google, Facebook, and Amazon-- that structure what large numbers of people around the world do and see. Our goal is to facilitate general research about online life, as well as specific research about the behavior of major online platforms, thus fostering transparency and accountability.
Qualifications:
Qualified candidates should have at least a BA/BS in Computer Science with a solid background in web development and modern software engineering practices. We are looking for someone who is excited about building cutting-edge measurement systems, working with us on novel research and enabling new visibility into the online ecosystem that drives much of the world today.
The ideal candidate should enjoy building large-scale, continuously running systems --- ones that ensure high availability, privacy, and security through monitoring and that are resilient to failures and outages in system components. The candidate should be thoroughly familiar and proficient with modern ECMA/Javascript, regular expressions, XPath or CSS selectors, and DOM manipulation. Experience with the WebExtensions API for developing web browser extensions is a plus.