Software Engineer

May 29, 2017  

Security/Privacy Software Engineer

The post mentioned below is now filled. But keep a look out on our StackOverflow Jobs page where we may advertise again in the future.

Positions are available for talented and passionate software engineers in the Decentralized and Distributed Systems (DEDIS) lab at EPFL led by Prof. Bryan Ford in Lausanne, Switzerland. The DEDIS lab focuses on building secure, scalable, and privacy-preserving decentralized systems, including next-generation blockchain or distributed ledger technology.

The ideal candidate has been coding since childhood because it was fun, likes to build real software for real people to use, and believes their code can change the world for the better. A deep understanding of distributed systems, networking, and applied cryptography is a major bonus.

Major Duties and Responsibilities

The software engineers will join the existing software-development team of Prof. Ford and collaborate with PhD students and other researchers in the DEDIS lab to design, implement, document, and deploy highly usable, open-source, security- and privacy-enhancing tools and infrastructure. The engineers will work on subjects such as

  • Next generation blockchain and distributed ledger technologies with applications to cryptocurrencies and beyond.
  • Large-scale, low-latency anonymous messaging and blogging.
  • Tracking-resistant WiFi and peer-to-peer ad-hoc networking.
  • User-friendly, privacy- and security-hardened operating systems.
  • Systematic defenses against side-channel and fingerprinting attacks.

Skills and Experience

Although the primary hiring criterion is proven raw talent and passion for programming, prior experience in the following areas is a plus:

  • Systems programming languages such as C, C++, Go, and/or Rust.
  • Network protocols and programming (Ethernet, IP, TCP, UDP, SSL/TLS).
  • Mobile programming in Android and/or iOS.
  • Distributed systems programming and algorithms (replication/consistency, Paxos/BFT, DHTs, peer-to-peer protocols, gossip, swarming, etc.).
  • Applied cryptography (ciphers, RSA, DSA, elliptic curves, zero-knowledge proofs).
  • Team-based code and project management using revision control (e.g., Git), open-source workflows (e.g., GitHub), unit tests, and continuous integration.

We prefer candidates who have strong communication and writing skills in English, an ability to build maintainable and well-documented software, and a desire to self-evaluate and refine their tools and skills regularly.

Typical candidates will have at least a bachelor’s degree in computer science or comparable skills and experience. A scientific research background is welcome but not required.

Work Environment

As one of the internationally highest-ranked technology institutes, EPFL offers a thriving intellectual environment, outstanding facilities, and an active community. It is located in Lausanne, a beautiful and culturally active city on the shores of Lake Geneva, close to the Swiss and French Alps, and a comfortable direct train-ride from Paris, Milan, and Zürich.

Application Submission

Candidates should submit a full CV, including contact information for at least two references and a cover letter of intent to Bryan Ford and Angela Devenoge, with “Application: Software Engineer” in the subject line (PDF attachments only). Applications should be submitted by July 1st, 2017, but the positions will remain open until filled. Shortlisted candidates will be contacted individually for interviews.