QA Engineer
!! EXPERIENCED CANDIDATES ONLY !! NO JUNIORS ALLOWED !!
Introduction
Elite Software Automation (ESA) is a specialized consulting and technology firm focused on creating intricate business process, systems, and automations solutions to help its clients scale their businesses and run a more efficient operation.
As part of these solutions, ESA develops custom business software systems for its clients. These systems are used to run a variety of business processes in the client’s business, including various customer interaction processes, as well as many back office operations and internal organization within the business. These systems are intricately designed to cover very specific and unique details of our client’s business processes, which are complex and full of detail. In addition to logical complexity, ESA also has a demand for speedy delivery of solutions to its clients to implement such solutions in the client’s business in a matter of weeks or a few months, not years.
Over the years, ESA has developed a very specialized home-grown methodology for making such solutions, and powers it with specialized experts in business process efficiency and business software fields, uniquely designed processes to design and build business software solutions, and a uniquely put together home-grown technical platforms stack to power these solution developments. The way ESA makes its business software solutions is very different to how other companies do it – this way involves very intense and particular ways of working (further described below in this job posting).
The QA Engineer role in ESA is responsible for getting the software development completed to a functional quality standard. The QA process in ESA has specifically been designed to focus on closing software development releases in the fastest and most efficient way possible. Our QA process is distinct in that it minimizes the typical bug tracking bureaucracy, places a large amount of self-accountability on developers for self-testing their work before it gets to QA, and specifically makes QA engineers focus on their core responsibility which is to most efficiently complete releases and get them ready to operate in our clients’ businesses.
We are looking for experienced QA Engineers to join our team and produce results for our clients. Our QA Engineer position is specifically focused on results and offers promotion opportunities to QA Engineers who demonstrate a successful record of closing production releases and making them work in our clients’ business. This position is not for a bug reporter or a Jira issue creator, rather it is for a focused expert in delivering working software that meets business requirements and is ready to operate in a real business setting.
The QA Engineer in Elite Software Automation is a high responsibility position requiring high skill, high effort, and high focus on achieving results. Successful QA Engineers are promoted with pay raises and greater responsibilities, while underperforming QA Engineers are not kept in the team.
- How Our Organization Works
Our company’s process is refined to focus on efficiency and delivering results for our clients. To achieve that, we employ a variety of subject matter experts in our organization and have developed our processes in a unique manner to achieve that.
We aren’t a “development shop”. Clients can’t just come to us, give us some software requirements, and then have us build them some software. Rather, any new client who is interested in working with us must first engage our company for consulting, whereby our business process experts study the client business and understand the processes in it, in order to determine what the client really needs in order to achieve their goals. After that, our business process experts in cooperation with our technical design experts develop an individual plan for a client where they define what software solutions need to be built, in what phases, and in what way.
Our business process experts develop highly detailed business process study for each client and define business requirements for the software that needs to be built. Then our technical design experts, who are highly sophisticated developers with technical and functional design expertise develop detailed software solution designs that are very specific and detailed and include the front-end wireframes, the back-end flows, data structures, and other representations of software functionality that must be built. These designs are vetted and reviewed before being handed to the development process. The result of this elaborate design process is that we never build any software based on any vague or poorly put together requirements, instead, any software that we create is based on detailed, well-researched, and well-designed solutions that are thoroughly documented before being handed over to development.
The first step of our development process actually starts with our QA team. Before developers pick up any designs, they are first analyzed by the QA team. The QA engineer in charge of the review will study the designs, identify any potential issues or ambiguities and resolve them with the technical design experts and the business process experts. The QA Engineer will then develop a testing checklist for the entire software release where key cases and scenarios will be included. Only then will the process be handed over to developers.
The reason why the QA Engineer is expected to review the designs and develop the testing plan first, is because we consider defining test cases as part of tasking our developers. When developers work on their flows and functionalities, each developer assigned any particular flow to build is expected to first self-test the flow against all the parts of the testing checklist, and thoroughly debug it himself, before sending it to QA for review. It is expected that when the flow is handed over to QA team, that it is already 90%+ ready to go, and then the main job for QA Engineer is to identify more intricate edge cases and more intricate complexities, and then resolve them. This expectation is very thoroughly enforced upon the developers. If the QA Engineer encounters a poorly tested flow where the developer did not meet the expected quality standard before sending to QA, a complaint is raised with the Lead Engineer, following which the responsible developer is given a harsh warning, and in the event of repeated quality issues or repeated lack of self-testing by a developer, this developer is fired from the team.
The main job of the QA Engineer is to manage and close the release, so that it would get to our client’s business and work well in their business. Because the expected quality standard is higher for the developers, the QA Engineer is really expected to focus on more overarching completion of the software solution, analyzing more complicated edge cases, and doing more elaborate end-to-end testing. To minimize the admin work, we do not use a Jira bug tracking process or any other elaborate bug tracking process that creates a lot of clicks and administration. Rather, we keep a Miro board where QA engineers put screenshots and notes of issues observed, and developers pick them up and report them as resolved right there. This allows to minimize the amount of time QA Engineers spend on administration of the process, and instead focus on actually achieving the result, which is get a working software solution into our client’s actual business operation.
In the process of closing the release, the QA Engineer frequently engages with the technical design experts and the business experts to clarify ambiguous edge cases and any complexities that arise. Sometimes, this results in designs being enhanced and changes or additions being made in these designs to better address complex or ambiguous cases. In this way, the QA Engineer really acts as an end-to-end delivery expert, not just a bug reporter.
Our releases are expected to occur quickly. We don’t have forever-projects that last many months or many years. We also don’t normally do an “agile” process where we release tiny feature modifications every two weeks. Rather, our releases contain a very meaningful amount of functionality that needs to be delivered and implemented very quickly, sometimes in as little as a week, sometimes in a few weeks, but never more than 6 weeks; the timelines depend on the size of the release, but we always avoid getting stuck in developments that take forever.
Because of the speed of the process, and the larger amounts of functionality and functional complexity delivered, we do not use automated testing, as it is simply a waste of time to develop testing automations when the process evolves and moves so quickly, rather, the process relies on manual testing and thorough analysis applied in the process.
It is also worth noting that our technology is very special. Our company has built a variety of reusable technology tools and libraries that we use to accelerate our development process for each client by covering common underlying business functionalities as well as common integrations and other technical needs with our software reusables, and only applying custom development to each client’s intricate specific business process details. We also have a variety of technical tools that function as development accelerators and cover a variety of technical boilerplate items such as database synching and management, various back-end flows, readily available perfected endpoints that don’t require our developers to custom-build them, low-code back-end flow builder based on N8N, customizable scheduling toolkit based on Cal.com, etc. All of these innovations allow us to deliver our solutions much faster and minimize the amount of quality issues with each individual client software release, as each of the components and reusables are individually tested, debugged, and stable before being used in any client releases.
In addition to that, we also use third party solutions to accelerate and enhance our development such as Anvil document automation suite, the Zoho platform including their CRM, Books, and Desk products, Customer.io communications flow builder, Oystehr healthcare backend services, and other external tools that allow us to use readily available stable software, reduce the need for functionality that needs to be custom built, and as result reduce the amount of QA and debugging back-and-forth necessary on each client release. Our QA Engineers are expected to study and become familiar with these tools, which allows them to be a lot more effective in knowing what to check and how to prepare projects for releases faster by leveraging these tools.
In all, the entire methodology has been developed for maximum efficiency and maximum focus on delivering results to our clients, while minimizing any repetitive or low-value work internally. - Role of QA Engineer in ESA
Your ultimate deliverable will be a live, fully operational custom software solution that fulfills both business and technical requirements and is successfully implemented in the client’s business.
To achieve that, you will work with the team in our process, as detailed above. You will have full authority to engage with any member of the team relevant to completing the release you are assigned to, including developers, lead developers, design engineers, and business process experts involved in the client’s engagement. You will have to function as a centralizing point for the completion of the development and you will need to successfully manage each release assigned to you into a successful completion.
We will expect your analysis to be spot on. You will be expected to quickly and efficiently identify edge cases, scenarios, and anticipate possible issues in the software solutions you are assigned to deliver. On top of that analysis, you will be expected to relentlessly execute on successful resolution actions to get a ready solution released. This will require effective communication with the team and applying pressure to get things to move with speed.
- Expectations and Requirements
- We are only hiring experienced QA Engineers with personal experience in delivering working fully-functional custom software solutions in real production business environments. Do not apply unless you have such experience.
- You must have strong analytical skills to study software designs, analyze cases, find ambiguities in requirements, and work with developers, design engineers, and business process experts to resolve them.
- You must have the ability to a theoretically and in abstract conceptualize the real life use of systems in a way that allows for identifying edge cases and potential errors.
- You must have a practical business “common sense” that allows you to critically evaluate issues found and raise potential non-issues for discussion and confirmation with business optimization and design teams.
- You must have strong communication and management skills to engage with the team, resolve found issues, and successfully deliver software releases.
- Excellent verbal and written English language ability is expected.
- This job will require your full-time commitment and your full-time attention in order to deliver results. It is not possible to work in this job part-time or work this job alongside another job. The demand for results is very real, and this job requires very hard work on a daily basis.
- If you get this job, you will be expected to deliver results from Day 1. There will be an immediate and strict expectation of results. QA Engineers who fail at delivering working releases will not be kept in the company. Conversely, if you successfully deliver working releases, your performance will be reviewed following each successful release, and you will be considered for pay raise promotions if you demonstrate effective, detailed, and efficient conduct that results in positive value for our clients.
- This job requires very strong self-organization in order to deliver results. You must self-organize and self-manage yourself on a day-to-day basis. While the job does offer a lot of flexibility with regards to the schedule, and is generally free from pointless meetings and time consuming activities, it is on you to focus on delivering results, proactively work with other members of the team to get releases delivered, and overall self-manage yourself and the process around you for successful completion.
- What We Will Offer You
We know that this job is hard and demanding. It requires a special and unique set of exceptional skills and a lot of dedication to succeed in it.
We also know that no matter how good your skills already are, we as an organization continuously improve and evolve – and you will need to do it, too.
Our success as a firm heavily relies on our team so we share our success with everyone for all the effort and dedication they put in. We retain and provide good opportunities for experts who are critical for our success.
Growth Opportunities
Depending on the results you deliver in each release, and the improvement trend in those results, we will regularly offer opportunities to take on more responsibility. New responsibilities come with raises. And we’re not talking about raises just to keep up with inflation, we are talking about substantial double-digit percentage raises, depending on how you perform.
We also monitor your improvement journey and can award you raises as your contribution gets faster, better, or in any other way more impactful and helps us achieve more.
Flexibility and Freedom
We don’t make any demands on where you work from. Wherever in the world makes you the most content and productive, we’re on board with it.
We also don’t have fixed office hours and you are free to arrange your schedule as you need to.
We do have meetings within our team to drive all of our engagements, but timings can be flexible as long as you can make arrangements to accommodate other team members working hours as needed.
No-BS Organization
Ultimately, we focus on results. That’s what our clients want from us, and that’s what everyone in our team needs to deliver.
And that’s the attitude that governs everything in our firm. No useless meetings, no reports for the sake of reports, no meaningless activities and no arbitrary expectations – you won’t be doing things to appease your boss. We give you the freedom to make your own decisions, be at your most productive, and make great systems. - Hiring Process:
The hiring process for this job is intense and is focused on determining your actual abilities and skills. We do not make decisions based on what’s in the resume, we make decisions based on what the candidate actually demonstrated what he/she is actually able to do during the hiring process.
- Application Form
- Online Logical Abilities Test
- Short Interview
- Practical Test Assignment
- Evaluation of Practical Assignment
- Offer
- Evaluation Period on the Job
- Full Admission to the Team
To learn more about Elite Software Automation visit their website
Please let Elite Software Automation know you found this job position on RemoteCareer Africa as a way to support us to continue providing you with quality remote jobs