Software engineer / Research Staff Member / Post-doctoral researcher (multiple positions) in the field of Distributed systems and blockchain.
Ref. 2019-06
Overview
We are researching and developing scalable, fault-tolerant and secure distributed and blockchain systems that drive a new generation of financial and digital transactions. We are looking for highly motivated and enthusiastic software engineers and distributed systems researchers to join the Industry Platforms and Blockchain group at IBM Research – Zurich.
Project
Candidates will be expected to contribute to the architecture definition and implementation in our blockchain projects, notably their aspects pertaining to distributed systems. You will be able to contribute directly and make an impact not only on IBM products, but also on the Hyperledger Fabric open-source project. The researchers in the group have deep expertise and knowledge in scalable, fault-tolerant and secure distributed systems. Software to be developed will be included in critical production systems and is expected to be of high quality, modularity, maintainability, scalability, and resilience.
Qualifications / Requirements
Candidates are expected to have the following background and interests
- Candidates with a PhD degree and a strong research publication record in the fields of distributed systems/distributed databases, and who are willing to implement real systems are strongly encouraged to apply. Such exceptional candidates can be considered for a post-doctoral or a Research Staff Member role, depending on experience and career accomplishments.
- Degree in Computer Science, Software Engineering, Software Architecture, or equivalent.
- At least three years of experience in software-related positions (building systems in the scope of a graduate degree counts towards these three years).
- Experience in distributed and parallel systems and large software architectures.
- Basic understanding of one or more of the following protocols/systems: Paxos, Raft, ZooKeeper, etcd, Consul.
- Proficient in at least two of the following programming languages: Golang, C, C++, Java.
- Experience with standard engineering and coding practices.
- Pragmatic “get it done” attitude.
- Capable of participating actively in brainstorming sessions in multi-disciplinary teams. Ability to propose, defend, and critique ideas.
- Ability to conduct independent work and to work in a team as required by the task at hand; willingness to assume responsibility.
- Excellent verbal English communication skills.
- Eagerness to learn independently about the subject area(s) of the project(s) and underlying distributed systems technologies.
- In addition, the following skills are required for post-doctoral / Research Staff Member roles:
- PhD in distributed systems/distributed databases.
- Solid background in security and networking.
- Strong research publication record.
- Finally, one or more of the following skills are desirable, but not necessarily required:
- Hands-on knowledge of and experience with Hyperledger Fabric.
- Experience deploying and evaluating the performance of (large-scale) distributed systems.
- Deep understanding of designing protocols/systems such as Paxos, Raft, ZooKeeper, etcd, Consul, PBFT.
- Experience with modern hardware accelerators such as FPGA and RDMA.
- Background in game theory and economics.
- Knowledge of proof-of-work blockchains (Bitcoin, Ethereum).
- Experience with open-source development.
- Proficiency, familiarity and/or experience with additional programming languages.
Application Procedure
Please send your CV including contact information for references
Judith Blanc
Quick Overview————- | |
Organization | IBM Research, Zurich |
Fellowship Level | Postdoctoral |
Country | Switzerland |
Subject areas | Computer Science, Software Engineering, Software Architecture |
Fellowship amount | — |
Eligibility | PhD |
Deadline | Until filled |
——————————————– |