Test Engineer - Blockchain (Freelance Contract, Remote)

Company: Braintrust
Location: San Francisco , California, United States
Type: Full-time
Posted: 15.NOV.2020


ESTIMATED HOURS PER WEEK: 40JOB TYPE: Freelance, Contract Position (long, on-going project) - not available for C2C (see notes below)LOCATIO...


ESTIMATED HOURS PER WEEK: 40JOB TYPE: Freelance, Contract Position (long, on-going project) - not available for C2C (see notes below)LOCATION: RemoteREQUIRED TIME ZONE: Must be able to attend a meeting twice a week at 3 pm ESTABOUT US: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 an experienced developer for this client.ABOUT THE ROLE:Our client's blockchain engineering team is looking for a talented test engineer to implement processes to test the functionality, security, performance, and scalability of the client's product. The test engineer will ensure the company has clear, complete test coverage that other engineers can easily read and understand. Before they create features, they 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, their integration tests should cover every branch of code, and they should add them in increments corresponding to the addition of a function so that they are always testing quickly after they add functional code.For the parts of their software that interface with web or mobile apps, you should 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. You should also 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 their 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 the 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 they 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 them maintain their 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.Responsibilities include: 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 developmentQualifications: 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 their technical foundation is solid as they build on top of it over the coming years Independent and self-driven 2+ years of test engineering experiencePAY RANGE: $80-125 USD/HR - 1099ABOUT THE HIRING PROCESSQualified candidates will be invited to do a screening interview with Braintrust's core team. 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. Candidates will be invited to bid on additional projects that are a fit as well.C2C Candidates: This role is not available to C2C candidates working with an agency. If you are a professional contractor who has created a corp around their consulting practice, this is well aligned with Braintrust!

Apply Now


Free eBook

Loader2 Processing ...