Automation Architect
Location: Vancouver, Canada (onsite/Hybrid)
Fulltime
The automation initiative focuses on:
- Automating API validations, data ingestion, and outbound data flows.
- Ensuring data accuracy and real-time updates through Kafka message validation.
- Enhancing test coverage across microservices and cloud infrastructure (AWS).
- Streamlining integration with our CI/CD pipeline (GitLab).
The solution is built on a modern architecture leveraging Python, AWS Lambda, DynamoDB, and Apache Kafka, aiming to replace existing manual testing processes that are time-consuming and error-prone. This automation effort aligns with our goal to improve release cycles, reduce defects, and optimize resource utilization.
2. Scope of Work
- Test Automation Framework Development:
- Design a scalable automation framework using Python, AWS services (Lambda, S3, DynamoDB), and GitLab CI/CD.
- Establish reusable components for automated testing, including API validations, Kafka topics, and data consistency checks.
- API and Integration Testing:
- Automate validation of critical API endpoints (V1 and V2).
- Develop scripts to validate Kafka topics ensuring data accuracy and event processing.
- Data Validation and Logging Automation:
- Automate data integrity checks within DynamoDB, S3, and AWS Lambda logs.
- Implement log analysis using AWS CloudWatch for error detection.
- CI/CD Pipeline Integration:
- Integrate automated tests into our GitLab CI/CD pipeline.
- Enable parallel test execution to reduce pipeline run times.
- Documentation and Knowledge Transfer:
- Provide comprehensive documentation and training for our internal teams.
- Conduct workshops to upskill our QA engineers in maintaining and extending the automation framework.
Key Roles and Responsibilities
- Senior Test Architect:
- The Test Architect will be responsible for designing the overall test strategy, automation framework, and implementation plan.
- They will work closely with our internal engineering, DevOps, and QA teams to align the automation efforts with our existing infrastructure.
- This role requires strong proficiency in Python, particularly in the context of backend services using AWS Lambda and integrations using Boto3.
- The architect should be available to work in PST time zone (Canada) or adjust to hybrid hours overlapping with PST for effective communication with our internal teams.
- Additional Engineering Resources:
- These resources will focus on developing automated test scripts, integrating tests with the GitLab CI/CD pipeline, and ensuring coverage for complex integration points.
- They will work from the vendor's India Tech Hub, but we expect at least one resource to either work in the PST time zone or adjust their hours for overlap to participate in critical meetings.
Technical Skills and Experience Required
- Python Proficiency:
- Extensive experience with Python for backend development, particularly in leveraging AWS Lambda for serverless functions and automation tasks.
- Proficiency with the Boto3 library (Python SDK for AWS) and AWS CLI to interact with AWS services programmatically, crucial for validating event-driven architecture, checking DynamoDB records, and automating tasks.
- API and Kafka Testing:
- Deep understanding of RESTful services and Kafka, as our project involves API interactions for data access and Kafka for data streaming.
- Experience in writing automated tests for both APIs and Kafka topics, including validation of data payloads and message integrity.
- Testing Frameworks:
- Strong familiarity with Pytest and tools specific to Kafka validation.
- Experience using assertions to validate JSON/Avro schemas and data payloads, ensuring data integrity and schema compliance.
- AWS Cloud Proficiency:
- Hands-on experience with AWS services including Lambda, DynamoDB, EventBridge, S3, and Athena.
- Ability to automate tests and validations across various AWS services, especially for data integrity checks and event-driven workflows.
- Jupyter Notebooks:
- Proficiency in using Jupyter Notebooks for on-the-fly query writing, report generation, and data validations across modules.
- Capability to leverage Jupyter Notebooks for exploratory testing, debugging, and collaborative reporting.
Collaboration Expectations
- The vendor team is expected to collaborate closely with our existing engineering and QA teams to ensure seamless integration of automated tests into our CI/CD pipeline and broader development process.
- Due to the remote nature of the work, we require regular check-ins, including bi-weekly status updates and monthly project reviews to track progress against milestones.
4. Project Delivery and Checkpoints
Due to the remote nature of the work, we expect clear milestones and regular check-ins throughout the project:
- Bi-weekly progress updates: A status report outlining completed tasks, challenges faced, and planned activities.
- Monthly project reviews: Comprehensive reviews to ensure alignment with project goals and timelines.
- Milestone-based delivery: Key milestones include the initial framework setup, API automation, CI/CD integration, and performance testing scripts.
5. Key Deliverables
- A modular automation framework integrated with our GitLab CI/CD pipeline.
- Automated test suites covering APIs, data validations, and Kafka topics.
- Documentation of the automation framework, including guidelines for test maintenance.
6. Service Level Agreements (SLAs) and Performance Metrics
To ensure the quality and efficiency of deliverables, the following SLAs will be established:
- Automation Coverage: Achieve 85% coverage for critical test cases within 3 months.
- Test Execution Time: Ensure automated regression suites complete within 30 minutes in the CI/CD pipeline.
- Defect Detection: Increase defect detection and reduce the escaped defect rate by 60%.
- Response Time for Support: Address critical issues within 24 hours during the support period.