Recruiting a Security/Privacy Software Engineer

Jan 21, 2019  

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 is ready to scale their code from proof-of-concept to production, 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 DEDIS software-development team 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 and smart contract technologies with applications to cryptocurrencies, collaboration, and digital democracy.
  • New privacy-preserving approaches to identity management, decentralized organization membership and management, and Sybil-attack protection.
  • Abuse-resistant anonymous communication protocols and messaging applications.
  • Systematic defenses against side-channel and traffic analysis attacks.

You will have the opportunity to act as an advisor to talented EPFL bachelors and masters students working on semester projects, and to interns visiting from other institutions.

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, blockchains and cryptocurrencies, etc.).
  • Applied cryptography (ciphers, elliptic curves, lattice crypto, 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.

Candidates should have the right to work in Switzerland.

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 their application on the StackOverflow job posting.