※This position is fully remote. You can work from any country
We're crypto ecosystem builders. We empower everyday individuals with peer-to-peer technology in addition to providing blockchain solutions to a wide variety of clients from standard corporations and foundations to DAOs and treasuries.
Our goal is to become one of the top blockchain development firms in the world, but not by creating the 10 millionth "novel" blockchain and starting from 0 as one may expect. Instead we are tackling real problems in existing ecosystems in top crypto projects, thereby addressing the real needs of users. As such we aren't reinventing the wheel but rather fortifying existing designs of the wheel and building out the rest of the car which makes the wheel actually useful.
Our founding team has combined over a decade of experience in blockchain development and producing products. The dcSpark team has proven deep knowledge in creating cryptographic libraries, ideation of protocols, etc.
Although the Cardano blockchain is written in Haskell, there is also a Rust SDK for Cardano. This Rust SDK is used by a large number of companies with hundreds of thousands of users.
We want to take this Rust SDK to the next level not just by integrating more functionality, but also implementing new ways of interacting with the Rust codebase through a networking layer and a consensus layer.
Cardano is built using formal specifications, and so this position will include reading these specifications and building a Rust codebase that conforms to these specifications.
Although these specifications are the source of truth (the Haskell implementation is just following the specifications), there may be cases where deep investigation is required to figure out how the Haskell implementation works (notably, if the Rust & Haskell implementations disagree on a result, an investigation will be required to decide which is correct)
Qualifications and requirements
Your will be expected to:
- Help coordinate the development of a complex software project with many application streams
- Plan development tasks in consultation with the tech architect
- Follow agile software development practices
- Work with teams across time zones
- Work independently on software development tasks
- Be proactive and require minimal supervision or mentoring to complete tasks
- Review specifications produced by architects and formal methods specialists
- Contribute to the design of algorithms
- Write clean, straightforward, efficient code that satisfies acceptance criteria and specifications
- Commit often and submit small pull requests frequently
- Cover your code with unit, property and integration tests when applicable
- Review the pull requests of your team mates
- Fix bugs in your own code and in legacy code from others
- Troubleshoot, debug and upgrade software
- Write documentation for the code
- Develop your knowledge of distributed and concurrent computation
- Develop your knowledge of the basics of cryptography.
- We appreciate familiarity with agile development methodologies, and an ability to adapt them to the needs of the team and the projects
- A degree in computer science is desirable but not essential
- A minimum of five years’ development experience (professional or otherwise) in Rust
- Experience working with Git and Git workflow
- Practical experience with agile software development methods
- Knowledge of functional and object-oriented programming paradigms
- Solid system programming experience: you’ll have strong experience in system development (ideally in Rust, but relevant experience in C/C++ will be considered)
- Distributed system and network development
- Software development methods such as agile programming and test-driven development
- Experience in developing cryptography protocols would be a bonus, as would blockchain experience.
- Fully remote company.
- A lot of learning in what many people consider the fastest growing industry.
- We can potentially sponsor VISAS e.g. Japan, but work still be remote.
- Opportunities to work with projects that are looking to interact with hundred of thousands of users.