Software Engineer in Test
New York, New York, United States
The Trading Reliability team is in the process of redesigning the QA methodology by leveraging continuous integration and building a change capture and control systems. The Two Sigma QA function is one of the foundational parts in our software release process of our trading environment . Our goal is to transform it to relying on CI, using containers and other best-of-breed technologies to validate our software systematically. This transformation requires an organizational shift where developers become self-sufficient and our engineers are focused on evangelizing the new platform and methodologies. To help facilitate that we will introduce a systematic change capture and control system that will be used for all the components that the trading system relies on with the goal of making it available firmwide. This effort is a multi-year and multi-organizational one. Our success criteria is eliminating the need for manual testing and shift the current teams focus towards systematic and automated verification and software quality metrics collected through change capture and change control.
We’re looking for a passionate, talented, and innovative Reliability Engineer to help us design and deliver accurate and meaningful platform and in doing so help identify opportunities to improve our systems and platforms. If you are interested in the intersection of technology, data, math, and finance you will find this role and career opportunity to be exciting and strategic. Our mission is to to reduce users’ cognitive load, reduce friction in software development and release life cycles and ultimately, ensure our platform scales seamlessly.
Establish requirements and help build the framework needed to verify that the software products meet them
Participating in code and design reviews with engineering teams
Helping to design and enforce code quality standards
Engage developers to transform their SDLC methodologies to relying on CI
Identifying functional, performance and security defects in business-critical software
Champion new approaches to testing and QA
Together with our Software Engineers, help design and implement part of the new system
A bachelor's degree in computer science or an engineering discipline.
At minimum, 2-5 years of professional work experience in a Linux/Unix environment, using various programming languages (Java, Python, etc.).
A passion for quality assurance, Continuous Integration testing methodologies, and change control.
Prior experience working with automated testing infrastructure and procedures for distributed and real-time systems.
Outstanding analytical and organization skills, and a team spirit.
Through the proper use of automaton drive the organization towards a self-service, systematic change control.
Java or Python development background or strong familiarity
Advanced degree in Math, Statistics, Engineering, Computer Science or related discipline