Test Software Engineer - Blockchain [Remote, NO C2C]
Engineering | Remote | Full Time
JOB TYPE: Freelance, Contract Position - No agencies (See notes below)
LOCATION: Remote (Must be able to attend a meeting twice a week at 3 pm EST)
HOURLY RANGE: Our client is looking to pay $85 - $125 USD / HR
ESTIMATED DURATION: 40Hrs/Week - Long Term, on-going project
Braintrust (usebraintrust.com) is a user-controlled talent network, where you keep 100% of what you earn and actually get to own the platform. We've been onboarding some big clients and specifically need a Test Software Engineer for our client.
The blockchain engineering team at our Client's company is looking for a talented test engineer to implement processes to test the functionality, security, performance, and scalability. The test engineer will ensure our client has clear, complete test coverage that other engineers can easily read and understand. Before creating features, you should execute walkthroughs of their architecture to discuss testing strategy and leave with a clear test plan that addresses the points below.
The test plan should cover unit testing of objects and integration testing of functions. For completion, integration tests should cover every branch of code, and you should add them in increments corresponding to the addition of a function so that they are always testing quickly after added functional code.
For the parts of their software that interface with web or mobile apps, they want to do end to end testing of the GUI. This may involve doing UI testing for 3rd party apps that they do not control or even reviewing the open-source code of 3rd party apps to debug. They also want to randomly conduct ad-hoc testing and use the product for personal reasons to empathize with the customer and identify issues from their perspective.
The test engineer should, with the help of a site reliability engineer, identify the metrics that users will care most about, and monitor performance. You will routinely conduct performance tests and should have systematic alerts whenever a metric dips below a benchmark. When you research the cause of the metric dip, you should be able to quickly debug to find the source of the error because of our thorough and comprehensive testing.
The test engineer should familiarize themselves with incentivized testnets, slow cap raise launches, and other forms of beta testing commonly used in the cryptocurrency industry. These should be considered marquee moments or milestones where the client will receive an influx of end-user behavior on the live application and the test engineer should be prepared to take on new, unforeseen issues.
This testing will be primarily focused on blockchain nodes (called validators) running on Kubernetes. Your tests will help our client maintain validators’ reliability, security, and availability while connecting to peer validators run by members of other teams to collectively support a distributed, community owned network (the blockchain). This network includes low latency, real-time microservices that support data relay from one validator to each other, or to external API services where users can monitor the network health and other telemetric data.
- Use and evangelize sound testing and debugging practices
- Develop detailed, comprehensive, and well-structured test plans and test cases
- Prioritize and plan a myriad type of testing activities
- Design, develop, and execute automated tests with a continuous integration / continuous deployment (CI/CD) infrastructure
- Identify and report issues found, then verify that issues are resolved
- Test a live running distributed system and microservices architecture that is collectively a blockchain
- Collaborate with developers on all parts of the stack internally
- Participate in open source development
- Proven work experience in software testing or quality assurance
- Strong knowledge of software testing methodologies, tools, and processes
- Hands-on experience with automated testing tools
- Keen eye for detail and a commitment to excellence
- Be willing to help your teammates, share your knowledge with them, and learn from them
- Be open to receiving constructive feedback and turning it into process improvements
- Fluency in a systems-level programming language (Golang preferred).
- Experience with testing complex software systems with substantial data volumes or millions of users with production quality deployment, monitoring and reliability.
- Ability to think about protocol design, network design, and systems design from first principles
- A keen aptitude for sharp feedback and structured communication
- You want to work on building things the "right" way to make sure our technical foundation is solid as we build on top of it over the coming years
- Independent and self-driven
- 2+ years of test engineering experience
ABOUT THE HIRING PROCESS:
Qualified candidates will be invited to do a screening interview with the Braintrust staff. We will answer your questions about the project, and our platform. If we determine it is the right fit for both parties, we'll invite you to join the platform and create a profile to apply directly for this project.
C2C Candidates: This role is not available to C2C candidates working with an agency. If you are a professional contractor who has created an LLC/corp around their consulting practice, this is well aligned with Braintrust and we’d welcome your application.
Braintrust values the multitude of talents and perspectives that a diverse workforce brings. All qualified applicants will receive consideration for employment without regard to race, national origin, religion, age, color, sex, sexual orientation, gender identity, disability, or protected veteran status.