Let’s get started
By clicking ‘Next’, I agree to the Terms of Service
and Privacy Policy
Jobs / Job page
Systems Engineer  image - Rise Careers
Job details

Systems Engineer

Join us at Irreducible as we accelerate the ZK revolution by supporting web3 networks with reliable and cost-efficient proof generation. We’re a high-performance cryptography startup (with an exciting hardware twist) looking for a talented Systems Software Engineer. A more technical description of what we do is below!

Role Overview

Our systems software team has a broad scope. For this reason, we are looking for experienced team players who have solid engineering fundamentals, as well as specific expertise in at least one of:

  • Performance optimization (Rust or C++)

  • Blockchain backend (Rust)

  • Rust

Depending on your specific profile, you may find yourself 

  • Optimising our software stack that integrates FPGA accelerators with cryptographic application code. This involves optimal management of memory and compute resources, detailed performance profiling, as well as implementation, modification and instrumentation of cryptography code.

  • Orchestrating distributed proving tasks over an FPGA server cluster, working with cryptography engineers on library APIs, or integrating our stack with blockchain networks.

Necessary Qualifications

  • Solid computer science and computer architecture fundamentals

Bonus Qualifications

If you possess some of the qualifications below, and are curious about some of the others, we would be thrilled to hear from you:

  • Significant experience benchmarking, tuning and optimizing non-trivial multi-threaded software across layers of abstraction: Algorithms, concurrency, scheduling, operating system (Linux) performance tweaking, large data and memory constraints, recommendation of hardware configurations.

  • Significant professional Rust experience

  • Understanding of fundamental blockchain concepts

  • Understanding of cryptographic proof systems and zero-knowledge cryptography

  • Understanding of microservices architecture

  • Implementing high-performance software and distributed systems

  • Implementing low-level cryptographic primitives

  • Programming embedded processors and Linux kernel modules/drivers

  • Programming GPUs or FPGAs

  • Modifying and contributing to open-source codebases

  • Knowledge of AWS and/or Google Cloud, as well as of computer security principles

Locations supported: 

We’re looking for candidates who are located between the USA East Coast and Central Europe time zones.

We are also in the process of opening an office in Berlin, and are excited to support relocation, on a case by case basis. Once our office is open, we plan to bring the whole company together for ~one week per quarter in Berlin.

We have a globally distributed company, and ensuring the team works in a cohesive way is our main goal.

About us:

We're building out a high-performance, cost-efficient compute stack for advanced cryptographic proofs, specifically zk-SNARKs. Verifiable computing with zk-SNARKs is taking off as a solution to the scalability and privacy limitations that today's blockchains suffer from. A new wave of blockchain protocols that use zk-SNARKs to prove smart contract executions, such as Polygon zkEVM, Starknet, and zkSync, are already in production. We believe there is a big market opportunity to generate proofs for these networks at scale in a cost-effective way [1]. There are lots of interesting performance engineering challenges we need to solve to keep up with the maximum device throughput. 

We take the approach of co-designing hardware and software systems to accelerate SNARK generation end-to-end. Our first-generation tech stack uses FPGA accelerators running custom digital logic tailor-made for our use case [2].

We also conduct cryptography research to identify computationally efficient algorithms for verifiable computing. These research efforts produced a novel cryptographic construction based on towers of binary fields called Binius [3] [4], which we are currently developing into a production-grade system.

Our team has cross-domain expertise and includes hardware designers, low-level systems software engineers, cryptography engineers, and data center specialists, several of whom worked in HFT previously.

[1] https://www.paradigm.xyz/2022/04/zk-hardware

[2] https://www.ulvetanna.io/news/fpga-architecture-for-goldilocks-ntt

[3] https://www.ulvetanna.io/news/binius-hardware-optimized-snark

[4] https://cointelegraph.com/news/vitalik-buterin-explains-binius-improve-zero-knowledge-proofs

[5] https://www.ulvetanna.io/news/introducing-ulvetanna

NOTE: We can not sponsor visas of any kind at this time.

We are committed to creating a diverse and inclusive workplace where talented individuals can thrive and grow. We value the different perspectives, experiences, and backgrounds that each person brings to our team. Even if you don't fit 100% of the job's necessary qualifications, we'd still love to hear from you.

To all recruitment agencies: Irreducible does not accept agency resumes. Please do not forward resumes to our jobs alias, Irreducible employees, or any other organisation location. Irreducible is not responsible for any fees related to unsolicited resumes. Please read our full policy here.

Average salary estimate

$100000 / YEARLY (est.)
min
max
$80000K
$120000K

If an employer mentions a salary or salary range on their job, we display it as an "Employer Estimate". If a job has no salary data, Rise displays an estimate if available.

What You Should Know About Systems Engineer , Irreducible

Join the innovative team at Irreducible in Berlin as a Systems Engineer, where we are driving the ZK revolution by providing support to web3 networks with reliable and cost-efficient proof generation. At Irreducible, we pride ourselves on being a high-performance cryptography startup that blends cutting-edge software with a unique hardware twist. As a Systems Engineer, you will engage in a variety of exciting projects that require not just solid engineering fundamentals but also specific expertise in areas like performance optimization using Rust or C++. Depending on your skills, you might work on optimizing our software stack that interacts with FPGA accelerators for cryptographic applications, or you may be tasked with orchestrating distributed tasks over an FPGA server cluster, collaborating with cryptography engineers. With a focus on creating efficient algorithms and understanding blockchain backends, your role will include managing complex memory and computing resources while embracing the challenges of high-speed cryptographic proof generation. If you're passionate about developing systems software and have a knack for tackling performance issues, joining Irreducible offers a unique opportunity to be at the forefront of blockchain technology. We are an open team that values creativity and collaboration, and we're excited to support relocation for the right candidates. Come and be a part of our journey to revolutionize web3!

Frequently Asked Questions (FAQs) for Systems Engineer Role at Irreducible
What are the primary responsibilities of a Systems Engineer at Irreducible?

As a Systems Engineer at Irreducible, your primary responsibilities will include optimizing our software stack that integrates FPGA accelerators with cryptographic application code, orchestrating distributed proving tasks over FPGA server clusters, and collaborating on API libraries with cryptography engineers. Your work will directly contribute to improving the performance and efficiency of our systems, vital for supporting web3 networks.

Join Rise to see the full answer
What qualifications are required to apply for the Systems Engineer position at Irreducible?

To be considered for the Systems Engineer position at Irreducible, candidates should have a solid understanding of computer science and computer architecture fundamentals. Additionally, experience in performance optimization using Rust or C++, knowledge of blockchain concepts, and familiarity with cryptographic proof systems are preferred. We welcome diverse applicants, and being curious about specific technologies can set you apart.

Join Rise to see the full answer
Is prior experience with FPGA technology necessary for the Systems Engineer role at Irreducible?

While prior experience with FPGA technology is a bonus for the Systems Engineer role at Irreducible, it is not strictly necessary. What we value most is a solid foundational knowledge of systems software engineering and a willingness to learn. If you possess relevant skills in Rust, performance optimization, or blockchain understanding, you could be a great fit for our team.

Join Rise to see the full answer
What projects will a Systems Engineer at Irreducible be involved with?

A Systems Engineer at Irreducible will work on a variety of projects including optimization of the software stack for FPGA accelerators, performance profiling, and integrating blockchain networks. You’ll also engage in the exciting challenge of developing systems that leverage advanced cryptographic proofs, contributing to the emerging field of zk-SNARKs that aim to enhance blockchain scalability.

Join Rise to see the full answer
What is the company culture like for Systems Engineers at Irreducible?

At Irreducible, the company culture is built around inclusivity, collaboration, and innovation. As a Systems Engineer, you will join a team of diverse experts in hardware and software engineering. We encourage creativity and problem-solving in a supportive environment where every voice matters. Our goal is to foster a sense of community even as a globally distributed team.

Join Rise to see the full answer
Common Interview Questions for Systems Engineer
Can you explain how you would approach performance optimization in a cryptographic application?

When addressing performance optimization in a cryptographic application, I would begin by conducting thorough profiling to identify bottlenecks. Following this, I'd explore multiple optimization techniques such as efficient memory management, algorithmic improvements, and potential use of parallel processing. I would also ensure that optimizations do not compromise the security properties of the cryptographic systems involved.

Join Rise to see the full answer
What experience do you have with Rust or C++ in performance-critical applications?

I have utilized Rust/C++ extensively in performance-critical applications, focusing on multithreading and optimized resource management. For instance, I've developed modules that leverage concurrency features to enhance throughput while ensuring minimal latency. Performance testing and benchmarking were crucial in validating the enhancements and ensuring they met the application's requirements.

Join Rise to see the full answer
Describe a challenging problem you faced while working with distributed systems, and how you resolved it.

A challenging issue I faced involved latency in communication between distributed components. To resolve it, I implemented a more effective queuing strategy and optimized data serialization methods, which significantly improved response times. Through monitoring and iterative testing, I was able to enhance the overall system's efficiency and reliability.

Join Rise to see the full answer
How would you explain a complex cryptographic concept to a non-technical stakeholder?

To explain a complex cryptographic concept, I would use simple analogies and minimize jargon. For instance, I might compare cryptography to a locked box that only you and your intended recipient have keys for. This helps convey the idea of security and privacy without needing deep technical knowledge. I would also encourage questions to ensure understanding.

Join Rise to see the full answer
What strategies do you use when debugging low-level systems software?

When debugging low-level systems software, I start by gathering logs and using debugging tools to trace the issue. I typically employ a methodical approach, isolating different software components to pinpoint the malfunction. Additionally, systematic testing of hypotheses can lead to more efficient problem resolution, ensuring a thorough understanding of the system behavior.

Join Rise to see the full answer
How do you prioritize multiple tasks in a fast-paced environment?

In a fast-paced environment, I prioritize tasks based on urgency and impact. I make use of task management tools to visualize workloads and focus on high-priority items that align with team goals. Communication with team members also helps, as it allows for collaboration on shared priorities and ensures alignment on critical deliverables.

Join Rise to see the full answer
What is your experience with benchmarking and tuning multithreaded software?

My experience with benchmarking and tuning multithreaded software includes using profiling tools to identify performance bottlenecks. I apply various tuning techniques, such as adjusting thread counts or optimizing algorithms for better concurrency. Continuous monitoring and testing are crucial to ensure the optimizations not only improve efficiency but also maintain system stability.

Join Rise to see the full answer
Can you give an example of how you've contributed to an open-source project?

I contributed to an open-source project by developing features and fixing bugs in a widely-used library. Through collaboration with the community, I submitted pull requests and engaged in discussions regarding improvement proposals. This experience reinforced the importance of adhering to project guidelines and understanding community needs.

Join Rise to see the full answer
How familiar are you with microservices architecture and its relevance to a Systems Engineer role?

I have a solid understanding of microservices architecture, especially in how it enhances scalability and flexibility in software design. In the role of a Systems Engineer, it’s vital to integrate and communicate between microservices effectively, ensuring that system performance remains optimal while meeting the application requirements.

Join Rise to see the full answer
What motivates you to work in the field of cryptography and distributed systems?

My motivation to work in cryptography and distributed systems comes from a passion for solving complex problems and contributing to the advancement of secure technologies. The potential of cryptography to protect user data and enhance blockchain protocols fascinates me, and I am eager to be part of developments that push the boundaries of these fields.

Join Rise to see the full answer
Similar Jobs
Photo of the Rise User
Veolia Environnement SA Hybrid 6060 Spine Rd, Boulder, CO 80301, USA
Posted 2 days ago
Wyetech Hybrid Ft. Belvoir, Virginia
Posted 13 days ago
Photo of the Rise User
Veolia Environnement SA Remote 4545 Patent Rd, Norfolk, VA 23502, USA
Posted 12 days ago
Photo of the Rise User
Posted 7 days ago

Irreducible provides fast and cost-effective computation of zero-knowledge succinct proofs.

5 jobs
MATCH
Calculating your matching score...
FUNDING
DEPARTMENTS
SENIORITY LEVEL REQUIREMENT
TEAM SIZE
EMPLOYMENT TYPE
Full-time, hybrid
DATE POSTED
January 11, 2025

Subscribe to Rise newsletter

Risa star 🔮 Hi, I'm Risa! Your AI
Career Copilot
Want to see a list of jobs tailored to
you, just ask me below!