SDET (Execution Team)
We are PEAK6, a leading investment firm. You'll find us headquartered in the historic Chicago Board of Trade building, where we first opened our doors in 1997. It's been over 20 years since we were one of the first firms to develop sophisticated proprietary technology to use in our trading business. Today, we continue to leverage our technical ingenuity and operational excellence across several investment areas, spanning early-to-mid stage growth capital, operational control, trading, and e-sports, while always proving value to the customer. Throughout the years, we've built and operated several financial technology firms, and we continue to evolve. You'll find a bit of everything here, and we're always looking to take on new endeavors.
As a Software Development Engineer in Test/Software Engineer on the Execution team, a regular day could include reviewing the execution system with the team and identify tech debt and opportunities to capture additional value, collaborating with traders to iterate on automated strategies, and writing Java code with other engineers on the team to build out the future of PEAK6’s execution system. Additionally, Software Engineer's regularly participate in driving discussions and decisions on coding standards and practices.
On the Execution team, you’ll be responsible for:
- Working as part of the execution software engineering team, focused on rapidly delivering stable software through all phases of the development process.
- Full lifecycle software development to develop trading strategies/algorithms, implement trading risk and administrative controls, and interface with exchanges and brokers.
- Writing and performing unit, functional, system, and integration-level testing on new and existing software by building out test new harnesses and augmenting existing test cases, as well as performing manual testing when needed.
- Working closely with other engineers and product managers to review requirements, formulate test plans, and design robust, automated testing workflows for new products and features used by in-house traders.
- Extending the team’s ability to effectively test in pre-production environments by designing and building data and application-level simulation tools.
- Documenting, maintaining, refining, and disseminating test plans and risk assessments.
- Collaborating with trading and technology teams on trading strategy and algorithm implementations.
- Creating improvements in stability, performance, and scalability across major business-critical systems.
- Troubleshooting production issues quickly and efficiently.
You’ll gain loads of experience in this role but before you do, you should have:
- Proficiency in core Java and JUnit. Familiarity using Python for basic automation and scripting is nice to have!
- Willingness to prepare for and pass relevant regulatory examinations to attain a FINRA Series 57 certification.
- Bachelor’s or Master’s in Computer Science, Electrical or Computer Engineering, or a related discipline, or completion/certificate from a reputable coding boot-camp.
- 2+ years of software development experience, with some focus on quality/testing automation, preferably with some experience in an SDET or similar role.
- Familiarity with running and testing software in *nix environments.
- Familiarity with build and release tools such as Jenkins, Ansible, etc.
- Adaptability to a continuously changing and fast-paced environment.
- Great teamwork and communication skills.
- Desire to learn Docker and Kubernetes, previous experience is nice to have!
Does our Engineering DNA Match yours?
- Software Engineer by training, quality practitioner by trade. You enjoy applying your software engineering practices in meaningful ways to continue pushing the quality bar forward.
- An engineer on our Execution team understands how to strike the balance between manual and automated testing. You understand that your time is valuable and prioritize your automation efforts towards the highest risk, most repeatable, and highest value test cases.
- We collaborate in small, agile teams to learn and develop innovative technology through problem identification, requirements gathering, design, code review, testing, and release.
- We like to develop impactful features fast so we can share directly with our end-users and iterate quickly.
- We work hard to understand the whole problem and never shy away from asking hard questions or pointing out concerns.
- We’re focused on well-defined software delivery and continuous learning.
- We’re open to change. The landscape is ever-changing. We do not sit idle; we are not satisfied with status quo. We will push industry standards and strive to deliver world class solutions through innovation.
- People are everything and our support for each other is abundant.
- Through open source technology, we continue to evolve our tech stack while looking for ways to contribute back to the community.
- Whether you’re new to our tech stack or an expert, we encourage each team member to experiment with new technologies and take ownership of projects.
- We love to have fun and dedicate time to exploring new technologies and ideas through Tech Days and Hackathons.
*Due to the unprecedented situation of COVID-19, PEAK6 has decided to protect our current and future employees by managing our business remotely. This is inclusive of interviewing, onboarding and each role day-to-day. Please consider that our roles will not be remote long-term and will return to an office setting once we're safe to do so following the guidance of local health authorities and the CDC.
#LI-SD1