Careers

Zero-knowledge cryptography is going to transform the way we use the Internet. Our mission at Ulvetanna is to accelerate the ZK revolution by delivering the most reliable and cost-efficient proof generation for web3 networks. We are building a state-of-the-art, high performance ZK proving platform from the ground up, leveraging principles of hardware/software co-design and the latest advances in both computing hardware and algorithmic research. Tackling this challenge requires cross-disciplinary engineering expertise ranging from systems-level software programming and applied cryptography to digital logic design and datacenter architecture.

We are a small, focused team from all around the world, with a track record of shipping and maintaining quality production systems. We are actively hiring more problem solvers, tinkerers, and technology magicians who love high-performance and efficiency.

We value curiosity and creativity in the face of novel challenges and a healthy competitive spirit. The team works remotely from across the globe, so the abilities to operate with autonomy and communicate asynchronously are a must.

We value our team and its effort the most, hence Ulvetanna provides a highly-competitive benefits package. Each team member is offered a generous equity allocation which aims to maximise the total employee compensation and to establish a strong bond in between the mission and its carriers.

If you are excited to voyage into a ZK-enabled Internet with us, please apply directly to one of our jobs below.

Embedded Software Engineer

Role overview

As an embedded software engineer at Ulvetanna, you will design and implement our embedded software stacks utilizing high-performance coprocessors. This involves interfacing directly with device drivers, understanding distributed memory architectures and specialized instruction sets, and interpreting compiler outputs for performance tuning. Along with the cryptography engineering team, you will co-design system APIs for rapidly prototyping hardware-accelerated cryptographic algorithms and proof systems. Team members work closely with the FPGA engineers to specify algorithms implemented in hardware, and with the cryptography engineers to integrate efficiently with the top-level software stack.

Necessary Qualifications

  • A deep passion for technology, software development, and secure computing
  • Demonstrated ability to deliver software projects from inception to completion in a fast-pace environment
  • Understanding of computer architecture and data structures
  • Experience writing multi-threaded, concurrent software
  • Experience programming embedded processors and Linux kernel modules/drivers
  • Ability to think across layers of abstractions
  • Experienced and well-versed in Linux, version control, scripting, and build systems
  • Understanding of technology tradeoffs and a pragmatic approach to problem solving
  • Strong written and verbal communications skills
  • Strong knowledge of C++

Extra Qualifications

  • Experience modifying and contributing to open-source codebases
  • Experience implementing high-performance software and distributed systems
  • Experience programming for GPUs or ZYNQs
  • Experience writing software for real-time operating systems
  • Experience implementing low-level cryptographic primitives
  • Knowledge of Rust
  • Aptitude for math and computer algorithms
  • Understanding of cryptographic proof systems, zero-knowledge cryptography, elliptic curve cryptography, and symmetric cryptography

Cryptographic Software Engineer

Role Summary

As a cryptographic software engineer at Ulvetanna, you will contribute to internal and open-source zk-SNARK proving codebases, analyze their performance, and propose and implement optimizations. Tasks may include to modifying and refactoring the codebases to utilize hardware coprocessors, reading and implementing zero-knowledge cryptography research, reverse engineering high-level algorithms from open-source software and smart contracts, and designing or analyzing arithmetic constraint systems for verifiable programs. Team members work closely with the FPGA engineers to specify algorithms implemented in hardware, and with the systems software engineers to interface efficiently with hardware acceleration units.

Necessary Qualifications

  • A deep passion for technology, software development, and secure computing
  • Demonstrated ability to deliver software projects from inception to completion
  • Understanding of algorithm design and computer architecture
  • Experience writing multi-threaded, concurrent software
  • Ability to think across layers of abstractions
  • Mathematical aptitude, especially in linear and abstract algebra
  • Experienced and well-versed in Linux, version control, scripting, and build systems
  • Understanding of technology tradeoffs and a pragmatic approach to problem solving
  • Strong written and verbal communications skills
  • Strong knowledge of Rust and/or C++

Extra Qualifications

  • Experience modifying and contributing to open-source codebases
  • Experience implementing high-performance software and distributed systems
  • Experience implementing compilers
  • Experience implementing low-level cryptographic primitives
  • Experience programming embedded systems
  • Experience with computer algebra systems such as SageMath
  • Understanding of mathematical and cryptographic proof techniques
  • Understanding of cryptographic proof systems, zero-knowledge cryptography, elliptic
    curve cryptography, and symmetric cryptography

FPGA Engineer

Role Summary

At Ulvetanna, our team of FPGA Engineers create next generation FPGA platforms to enable ZKP acceleration. FPGA Engineers work closely with cryptography and business leaders to design and deploy FPGA solutions that boost proof generation performance. You will be mandated to research, design, implement and deploy FPGA products across Ulvetanna’s data centers. You will contribute to maximizing FPGA products efficiency and performance.

Necessary Qualifications

  • A deep passion for technology, software, and hardware development
  • Degree in Electrical Engineering, Computer Science, Computer Engineering or equivalent field of study
  • Experienced and well-versed in SystemVerilog
  • Experience in one or more of the following areas: Hardware Architecture, RTL Coding, Simulation, Systems Integration, Hardware Validation and Testing, FPGA Synthesis, and Static Timing Analysis
  • Sound understanding of technology tradeoffs, and a pragmatic approach to problem solving
  • Strong written and verbal communications skills

Extra Qualifications

  • Experienced and well-versed in Linux, Python, C, Tcl, and bash
  • MSc or PhD in Electrical Engineering, Computer Science, Computer Engineering or equivalent field of study
  • HLS flow
  • HW CI/CD flow
  • Embedded Processors (ARM, RiscV) experience
  • GPU or ASIC design experience
  • High Speed Communication Interfaces and protocols (SerDes, PCIe, Ethernet)
  • AXI-4 Stream protocol expertise
  • Xilinx DSP & HBM primitives expertise
  • Xilinx Versal experience