Senior Software Engineer, Automation
Summary
A senior QA automation engineer role at a company that protects business data and provides secure connectivity: the person joins a Quality Assurance team within an agile squad, doing manual and automated testing (incl. performance and compatibility), mentoring junior QA engineers, and building end-to-end automation using Python/JS-style scripting, Selenium, and virtualization tools like KVM/VMware
- You will ensure that our hardware and software products are awesome and of the highest quality.
- Participate as a Quality ambassador, engineer and eyes of the customer within your specific agile software development team.
- Assist Team Lead with mentoring junior Quality Assurance Engineers.
- Facilitate creative ways to break the products, uncover defects and file them.
- Perform extensive product performance testing, usability and test against/with compatibility
- Assist in reproducing bugs reported outside of QA and triaging them with Team Lead.
- Assist junior Quality Assurance Engineers build detailed test specifications (functional, environments, resources) that transition into various test strategies for existing and new features.
- Assist junior Quality Assurance Engineers write and execute detailed test plans.
- Automate test plans created by junior Quality Assurance Engineers to enhance coverage of end-to-end automated tests.
- Participate in release processes for your assigned project.
- Design any testing strategies concerning releases.
- Maintain strong communication with QA, Engineering, Product and Customer Experience teams about issues, risk, product quality and bugs.
- Assist in educating your peers in QA, Engineering, and Product on testing and QA; work with them to determine product quality goals and measurements.
- Maintain your test environment Maintain and communicate testing time lines, schedules and status reports
- Provide timely updates to the QA Team Lead, Team Coordinator and Product Manager on the status of testing activities in an Agile environment.
- Recommend improvements to the QA methodology. Other duties as assigned by Team Lead and/or Management.
- Bachelor’s degree in Computer Science, Management Information Systems or Software Engineering; or equivalent work experience. 5+ years hands-on experience with manual testing, testing applications, testing sites and automation.
- Knowledge of TCP/IP protocols and networking (e.g., IP addressing, DNS configuration, etc.)
- Knowledge of Linux, Windows and Mac (preferred - strong knowledge of Linux and its command line)
- Experience with any of the following virtualization hypervisors - KVM, VMWare, Hyper-V, VirtualBox, (XenServer a plus)
- Experienced with deploying servers, virtual machines, etc.
- Proficient in two or more of the following languages - Python, PHP, SQL, CSS, JavaScript, HTML, etc.
- Experience with automation testing and automation tools.
- Experience with APIs a plus.
- Experience with Selenium a plus.
- Experience with SCM, specifically GitHub (preferred, link to GitHub/BitBucket profile highly encouraged.)
- Strong documentation minded.
- Ability to provide extreme detail.
- Strong knowledge of testing methodologies and concepts Strong problem solving skills.
- Excellent communication skills.
- Extremely self-motivated; able to find opportunities for improvement and tackle them without external direction.
- Think outside the box and outside of given instructions. Dedicated to quality and collaborative approach at testing. Strong understanding of software product lifecycles.