Software Engineer
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.
We are building a data platform that:
- Can ingest and process petabytes of data
- Allows third parties to ingest data
- Facilitates performant SQL queries across datasets
In this role you will:
- 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.
You might be a great fit for this role if:
- You 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 hand.
- You 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 language.
- Have an understanding of blockchain technology and RPC interactions
- Have experience with datalakes and formats like parquet, delta, iceberg
- You have great collaboration and communication skills. We work on the principle that the best output emerges from effective team work and constructive discussions.
- Coding experience in any JVM language, along with a zeal for writing well-designed, testable software