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.
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.