Staff Software Automation Engineer (contractor)
Role details
Job location
Tech stack
Job description
We are seeking a talented, driven Staff Software Automation Engineer (independent contractor role) to help our Adswizz Engineering organization. Duration of the contract: until end of 2026, with opportunity to renew it for 2027. We are seeking a talented, driven Staff Software Automation Engineer (contractor) to join our growing Inventory Forecasting team. In this role, you will be partnering with a very high-performing team of engineers that build, own, and maintain backend services and data pipelines at scale. You will contribute to strategizing, designing, testing and productizing of new features & new components and maintaining existing ones for the Inventory Forecast at scale that powers services for SXM Media and AdsWizz. What you'll do:
-
You'll be spending most of your time (70-85%) tackling technical tasks like:
-
building from scratch
-
tests for new and existing components and functionality
-
custom backend testing frameworks
-
test data generators if needed
-
performance testing tools if needed
-
Mantain
-
CI/CD infrastructure like Gitlab pipelines
-
record & replay tools
-
reviewing code and providing technical feedback (like code reusability / extensibility) and business feedback related to testability and quality aspects
-
maintaining & improving existing frameworks core code
-
closing technical debt gaps as part of QA technical projects
-
technical knowledge sharing and mentoring other engineers
-
You'll be spending the rest of your time dealing with standard software development activities and QA processes like:
-
Setup the basis for a new automated testing framework for the Inventory Forecast services.
-
Build the basis for an end2end testing framework involving components from multiple realms, to name a few of them: big data pipelines, APIs, microservices, reporting components, etc.
-
Drive and influence testing & automation best practices inside and outside of your team.
-
Collaborate with the Product team to clarify the scope of the projects & delivery timelines.
-
Build complete and meaningful tests plans for the features you're working on, making sure they cover both functional and non-functional (performance, scalability, stability) requirements for the tested components.
-
Implement and execute automated tests to identify defects, track issues, and ensure the overall quality of the software.
-
Analyze test results, identify trends, and provide recommendations for improvements.
-
Collaborate with the engineering & GOPS teams to ensure a smooth end2end and integration testing phase.
-
Handover newly deployed features to L1/L2/L3 teams and help with incidents investigations.
-
Stay updated with industry trends and advancements in automated testing techniques and tools.
-
Mentor and provide guidance to other members of the quality engineering team on a per need basis.
-
participate in the requirements, analysis and design and implementation of projects
-
analyze & understand business/technical specifications and identify & communicate gaps/issues found
-
define test strategy, test plan, test cases
-
review test strategy, test plan, test cases
-
test from different perspectives: functionality, performance, security, compatibility
-
create testing environments and infrastructure
-
perform root cause analysis and submit comprehensive bug reports
-
offer support to other teams
-
investigate Staging/E2E/Production issues
Requirements
-
This role requires a solid technical background (10+ years of proven experience) and various technical skills like:
-
strong coding experience (preferably Java or equivalent OOP language)
-
good experience using various design patterns
-
experience using dependency injection frameworks (eg. Spring, PicoContainer, Guice)
-
experience using API mock & test frameworks (eg. MockServer, WireMock)
-
experience using various industry standard libraries used in testing, eg. Rest-Assured
-
strong experience building test frameworks for backend services & applications
-
scripting & linux skills
-
SQL skills (DDL, DML)
-
experience working with NoSQL databases (eg. MongoDB)
-
experience working with Data Warehousing tools (eg. Amazon Redshift, Google BigQuery, Snowflake)
-
experience building CI/CD infrastructure (preferably gitlab pipelines) and experience using Docker, Kube
-
experience working with cloud services (eg. AWS, GCP, Azure; preferably AWS)
-
Bachelor's or Master's Degree in Computer Science, Engineering, or a related field.
-
10+ years of proven experience as a Quality Engineer or Software Developer in Test, with a focus on automated testing using Java.
-
Strong proficiency in Java programming language and object-oriented design principles.
-
Hands-on experience with automated testing frameworks such as JUnit, TestNG, Cucumber, Selenium WebDriver, Playwright etc.
-
Hands-on experience building automated end2end testing stacks spanning across multiple components.
-
Solid understanding of software testing methodologies, test case design, and defect tracking.
-
Experience with continuous integration and delivery tools (e.g., Jenkins, Git, Maven, Gitlab).
-
Excellent problem-solving and analytical skills, with a keen attention to detail.
-
Strong communication and collaboration skills to work effectively in a team-oriented environment.
-
Ability to adapt to changing priorities and handle multiple tasks simultaneously.
-
Experience working with Amazon services (S3, Lambda, EC2, SQS, Athena, etc.)
-
Docker, Kubernetes hands on experience.
-
Exposure to a variety of database platforms/warehouses such as MySQL, MariaDB, Snowflake, Druid, or equivalent.
-
Experience with Linux / Unix commands and shell scripting.
-
Nice to have - previous exposure to a leadership role within the quality assurance real and strong mentoring/coaching skills.
-
Nice to have - familiarity with Agile development methodologies and working in an Agile environment.
-
Ability to conduct technical interviews for positions in the Quality Assurance field.