Senior Software Engineer

  • $100k-$140k
  • Remote - Worldwide

Remote

Software Development

Senior

Job description

Description

About Us

Chorus One is one of the leading operators of infrastructure for Proof-of-Stake networks and decentralized protocols. Tens of thousands of retail customers and institutions are staking billions in assets through our infrastructure helping to secure protocols and earn rewards. Our mission is to increase freedom and speed of innovation through decentralized technologies.

We are a diverse team of 70+ people distributed all over the globe. We value radical transparency, striving for excellence and improvement while treating each other with kindness and generosity. If this sounds like you, we’d love to hear from you.

Position Overview:

As a senior software engineer, you will join one of our engineering teams to assist in building and maintaining tools and automation to support our validator operations. We take the upstream node software from projects like Ethereum, Solana, Cosmos, or Avalanche; compile it; run it on one of our servers; and then make sure it is reliable and secure, monitor it, and keep it up to date. We do this for more than 60 blockchain networks, which means that it is not feasible to do all of this by hand. Instead, we build automation. Some of the things we do:

  • Contribute to upstream software to improve observability, and build monitoring tools from scratch where none exist. The teams that build the node software are not the teams that operate this software at scale, and as such, observability is often not a first priority. We develop our own tools for on-chain and off-chain monitoring, both for short-term metrics (to alert on) and long-term metrics to measure our performance, and to support optimisation decisions.

  • Build tools to track and manage our fleet of servers. We work mostly with bare-metal servers across multiple providers. This means that no vendor-specific portal is going to give us a complete overview of our infrastructure, instead we have an in-house tool that integrates with vendor APIs and gives us a central overview.

  • Automate machine provisioning. Instead of working with 10+ cloud and bare metal providers’ flavor of installing Ubuntu, we build our own installer that is uniform across our infrastructure.

  • Track and automate builds. Each of the 60+ networks we operate regularly releases updates. It would be tedious to manually git pull && make for every release, instead we have automation watching for new releases that automatically builds them and registers them in our package registry.

  • Automate updates and failover. When we have a new package, we still need to roll it out to our fleet and restart any nodes, in a controlled manner and without downtime. For validating nodes, we also need to fail over before we restart them, and confirm the new node is healthy. To automate this, we need to have 100% confidence in our tooling, because a mistake here can lead to double-signing, which incurs a financial penalty.

  • Automate snapshot creation and storage. Blockchains node software is stateful in nature: the chains are often terabytes in size. While it is possible for new nodes to sync from the p2p network, this can take days to weeks, which means it is not a suitable method when we move workloads between machines. We automate taking snapshots of this data, so we can be more flexible about what runs where, without compromising on security.

Our internal tooling:

Itis written in a mix of Rust, Python, Go, and a bit of TypeScript. We use Postgres as our database of choice. We deploy our code either directly onto Ubuntu hosts, running under systemd or in Docker containers, and we also have a Kubernetes cluster running various stateless applications. Due to the diverse nature of the software we run, we also have to occasionally dive into codebases written in C, C++, OCaml, or TypeScript.

You can learn more about our approach to operating nodes in our Network Handbook.

Key Responsibilities

  • Design and develop new features. Discuss with internal stakeholders to clarify how our next feature should look, discuss with fellow engineers how it should be implemented, and then drive implementation to completion.

  • Support and collaborate. Review and discuss engineering designs, review code, help fellow engineers, and mentor them on a technical level.

  • Innovation and continuous improvement. Seek to simplify, optimize, and secure our staking services and systems.

  • Take part in on-call rotation approximately 2 days per month. You will be responsible for automation that manages our validators and infrastructure, including its uptime and incident response.

Requirements

What we are looking for:

  • 5+ years experience as a Software Engineer.

  • Experience with operating and maintaining server-side software in production.

  • Deep understanding of at least one compiled statically typed programming language such as Rust, Go, Kotlin, C++, or Haskell.

  • Experience with at least one scripting language such as Python.

  • Experience using SQL databases, preferably PostgreSQL.

  • Strong communication skills and ownership to drive new features independently.

  • Interest in blockchain technology, in particular distributed systems and consensus algorithms.

  • Affinity with infrastructure and the lower levels of Linux userspace.

  • You are able to work in the following time zone: Switzerland ± 6 hours.

Our Offer:

  • Autonomy and ownership in a friendly and supportive work environment and the opportunity for rapid growth.

  • Competitive fixed compensation USD 100k - 140k + equity

  • Part-time optional, 80% – 100%

  • All-expense paid semiannual team retreats at destinations all around the world. Past retreats occurred in Egypt, Greece, Portugal, Switzerland, Serbia, Kenya, USA, Georgia, South Korea, Spain, and Dubai.

  • Remote, but not alone. We are a strong global collaborative environment.

  • Remote working budget (Laptop, co-working space, etc)

  • Personal development budget

  • Gather experience and build your network in the vibrant crypto ecosystem.

  • Learn about state-of-the-art protocols that lay the foundation for an open, transparent, and programmable financial system.

Share this job:
Please let Chorus One know you found this job on Remote First Jobs 🙏

Benefits of using Remote First Jobs

Discover Hidden Jobs

Unique jobs you won't find on other job boards.

Advanced Filters

Filter by category, benefits, seniority, and more.

Priority Job Alerts

Get timely alerts for new job openings every day.

Manage Your Job Hunt

Save jobs you like and keep a simple list of your applications.

Search remote, work from home, 100% online jobs

We help you connect with top remote-first companies.

Search jobs

Hiring remote talent? Post a job

Frequently Asked Questions

What makes Remote First Jobs different from other job boards?

Unlike other job boards that only show jobs from companies that pay to post, we actively scan over 20,000 companies to find remote positions. This means you get access to thousands more jobs, including ones from companies that don't typically post on traditional job boards. Our platform is dedicated to fully remote positions, focusing on companies that have adopted remote work as their standard practice.

How often are new jobs added?

New jobs are constantly being added as our system checks company websites every day. We process thousands of jobs daily to ensure you have access to the most up-to-date remote job listings. Our algorithms scan over 20,000 different sources daily, adding jobs to the board the moment they appear.

Can I trust the job listings on Remote First Jobs?

Yes! We verify all job listings and companies to ensure they're legitimate. Our system automatically filters out spam, junk, and fake jobs to ensure you only see real remote opportunities.

Can I suggest companies to be added to your search?

Yes! We're always looking to expand our listings and appreciate suggestions from our community. If you know of companies offering remote positions that should be included in our search, please let us know. We actively work to increase our coverage of remote job opportunities.

How do I apply for jobs?

When you find a job you're interested in, simply click the 'Apply Now' button on the job listing. This will take you directly to the company's application page. We kindly ask you to mention that you found the position through Remote First Jobs when applying, as it helps us grow and improve our service 🙏

Apply now