Positions are available for talented and passionate software engineers in the <a href="http://dedis
epfl
ch/" rel="nofollow">Decentralized and Distributed Systems (DEDIS) lab at <a href="http://epfl
ch" rel="nofollow">EPFL led by <a href="http://bford
info" rel="nofollow">Prof
Bryan Ford in <a href="https://www
google
ch/search?q=lausanne&client=safari&rls=en&source=lnms&tbm=isch&sa=X&ei=AlUJVdPVOcbaU8eCg-AF&ved=0CAgQ_AUoAg&biw=1038&bih=661" rel="nofollow">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 (, Git), open-source workflows (, 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 <a href="https://www
ch
ch/en/working-switzerland-eu-efta/" rel="nofollow">right to work in Switzerland