The Tor Project is looking for a Browser Hacker!

(Posted 22 Nov 2013)

Your job would be to work on the C++ patches to our Firefox-based browser, writing new APIs and altering functionality for privacy and security, and making improvements to our collection of Firefox and Thunderbird addons. This would be a contract position spanning 9-12 months, with the possibility of future continuation. You will also be working closely with our existing browser hackers, and with the new extension developer. If you also have extension developer experience, please feel free to apply to both positions.

All candidates must:

  • Have experience in C++ and ideally Javascript. Five years of C++ experience is probably necessary for the level of expertise we want, though some of these years can be replaced with other Object Oriented Programming and/or C experience. If you meet this level of experience with C++/OOP, Javascript can be learned on the job.
  • Have a solid understanding of issues surrounding secure C++ programming and reference counted memory (at least to the level of avoiding issues).
  • Be comfortable and experienced with repeatedly diving into new, unfamiliar codebases, looking for ways to alter and augment their functionality in specific, goal-oriented ways.
  • Be at least passingly familiar with web technologies and how the web works, especially the same-origin model and web tracking.
  • Be comfortable and experienced justifying and documenting technical decisions for a public, world-wide technical audience.
  • Be comfortable working remotely.
  • Be comfortable and experienced with interacting with users and other developers online. Have thick enough skin to survive occasional trolling from either group.
  • Be comfortable with transparency: as a non-profit, everything we do is in public, including your name (or at least your business name) and yearly payment amount.

An ideal candidate would also:

  • Already be familiar with writing addons for Mozilla Firefox or other web browsers.
  • Already be familiar with writing patches for Mozilla Firefox or other web browsers.
  • Already be familiar with compiling software for the Android platform.
  • Be capable of insanely creative yet also ruthlessly pragmatic thinking.
  • Be familiar with probability, statistics, and information theory.
  • Know enough about networking to be able to visualize what HTTP 1.1 looks like on the wire while encapsulated within Tor's network protocol.
  • Have experience with open-source software development, including working with distributed teams across different time-zones containing employees and volunteers of differing skill levels over multiple mediums, including email, instant messaging, and IRC.
  • Have basic familiarity with distributed version control systems.
  • Have contributed significant chunks of code to multiple open-source projects in the past.
  • Genuinely be excited about Tor and our values.

Detailed job description:

Being a Tor Browser Hacker includes triaging, diagnosing, and fixing bugs; looking for and resolving web privacy issues; responding on short notice to security issues; and working collaboratively with coworkers and volunteers on implementing new features and web behavior changes.

We'd also need help making our code more maintainable, testable, and mergeable by upstream. Sometimes, we need to drop everything and scramble to implement last-minute fixes, or to deploy urgent security updates. You'd also be reviewing other people's code, designs, and academic research papers, and looking for ways to improve upon them.

For an even more detailed overview of the full breadth and depth of the work you'd be doing, have a look at The Design and Implementation of the Tor Browser, especially The Design Requirements section.

Other notes:

  • Tor developers can work from wherever you want, in basically any country. We have an office in Cambridge, MA if you prefer. We coordinate via IRC, email, and bug trackers.
  • Academic degrees are great, but not required if you have the right experience.
  • We only write free and open source software, and we don't believe in software patents.

How to apply:

  • Link to a sample of code you've written in the past that you're allowed to show us.
  • Provide a CV explaining your background, experience, skills, and other relevant qualifications.
  • List some people who can tell us more about you: these references could be employers or coworkers, open source projects, etc.
  • Email the above to jobs at torproject.org, specifying the "Browser Hacker" position.

About the company:
The Tor Project is a US 501(c)(3) non-profit dedicated to research, development, and education about online anonymity and privacy. The Tor network's 3000 volunteer relays carry 16 Gbps for upwards of half a million daily users, including ordinary citizens who want protection from identity theft and prying corporations, corporations who want to look at a competitor's website in private, people around the world whose Internet connections are censored, and even governments and law enforcement. Tor has a staff of 14 paid developers, researchers, and advocates, plus many dozen volunteers who help out on a daily basis. Tor is funded in part by government research and development grants, and in part by individual and corporate donations.