QA Lead for p2p distributed systems with blockchain consensus principles
We automate building multiple versions of distributed systems and running end-to-end tests on whole networks
Networks have states on levels of consensus, embedded smart contracts, traditional smart contracts, cache layers, networking layers and others that can show many exotic faulty behaviors
This is a niche of niches where Stackoverflow won’t help you
Blockchain nodes are built in Rust language in Substrate framework, that is a cutting edge blockchain software
QA Lead should be able to encompass all the domains around interoperability of distributed systems, dynamic APIs (API definitions need to be created programmatically), bridge-blockchains that make consensus about states of other blockchains or chaos engineering
The blockchain is a decentralized exchange (DEX), connected to Ethereum and other blockchains through bridge technologies
Overall software is a p2p, open-source, complex landscape of parts built in Rust, Typescript, Solidity, and Go
The result of the work is open-sourced
The job will be to build and extend testing infrastructure
End-to-end testing is done through a Typescript application that runs network tests, which need to be deduced out of Rust code
You will be working among professionals with a keen sense of software precision and having autonomy over your decisions
Tools used will be explored to their limits and you will have the opportunity to create novel architectural patterns
You will collaborate closely with the CTO and other engineers
It’s welcomed to be interested in other domains of the software, but not necessary
In this position, you will have the opportunity to design and build software that involves a wide variety of considerations including cryptography, security, networking, game theory, economics, finance, political science, and programming language design
Expect a lot of freedom, fun, and responsibility
With the growth of the company, we like people to grow as well in technical or general leadership
The ideal person is a senior engineer who has ambition to grow in a QA lead role and learn distributed systems tech
The combination of Rust, Typescript and DevOps tools on blockchain networks is a daring combination, so the person doesn’t need to have a working knowledge of all of them
The ability to learn over time is a must
Responsibilities
– ensure execution correctness at all times
– actively discover flaws and vulnerabilities
– automate deployment and testing process
– test UI and UX
– create testing strategies
– develop automated e2e tests using typescript
– understand and execute unit tests in rust
– collect the data from grafana, prometheus and custom tools
– report incidents
Requirements:
– javascript, typescript, testing frameworks
– testing automation
– code reading
– gitflow
– agile
Toolset:
– the codebase to test is in Rust and Typescript
– Typescript + node-tap for API tests
– Docker
– Kubernetes for automatization
– contribution to the toolset is appreciated
Personality requirements and skills
We value curiosity – an expanding mindset is a must
Technology agnosticism – strong opinions, weakly held
Communication skills: ability to adjust a message to a listener and ability to be a listener