The QA Automation Test Engineer will work alongside our developers, architects, and other QA Engineers to develop and execute effective strategies and test plans for various projects that improve the experience, efficiency, and performance of MIO’s Front Office applications. The successful candidate will be comfortable working directly with developers, quants, database admins, DevOps, and business project managers to test and advise on the quality of our applications.
This individual will be part of a small team of in-house and outsourced developers and testers responsible for assessing software quality through manual and automated testing, creating and executing test cases, finding and reporting bugs and glitches in our applications, and ultimately, ensuring that our products, applications, and systems work correctly and meet user expectations.
Additionally, the new hire is expected to work collaboratively with others in IT where required to help troubleshoot production issues, pre/post release application checkouts, and attend meetings and sessions during the full life cycle of system development projects: generating test ideas through brainstorming during requirements gathering, application/system design, data modeling sessions, coding, delivery, support of our automation frameworks, and enhancements through an agile/scrum process. The QA Automation Test Engineer will be expected to report to our Midtown, New York offices 2-3 days/week. COVID-19 vaccination is mandatory for this position (subject to accommodation for health and religious reasons).
- Collaborate to shape the future of our software quality and testing architecture/frameworks
- Raise the bar on our software delivery through automated performance and functional checks
- Organize with end users, business analysts, and other architects and developers following a scrum methodology
- Develop, maintain, and enhance new and existing test scripts for use by our QA teams
- Collaborate in standardizing the testing processes including technology selection for our automated frameworks, plan and coordinate all cycles of testing, including functional-level system tests and business scenario-based testing, to ensure proper test coverage while mitigating redundancy where possible
- Under minimum or no supervision, carry out procedures and tests to ensure that our application and services meet standards and end-user expectations
Primary responsibilities estimated percentage allocation
- Relationship Building: 20% test planning/strategy and brainstorming with developers and end users
- Manual testing and test case execution: 50%
- Automation development and execution: 30%
Our applications are primarily browser-based, developed using Python/Django and Python libraries such as Pandas, NumPy, etc., and PL/SQL. Additionally, SQL Server, Elastic Search, Redis, Kafka, Tableau, and a variety of third-party APIs and data sources come into play.
The preferred candidate will have strong experience testing web-based and desktop applications as well as data-driven testing and relatively sound knowledge in automation technologies (preferably for financial services companies, such as asset managers, hedge funds and/or broker/dealers). Candidates with strong technology qualifications outside of financial services will be considered.
- A bachelor’s degree in Computer Science or other related discipline (although strong experience with a less directly related degree will be considered)
- 3+ years of hands-on software development applied to automated testing experience in various projects/teams/domains such as Web, API, and Batch systems
- Experience in both front end, middle tier, and backend testing automation required
- Experience in AWS technologies is strongly preferred
- Must have strong general purpose Python coding experience (intermediate to senior) (e.g., Pandas, profiling, regex, collections, exception handling, introspection, advanced data structures, others).
- Must have manual testing for Web-based apps, Python, SQL, Agile, Excel, JMeter, Webservices, Selenium, XML/HTML parsing, SVN, git, JIRA, scripting
- Strong experience with OOP, testing framework development, and open-source technologies
- For functional test automation, strong technical knowledge of open-source test automation technologies and test techniques for browser-based applications:
- Deep understanding of document object model (DOM)
- Strong experience in analyzing and defining automation feasible content for application (i.e., identifying applications where test automation may not be feasible or cost-effective)
- Conversant with Xpath and CSS selectors
- Good understanding of services (example: REST), JSON, and XML data formats
- Strong knowledge of building tests for RESTful APIs
- Experience or understanding of test case and test input generators, including combinatorial tools
- Intermediate to senior level understanding of HTML5/CSS3
- Intermediate level understanding of browser event model
- For performance testing:
- Strong understanding of performance and services testing concepts/tools such as JMeter/Load runner/Soap UI
- Strong understanding of performance testing concepts, specifically:
- Throughput, response time, latency, resource consumption, response time distribution, etc.
- Demonstrated experience in integrating automated tests with test management and reporting repositories, including defect tracking and requirements management tools
- Deep understanding of database/backend testing
- Strong knowledge of SQL, including transaction processing concepts, and large-scale dataset manipulation for test initialization
- Experience in leading a 3-5-person team
- Ability to prioritize and handle QA actions and tasks in a fast-paced environment and under pressure
- Excellent communication skills (verbal and written), presentation, and client management skills required
- Forensic attention to detail
- Experience in Agile/Scrum development model
- Working experience as a developer/programmer is highly preferred
- Good understanding of CI/CD concepts, tools, and best practices
- Basic knowledge of or interest in finance/financial derivative products a plus
- Experience working with applications running on AWS a plus
- Working experience in Jenkins or another similar tool preferred
- Scripting experience in a Linux environment is a plus
- Nice to have: Kendo UI, JQuery, Django, Confluent/Elastic Search, ReactJS, ReduxJS