Software Engineer (Data)
Summary
Builds and scales Dune’s blockchain data platform, processing petabytes of data with Kotlin/Go to ingest, decode, and optimize SQL queries for on-chain analytics.
- As a software engineer in Dune focused on Data you will play a key role in ensuring our data platform scales to accommodate an ever-growing volume of blockchain data. This is a role that involves thinking about large scale distributed systems and distributed databases, and is ideal for anyone passionate about those topics
- Can ingest and process petabytes of data
- Allows third parties to ingest data
- Facilitates performant SQL queries across datasets
- Design and develop distributed systems in a principled way and take part in high impact architectural decisions
- Engage in stimulating technical challenges in topics such as distributed systems, very large databases, SQL processing, data modelling, or systems performance
- Assume ownership of components within our blockchain data platform such as data ingestion and decoding
- Write code mostly in Kotlin and Go with some Java and Rust with a strong emphasis on good design and performance
- Contribute to the internal developer experience by improving local test setups, integration tests, and incremental deployment processes
- Continually improve how we operate the platform, including seeking opportunities to automate incident diagnosis and resolution using AI
- Work with one of the fastest engineering teams in the industry
- Building AI agents for automation into the team
Benefits
- Salary in the top 25% of industry
- Equity in the top 25% of industry
- Pension + 401(k) Plan
- Flexible Time Off
- Distributed Team
- Focus Time
- Co-Working Travel Allowance
- Global Offsites & Team Meetups
- Stipend for Home Office
- Private Medical Insurance
- Parental, Foster and Adoptive Paid Leave
Coding experience in any JVM language, along with a zeal for writing well-designed, testable softwareHave an understanding of blockchain technology and RPC interactionsHave experience with datalakes and formats like parquet, delta, icebergYou have great collaboration and communication skills. We work on the principle that the best output emerges from effective team work and constructive discussionsYou have an understanding of distributed system design, or the drive to learn if you’re a more junior engineer. Our work is as much about understanding and designing systems as it is about coding in a particular languageYou are a strong generalist with fundamental computer science knowledge. You use this knowledge to easily adapt to new technologies and scenarios, and to find the right solutions for the problems at handWe are dedicated to building a diverse, inclusive, and authentic workplace, so if you’re excited about this role but your experience doesn’t align perfectly with every qualification in the job description, we encourage you to apply anyway. You may be just the right candidate for this or other roles