As a Senior QA Analyst, you will take part in the development of software for SproutLoud’s Through Channel Marketing Automation SaaS Platform. In this role, you will be part of a cross functional team developing and running highly complex cloud-native applications and services, while meeting the business requirements and improving overall user experience.
The Senior QA Analyst is a self-starter with a strong desire to learn and work with modern web technologies & processes, improve efficiency along the way and make an impact while contributing to cross-functional teams. You will plan, execute and manage quality activities within your team and collaborate with other QA Analysts to coordinate activities across multiple teams/products. You have a solid grasp of SproutLoud’s business and services that allows you to identify defects, report them and work with your team to resolve them. You create a series of manual and automated tests while optimizing productivity and understanding technical concepts. You are an open communicator with a passion for shipping bug-free software, love to think outside the box and seek to make our customers happy.
You are expected to contribute more than just code. You’ll be involved in defining how things work, what they do, and why we do that instead of something else. We also expect you to share your knowledge and expertise with everyone else. Your ability to creatively collaborate and execute team goals will affect scalability and directly contribute to the company's product and the features our team builds. You will collaborate with product, engineering and other development teams in SproutLoud to build cloud-native applications and services using modern web technologies in a dynamic and agile environment.
You will be part of a fun, diverse team that seeks challenges, loves learning and values teamwork. You will have opportunities for learning, mentorship, career growth, and work on high-business impact areas.
Contribute to the full development life cycle of features and products in our SaaS Platform aiming to meet or exceed customer SLAs.
Participate in the design, development and implementation of large-scale distributed systems using cloud-native principles and technologies.
Participate in the design, development and implementation of applications and services able to process large volumes of data, focusing on security, scalability, latency, and resiliency.
Design, develop, test, deploy and maintain fast, secure, scalable and highly available backend services in the public cloud (GCP) leveraging modern cloud-native technologies, microservices and DevSecOps best practices.
Design test strategies and create test plans and test suites.
Design and develop different types of manual and automated tests.
Efficiently execute test cases across all functional areas of our products.
Find, isolate, document, regress, and track bugs through resolution.
Interpret and report testing results, and be a vocal proponent for quality in every phase of the development process.
Work with Software Development Engineers to understand the overall technical architecture and how each feature is implemented.
Collaborate with the interna/external stakeholder and product team to gather functional and non-functional requirements and identify the business requirements.
Work closely with product owners and a wide variety of stakeholders to analyze and break down large requirements into small, simple, workable deliverables.
Working with the team to manage risk and reduce it to an acceptable level.
Guide your team in the development of testing strategies, use of automation frameworks, and write unit/functional tests to drive up code coverage and automation metrics.
Participate in code reviews and provide meaningful feedback that helps your teammates to build better test cases.
Present your own designs to other development teams, engineering or stakeholders and review designs of others.
Contribute relevant, clean, concise and quality documentation to SproutLoud's knowledge base to support/increase information sharing within the organization.
Learn about SproutLoud’s business, master our development process, culture and code base, then improve it.
Establish strong working relationships at all organizational levels and across functional teams.
Ability to work in a fast paced environment and deliver incremental value iteratively and continuously.
Take responsibility and ownership of product timelines and deliverables
Bachelor's Degree in computer science, computer science engineering, related field, or equivalent experience
5+ years hands on experience in Software Quality Assurance or Quality Engineering
5+ years developing and executing test cases (manual or automated)
Expertise planning, designing and executing manual or automated test cases including functional/system testing, integration testing, service level testing, load/performance testing, end to end testing, exploratory testing and regression based on business requirements.
Competency testing web based applications.
Expertise testing web based applications.
Expertise creating and running SQL queries.
Expertise testing web services (REST, SOAP).
Expertise designing clear defect reports and tracking resolution to completion.
Proficiency in testing best practices in an Agile environment.
Proficiency in OWASP security principles, understanding accessibility, and security compliance.
Proficiency in web principles, standards and fundamental technologies.
Proficiency in Unix and command line tools.
Proficiency testing microservices and distributed systems.
Proficiency testing services running on containers (Docker or kubernetes).
Proficiency testing user authentication, authorization, including OAuth 2, OpenID Connect, SAML 2, Single Sign-On (SSO), or IAM.
Competency setting up test environments, deploying code and using the command line.
Experience with Test Driven Development (TDD) or experience with automated testing including unit, functional and acceptance testing.
Experience with Continuous Integration, Continuous Delivery and DevSecOps best practices.
Experience of the entire Software Development Life Cycle (SDLC), Agile Development, SCRUM, or Extreme Programming methodologies
A passion for solving problems and providing workable solutions while demonstrating the flexibility to learn new technologies that meet business needs.
Obsessive attention to detail.
Strong communication skills (English) as well as experience in mentoring and educating your peers.
Preferred Knowledge/Skills :
Expertise in one or more test management tools such as TestRail, Zephyr, Jira, TestSigma, etc. Emphasis in TestSigma.
Proficiency in SQL/PLSQL and one or more RDBMS such as PostgreSQL, MySQL, Oracle, SQL Server, etc. Emphasis on PostgreSQL.
Proficiency in one or more testing, debugging and optimization tools such as Postman, Developer Tools, YSlow, HTTPWatch, etc.
Competency in one or more load, stress and performance testing tools such as JMeter, LoadNinja, WebLoad, LoadRunner. Emphasis in JMeter.
Competency testing Event-Driven apps using message brokers such as Apache Kafka, Pulsar. Emphasis on Apache Kafka.
Competency in one or more automated testing tools such as Selenium, Cypress, Kukumber, Robot Framework, TestSigma. Emphasis on TestSigma.
Competency in one or more unit testing frameworks such as PHPUnit, JUnit, Codeception, Jest, Cypress, Mocha, Chai. Emphasis on PHPUnit, JUnit, Codeception or Jest.
Competency in one or more Version Control Systems such as Git, SVN, CVS, Team Foundation. Emphasis on Git.
Competency in one or more observability tools such as Apache Skywalking, Prometheus, Grafana, Graylog, and StackDriver.
Experience with public cloud providers (AWS, Azure, GCP, etc). Emphasis on Google Cloud Platform.
It’s a plus if you have any of the following skills:
Experience in one or more Object Oriented Programming languages such as Java, PHP, C++, C#, Python, Ruby, etc. Emphasis on Java, PHP and Python.
Experience with distributed or NoSQL databases such as CockroachDB, MongoDB, Cassandra, Couchbase, DynamoDB, Redis, etc.