QA Lab Automation Engineer / Python

  • Full-time

Company Description

Catalogic Software helps organizations worldwide catalog, protect, and manage their data.  We are committed to delivering the industry's most intelligent copy data and data protection solutions.

Job Description

https://www.catalogicsoftware.com
This job description covers our products DPX and ECX. See the link above for high-level details on these products.

The QA Lab Automation Engineer / Python assists to develop Python based automation frameworks and manage engineering lab resources. Vital to our QA efforts is expertise in loading and maintaining a variety of resources including virtual machines, physical machines, operating systems (Linux, Windows, AIX), storage platforms (IBM, Netapp, Pure), and automation frameworks.

This role is involved in a number of key responsibilities that include but are not limited to the following:

Automation tasks will generally cover:
- Monitor and troubleshoot test automation pipelines
- Develop new tests
- Develop new auto deployment and reporting needs
- Improve manual testing through automation efforts
- Improve CI/CD operations

Our hands-on needs generally cover:
- Loading new operating systems and applications as needed
- Provisioning resources to  staff as needed
- Provisioning storage from arrays used for QA work
- Setup of networking, firewalls
- Tuning docker containers
- Managing cloud services for QA work
- Troubleshoot, benchmark, and load test systems as needed

Candidates will be involved in our daily QA work which includes:
- Manual test execution
- Create tests centered around new features
- Analysis of customer issues to reproduce  and verify fixes
- Creating & grooming of test cases and testing scenarios
- Regularly reviewing UI and back-end functions
- Researching and implementing edge/environmental conditions
- Researching technology options to help broaden test case coverage
- Polishing & packaging products and fixes for customer consumption
- Participation on Agile  teams to understand planned testing needs
- Reviewing and improving both internal and external documentation

A QA Lab Automation Engineer will generally have access to a wide range of technologies to be used in the overall manual test and test automation activities. QA engineers typically review issue management and test case systems for necessary work, perform deployments, build systems, configure storage platforms, and assess the quality/stability of software prior to release. Along the way, QA engineers are expected to explore the overall sensibility and performance of our software and escalate anything that might be confusing or complicated for our customers.

All QA Lab engineers will be involved in manual testing efforts. Most QA engineers will be involved in provisioning resources for technical departments. Most QA engineers will be involved to review automated test results, analyze logs, and reproduce issues prior to escalation.\

QA Lab Automation engineers will be involved in programming activities to maintain and improve our emerging QA automation systems.

Qualifications

Candidates with 2-6 years of experience would be ideal.

Recent experience with Python 3 is required. Other programming language experience a nice plus but not required.

Experience loading operating systems, server software, and using testing utilities to measure and troubleshoot is required.

Ideal candidates will have likely worked with a data protection, storage, networking, or other company. You will have a broad range of hands-on technology experience, but should have some specialty in 2 or more of the following areas (in order of interest):

- Container administration: Docker, Docker Swarm, Kubernetes, Podman
- Application experience: SQL server, Oracle, SAP HAHA, Cache, Exchange
- Hypervisor experience: VMware, Hyper-V
- Server administration Unix, Linux, Windows server
- Storage administration experience: IBM Storwize, XIV, Pure, Netapp CDOT, Kaminario, Nimble, Dell/EMC
- Data protection products and protocols: NDMP, tape library, Cloud integration
- Network administration: switch, firewall, router, security
- Cloud administration: AWS, Azure, IBM COS, Google
- Utilities: wireshark, IOzone, Vdbench, Ansible, Gitlab, Concourse, Jenkins
- DevOps skills on release engineering, CI/CD, build automation, test automation

Not all of these specialties are required for all positions. In general, expertise in at least 2 and broad knowledge of other areas will be considered.

Additional Information

This job covers our ECX and DPX products. The position reports up to a common QA and IT department charged with maintaining and providing service to a fast paced software engineering company.

Technical aptitude is important here. We need someone who is smart, trainable, can read & follow (English language) technical documentation, and perform technical tasks including but not limited to: working with hardware, configuring storage, loading operating systems, interacting with software and web based applications, and running through complex test scenarios using our software.

Soft skills are important here. We desire coachable, positive-minded people. Critical thinkers that can try & suggest new methods of test management. Being detail oriented is very important. We need team players that can collaborate across teams and also work independently when needed. Customer interaction may be required at times.

Other non-technical tasks would include but not limited to: managing test cases, producing reports, reviewing customer issues, analyzing bug reports, constructing new test cases & plans, writing documentation, assisting with distributing software assets to partners & customers.

Additional duties: At least 1 candidate may be selected to take ownership of general IT responsibilities. Desire candidates that can analyze and improve automated build systems, improve continuous integration and delivery, streamline test automation, review and improve development & code systems.

As work in this role progresses, you will be trained and gain experience in one or more technical areas, and will have opportunity to grow into areas of interest and skill. Training on enterprise equipment and our developed software solutions will be provided as needed.

Position is offered in our Pune, India office.

What tools we use:
- JIRA for issue and project management
- GitLab for code Versioning
- Confluence for documentation
- GitLab and Jenkins for builds and CI/CD
- Docker, Docker Swarm, Kubernetes
- AWS, COS, Azure, and other cloud providers
- Windows, Linux, UNIX
- VMware, Hyper-V
- Storage, Tape library, and physical server access as needed