We are a tech startup using low-latency programming, compiler optimization, and multithreaded computing to build an ultra-high-performance smart contract platform. The work entails building an optimal stack-based virtual machine that supports multithreaded computation, as well as developing an efficient Byzantine Fault Tolerant (BFT) algorithm for maintaining consistent state across a distributed network. The result is a blockchain with unparalleled performance, paving the way for much cheaper on-chain computation and much broader adoption of decentralized apps.
We are looking for strong software engineer interns who enjoy solving challenging problems in performance engineering and/or distributed systems. Experience with crypto is not expected.
You will work closely with the rest of our team to design, build, and test innovations on different parts of the distributed system, such as mechanisms for transaction sequencing, propagation, and execution; signature verification; node recovery; historical state lookup, etc.
You'll be given a lot of responsibility, and you’ll work on high-impact problems that are core to our team’s mission. You will learn a lot by being part of a small, hyper-focused team with high engineering standards and coding practices. We want you to maximize your learning, both through mentorship from senior engineers and through ownership of tough problems.
This is for a Summer 2023 Internship. However, we can accommodate a limited number of internships during the school year. Please specify your availability.
We are a remote-first company, and are flexible with locations in the US and Canada.
Who you are
- Curious; motivated to understand details and underlying mechanisms
- Resourceful and independent
- Team oriented, and a good communicator
- Adaptive; able to make meaningful contributions in a fast-paced environment
- Opinionated about software architecture
- Interested in distributed systems and/or low-latency programming
What you’ve done
- Developed fluency in at least one of the following: C, C++, rust, go
- Challenged yourself on some advanced topics beyond the CS major requirements (topics like operating systems, compilers, cryptography, performance engineering, parallel computing)
- Demonstrated deep expertise in a technical area like distributed systems, parallel computing, deep learning, reinforcement learning, etc.
- Developed good instincts for good software architecture
- Worked on a large, challenging project
What you’ll be doing
- Designing experimental improvements to various areas of the system, such as virtual machine behavior, transaction propagation, cryptographic signature verification, node recovery, etc.
- Building and testing these improvements
- Using our tech stack: C++, go, python, clang, gdb, perf, unix, git
Why work with us
- You'll work on extremely challenging problems with massive potential impact
- You'll learn a lot
- You'll get mentorship from exceptional engineers
- We pay a competitive rate
- You'll make impactful contributions to a product with a huge vision