QA Engineer
(Remote, Full-Time, Anywhere in the World)
Introduction
How Our Organization Works
As mentioned above, these companies operate in very service-intensive industries, which makes their needs and processes highly complicated. We help them become more efficient by putting in place systems and automations that will either entirely carry out business jobs or will instruct, organize, and monitor the employees to carry out only the tasks that require specific human expertise.
Every software solution we build for our clients is entirely custom. They are composed of internal systems (such as CRM, ERP or other systems heavily customized and extended by us), integrated with the external systems (such as client portals) and various custom backend connections that allow interaction with external parties, such as vendors as needed.
In our clients' highly complex business environments, these systems inevitably are also complex with intricate logical rules and set up, a large number of different scenarios and edge cases, and a multitude of different requirements to satisfy.
To achieve all that, we develop our software solutions using the most modern platforms and a unique and innovative system stack.
We have certain baseline reusable custom components that we have built and reuse across client projects, and no-code/low-code solution platforms that we have built up and customized to serve our engineering needs.
With our reusable components, we don't have to write any of the boilerplate elements of a new custom system, such as database synching or authentication, or other backend and frontend basics that are needed in any business software.
With our customized no-code/low-code platforms we have toolkits that are also configured and built by ourselves to be quick to produce clients solutions with. These platforms are connected to each other via careful integrations as needed, so those don't have to be built again for a client project either. When we build a solution, we can focus on the specific workflows, logic, and specific needs of our clients' business.
Here are some of the aspects of our tool stack:
For Front End:
UI Bakery - a tool that enables Low-Code Front-End Development (allows to assemble components graphically with ability to add custom code everywhere)
Custom Frontend Development with React, Material UI
Our own in-house made reusable front-end components for various common purposes
For Back End:
N8N back end workflow builder (forked and modified to quickly build custom back end flows, endpoints, cron jobs, etc).
NocoDB database builder and automated endpoint generator (forked and modified to fit our needs)
Custom Backend (REST, GraphQL) for certain complex needs
Various reusable back-end tools built in-house for common needs
The applications are powered on a robust AWS infrastructure.
Business solution platforms and no-code tools such as:
Some products from Zoho platform (Zoho CRM, Desk, Books, Flow) extensively customized and configured for each project;
N8N;
Customer.io;
Cal.com and other open source tools (which we sometimes fork and modify into our own version);
Our own products with in built no-code configurators;
This list is being increased when we find and extensively vet new platforms excellent for the purposes we need fulfilled;
Other platforms to fulfill various functions (e.g., Twilio, Sendgrid, Gravity Forms Stripe, etc.)
This allows us to build very complicated solutions very quickly, while keeping them also easy and fast to change, upgrade, or otherwise modify. Our developers own and build entire workflows and functionalities, which then they hand over to the QA Engineer.
The QA Engineer tests and owns the fine tuning and finalization of these entire workflows and functionalities. Because of the fact that the toolkits we employ largely remove the need for a lot of boilerplate work, we do not typically build client projects endpoint by endpoint or component by component, rather we pair up a frontend and backend developer to build out the entire flow using the components we have available and the tools that allow to put them all together. The developers complete the entire end-to-end flow and then have the QA Engineer analyze and test the full end-to-end flow, examining various scenarios and analyzing the processing at each step (the tools we have in place allow to easily see each point execution and data at each step). The flow analysis, testing, issue interpretation and resolution efforts that are let by the QA Engineer are optimized towards completing a well-working well-functioning optimized end-to-end flows, delivering a ready to work functioning system in the most effective and efficient way.
The software solutions we provide to our clients become a crucial, integral part of their business - therefore it is critical that the software they get from us functions to the highest standards from the first moment.
To achieve that, it is vital that all our solutions are rigorously tested and all issues are resolved with them, before they are rolled out.
Our Process
QA Engineers are part of the Software Engineering team.
The assigned QA Engineer first performs a technical assessment of the flow or functionality, and creates their testing plan before performing all the necessary tests.
The QA Engineer needs to understand what the system needs to deliver, how it needs to be built, how it needs to function, and needs to decide and plan what tests to perform to output a system that fulfils those requirements.
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.
You will be accountable to only approve a solution when:
The solution delivered accomplishes what the client's (or our) business needs to accomplish with it
The functionality delivered meets all requirements in the design in terms of its inputs, outputs, interactions, and outcomes;
The functionality or fix delivered doesn't have side-effects or otherwise unexpected outcomes on any of the existing or new functionalities;
Any sensitive data is properly protected. You will be expected to recommend measures to mitigate security risks if any such risks are found.
The system performs efficiently under the expected workload;
The system is still usable under a certain agreed-upon level of stress;
The system provides proper error reporting and recovery;
To accomplish that, you will need to perform a thorough technical assessment:
Understand the technical implementation details of the system. Undertsand the functionalities and how the functionalities exactly are implemented technically
Understand how the data is structured, how the database works. Understand the structure of all custom and no-code/low-code development involved, including all integration, syncing, and other interactions between them.
Understand which of our custom reusable components are used in a flow and how they should be implemented
Identify technical edge cases and logical possibilities, including identifying situations or errors unexpected to and not included in business and design requirements
Coordinate with Business Process Experts and Design team as needed to confirm if the identified edge cases could ever occur and/or if they should be prioritized when issues are found
You will also need to execute thorough testing and rigorous issue resolution to deliver a fully functional, successful system solution:
Test the specific functionality AND the entire system in which that functionality will be used for all the above listed approval criteria
Test the identified technical edges cases and logical possibilities, including potential errors and situations that are not in the business or design
Test all technical components of the solution, including APIs, database, all front end and back end components, etc
Identify any issues that mean the tested solution or component does not meet the approval criteria
Identify if something may be a non-issues and coordinate with the Business Process Experts and Design Teams to confirm that
Coordinate with the Business Process Experts and Design Teams to confirm priorities for issue resolution
Report issues with priorities to the Software Engineers
Work with the responsible Software Engineer to ensure the issue and the desired state are clearly understood
Coordinate and follow-up with the responsible Software Engineer to ensure timely resolution. Work together as needed to find solutions, fill in gaps, and advise on acceptance criteria
Retest and adjust your issue reports, priorities, and follow-ups as needed until the entire solutions functions as expected
Prepare for live testing to discover any and all issues fast and effectively at the time of deployment to clients' live business environments
Identify all issues quickly and thoroughly at go-live
Coordinate fast and effective issue resolution within the deployment window
Support go-live in any other way as required
Escalate and proactively manage any potential or actual delays or other factors impacting planned go-live
Identify issues and potential improvement areas within the development and QA team and processes and raise them for discussion to the Business Owner
Do anything else necessary to accomplish the goal of delivering the fully operational live solution to our clients
You will be held accountable for the outcomes of your actions, and not for your activities. Your given level of responsibility will be determined by your performance, which will be assessed after every project that you complete, leading to matching results in your compensation.
Expectations and Requirements
Understand that an activity by itself is useless unless it produces a useful outcome;
Be ready to self-organize and self-manage and make own decisions about what to do in order to deliver the result;
Be ready to proactively seek for opportunities to improve your own skills and knowledge and seek for help within the business for any project as required
Be willing to re-examine approaches, solutions and methods when results suggest that current approaches aren't working;
Be willing to endure hard work and temporary discomfort to achieve success and not expect instant gratification;
Approach matters rigorously and analytically and with a strong focus on achievement of results;
Act on the above.
For QA Engineer professionals we will require the following abilities:
This job is for serious experienced experts. You will be expected to independently own the testing, fine-tuning, and finalization of and deliver a fully functional end solution to our clients, using the company's methodology.
You must have real practical experience of personally and independently working on, and successfully completing quality assurance on custom software development projects, and such projects must have produced real commercial and implemented success in a real business
Strong Analytical Skills to assess and understand business and technical requirements
A strong experience with Systems Analysis and Technical Assessment
Ability to theoretically and in abstract conceptualize the real life use of systems in a way that allows for identifying edge cases and potential errors
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
Effective communication skills to formulate and communicate your thoughts to multiple different teams within the organization, along with excellent verbal and written English language ability;
Only apply if you meet the above requirements. Do not apply if you do not have the required level of experience, skills and abilities at this time. Instead, come back and apply later, when you possess such skills and experience. If you apply now and fail your application, you won't be able to apply again for two years.
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 project, 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.
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:
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
If you use Skype, please enter your Skype ID here.
How do you rate your overall ability as a software quality assurance professional?
Please tell us about your most successful projects (up to 3 best ones please) in any professional capacity.
This file format is not supported by your browser for preview.
That CAPTCHA was incorrect.
Email Link to
Please enter a valid email address to configure Zoho Sign settings.