![National Spinal Cord Injury Association Mobile Logo](https://dn9tckvz2rpxv.cloudfront.net/spinalcord.jobs/img/logo.png)
Job Information
Microsoft Corporation Senior Research Software Engineer in Cambridge, United Kingdom
Azure Research Cambridge (UK) is looking for a Senior Research Software Engineer in confidential computing, to join the team building and maintaining the Confidential Consortium Framework ( https://github.com/microsoft/CCF ).
You will work closely with researchers and engineers of the Azure Research: Security & Privacy group and collaborate with other technical and business units within Microsoft in general. The engineering will involve advancing the state-of-the-art in confidential computing methods by taking advantage of new hardware platforms for real-world applications. The work will be done in the context of Microsoft product group collaborations, such as teams responsible for Azure Confidential Ledger ( https://azure.microsoft.com/en-gb/services/azure-confidential-ledger/ ), as well as entirely novel developments.
Research engineering comes with opportunities to develop the future: we believe that confidential computing will become ubiquitous and lead to genuinely new computing opportunities.
Our projects involve learning as we go along, exploring some options which seem like a promising idea but sometimes do not give satisfaction and so we need to be willing to be seen to make mistakes and move on.
Research engineers bring practical engineering skills to problems at the cutting edge. In this team we are building products for real world use at scale, which means the ideas and designs must translate to concrete code which can ship.
Responsibilities
Work with a team of Azure Research: Security & Privacy researchers and software engineers in all stages of the research and development cycle, including early ideation, design, implementation,and testing.
Collaborate with product teams to understand their products, design, and develop key technologies to give those products appropriate confidentiality guarantees.
Partner with engineers from product groups to develop the architecture for deploying confidential solutions in production, ensuring components integrate smoothly and scale, and live systems are stable and healthy.
Help improve and maintain the build, test and release infrastructure used by the team, and the documentation for the project ( https://microsoft.github.io/CCF/main/ ).
Qualifications
You have humility, patience, and fortitude. You keep learning and can become an expert in unfamiliar fields.
You are open and willing to be seen to make mistakes and move on.
You have a curious and inquisitive mindset combined with an ability to focus on solving problems.
You are comfortable working in situations where there is not a well-trodden path to follow while developing that code and engineers must be prepared to work out how to do things. This leads to a need to be able to keep the rest of the team informed about how new things work, that can require patience and fortitude. Similarly, it is necessary to be interested in how other team members work is going. Providing and taking honest feedback is required. Enabling other team members and helping them to enable you is also essential.
Much of the work concerns relations with teams outside of our direct sphere of influence. As a team we need to present a uniform view externally while being appropriately diplomatic when taking or offering dependencies, i.e. us using or adapting existing products or enabling entirely new features within the other teams’ products. Again, appropriate humility and patience is required to understand the position of other teams, to inform them and to influence them.
Requirements
Experience of shipping and supporting products in the field.
Able to debug a problem, both in the technical domain and the soft, people/team domain.
Good and confident communicator.
Able to learn new skills on your own.
Nice To Have
We cannot expect a candidate to be familiar with all of them, but the technologies involved now include:
C++ – the main implementation language for CCF.
Trusted Execution Environments, such as SGX, SEV-SNP etc.
Distributed Consensus Algorithms, such as Paxos, Raft, PBFT etc.
Web protocols, HTTP 1.1/2/3, QUIC.
JavaScript, TypeScript, Web Assembly– managed application runtimes in CCF.
VS Code, git, GitHub, Linux development, Python, Sphinx.
Experience in the following domains would also help:
High performance distributed systems.
Industries with regulatory scrutiny of security or confidentiality.
End-to-end functional and performance test systems.
Cryptographic protocols and PKI.
Open-source framework development and writing public technical documentation.
Public cloud as a customer.
Specification languages such as TLA+.
Microsoft is an equal opportunity employer. Consistent with applicable law, all qualified applicants will receive consideration for employment without regard to age, ancestry, citizenship, color, family or medical care leave, gender identity or expression, genetic information, immigration status, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran or military status, race, ethnicity, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable local laws, regulations and ordinances. If you need assistance and/or a reasonable accommodation due to a disability during the application process, read more about requesting accommodations (https://careers.microsoft.com/v2/global/en/accessibility.html) .