Status
Test Automation Engineer for QT/QML Desktop App
About Status
Status is building the tools and infrastructure for the advancement of a secure, private, and open web3.
With the high level goals of preserving the right to privacy, mitigating the risk of censorship, and promoting economic trade in a transparent, open manner, Status is building a community where anyone is welcome to join and contribute.
As an organization, Status seeks to push the web3 ecosystem forward through research, creation of developer tools, and support of the open source community.
As a product, Status is an open source, Ethereum-based app that gives users the power to chat, transact, and access a revolutionary world of DApps on the decentralized web. But Status is also building foundational infrastructure for the whole Ethereum ecosystem, including the Nimbus ETH 1.0 and 2.0 clients, the Keycard hardware wallet, and the Waku messaging protocol (a continuation of Whisper).
As a team, Status has been completely distributed since inception. Our team is currently 100+ core contributors strong, and welcomes a growing number of community members from all walks of life, scattered all around the globe.
We care deeply about open source, and our organizational structure has minimal hierarchy and no fixed work hours. We believe in working with a high degree of autonomy while supporting the organization’s priorities.
The project & role
Status is an organization that seeks to accelerate consumer adoption of the web3 ecosystem forward through products, research, the creation of developer tools, and support of the open source community. Our core product is an Ethereum blockchain based app for mobile and desktop platforms that enables communities to permissionlessly create 100% decentralized group chat spaces, and allows users to message, make payments and browse and transact on the decentralized web. Status also builds foundational infrastructure for the Ethereum ecosystem as a whole including the Nimbus Ethereum client, the Keycard hardware wallet, and the Waku messaging protocol which is a continuation of Whisper. Everything Status creates is built in the open and released under permissive open source licenses.
We’re a fully remote team made up of ~100 core contributors and a growing number of community members scattered around the globe. We care deeply about open source software, and our organizational structure has minimal hierarchy and no fixed work hours. We believe in working with a high degree of autonomy while supporting the organization’s priorities.
After a pause during which the Status team focused on our mobile application, the development of Status Desktop was restarted in 2020 with a clean sheet QT / QML UI codebase.
Status Desktop is currently in beta for Mac, Windows and Linux platforms. Current product focus is on the privacy-centric messenger and group chat functionality, and we’ve just kicked off development of our new ‘multi-chain from the ground up’ crypto Wallet. ÐApp browser and blockchain node functionality will follow next. Status desktop is currently built using Nim & QT for the frontend, and it shares a common backend with Status mobile that is written in Go. We are currently in the middle of a large refactor of our architecture. This refactor includes transitioning the QT front end from Nim to C++, moving all business logic to our status-go backend, and upgrading from QT5.14.2 to QT6.2. As we work in the open and are fully open source you can get a better idea of who we are and the work we are doing by browsing our team wiki here and taking a look at our Status Desktop, Status Desktop QML component library and Status Desktop and Mobile Go backend GitHub repos. You can find more information about our desktop effort in this blog post.
The desktop team is looking for a Test Automation Engineer to help us create a consumer level quality application. In this role you will be working closely with designers to fully understand the design vision for the product, and working with devs to create automated functional tests using the Squish framework (end to end and regression tests). The desktop team is spread out in North America, Europe and Australia, with crossover work hours being the European timezone afternoon on Monday, Wednesday and Friday. Work is async using Status, Google Meet and Github, typically in Scrum Sprints.
The desktop team is spread between Europe and North America with crossover work hours being the European timezone afternoon on Monday, Wednesday and Friday. Ideally you will be located in a timezone between UTC -8 and UTC +3 e.g. anywhere in-between Panama and Moscow. Work is async using Status, Google Meet and Github, typically in Scrum Sprints.
Responsibilities:
- Collaborate with designers and devs to understand the desired app behavior
- Help develop and maintain our test automation framework and organize the construction and structure of test protocols
- Write end to end and regression tests using the Squish framework
- Analyze architecture and designs to identify test automation strategies to provide full test coverage for new and/or existing features. Identify and articulate gaps in architecture or design
- Advise and mentor devs around automated testing best practice, providing support and direction
- Participate in the prioritization of the backlog of bugs/feature
- Estimate, prioritize, plan your testing activities
- Participate in the prioritization of the backlog of bugs/feature
You ideally will have:
Don’t worry if you don’t meet all of these criteria, we’d still love to hear from you anyway if you think you’d be a great fit for this role!
- 3+ years as a test automation engineer
- Experience writing automated testing scripts
- Experience in testing Qt/QML applications
- Experience in testing desktop applications for Windows/OSx/Linux
- Experience with open source development workflow (including github)
- Self motivated, strong sense of ownership and result oriented autonomous worker
- Good communication skills in English
- A strong alignment to our principles
Bonus points if:
- You show a strong interest for blockchain and have a good understanding of Ethereum
- Prior experience of Froglogic Squish
- Prior experience testing QT apps
- Have worked in a distributed environment that values asynchronous communication.
- Experience working in an open source organization
Compensation:
Status compensates people with above average salaries in fiat or crypto, plus a grant of Status Network Tokens vesting over a three-year period. More info on SNT here.
The hiring process for this role will be:
- Introductory conversation - People Ops team
- Team lead interview - Iuri
- QA proficiency interview and fit for the role - Nastya
- QA automation proficiency interview - Abhi
- QA automation proficiency interview - Noella
- Tech and culture alignment Interview - Andrea
Get to know us:
Status desktop - why and what? blog post.
Questions about this role?
Feel free to get in touch, we are more than happy to discuss the role in more detail.