US Jobs US Jobs     UK Jobs UK Jobs     EU Jobs EU Jobs

   

Distributed Systems Engineer

Company

Federal Reserve Bank of San Francisco

When you join the SF Fed, you join a team of people working together to foster an inclusive economy that works for everyone.

From data-driven insights to cloud transformation, the information technology team moves the SF Fed forward.

We use innovative technologies and Agile methods to positively impact every American across the communities we serve.

The Federal Reserve System serves as the central bank of the United States.

Its fundamental mission is to foster the stability, integrity, and efficiency of the nation’s monetary, financial, and payments systems.

This position is responsible for supporting the Federal Reserve System’s Central Bank Digital Currency (CBDC) Research and Development program.

Given the US dollar’s importance, the Federal Reserve System seeks to further understand the implications, costs, and benefits of the use of different technologies for a potential US CBDC to better understand this emerging field.

This position offers a unique opportunity to be part of a world-class team working on cutting edge technologies related to CBDC R&D.

You will participate in a dynamic work environment that has the feel of a startup while also maintaining the benefits of a larger organization.

We empower our people to balance their life and work responsibilities.

That’s why we offer a flexible hybrid work model that allows you to collaborate with office colleagues on some days, and work from home on others.

Job Description
What you will be responsible for:


* Designing and implementing scalable distributed systems, primarily in Go


* Working with TechOps to containerize and deploy distributed systems in the cloud using Kubernetes


* Designing and implementing distributed systems protocols such as two-phase commit, replication through distributed consensus and concurrency control algorithms


* Utilizing cryptographic algorithms and modern best practices to ensure security and fault tolerance of distributed systems


* Designing and executing wide-scale system and micro-benchmarks to understand and debug performance


* Writing system, integration and unit tests to provide quality assurance and prevent regressions


* Providing thoughtful and thorough code reviews


* Writing clear and concise code and architecture documentation


* Communicating solutions, challenges and results to both technical and non-technical teams

What skills you will bring:


* Strong software engineering and debugging skills, with a particular focus on the Go programming language


* Experience deploying and testing containerized applications in the cloud using Kubernetes and AWS


* Experience implementing distributed systems algorithms at scale, particularly consensus algorithms like Raft and BFT, and two-phase commit


* Experience applying cryptographic algorithms such as hash functions, digital signatures and encryption in a distributed systems context


*...




Share Job