Job Description The Senior Software Engineer will be joining a small team of engineers who are responsible for all aspects of firm wide technology. This high impact team owns all software architecture, core development, and level one support spanning trading, execution, middle / back office, dev ops and research tooling. The Software Engineering team will also lead the firm systems and database administrator team, and assist in hardware support where needed. The role is located in NYC and will focus on driving firm wide technology forward, as well as performing tactical analysis of legacy systems and leading any efforts to modernize them, including the integration of third-party solutions such as the Order Management System and Portfolio Management System.
The candidate needs to be a very hands-on professional, who will be expected to write code daily as well as help manage the team in daily tasks, resource planning, and the delivery of successful projects driven by demands of business stakeholders. The candidate needs to be able to interpret the needs of all business owners and provide optimal solutions with a focus on long term sustainable technology solutions for the firm. The candidate must possess strong work ethics, and is expected to be part of a team available to support all technology in a face pace 24*6 environment.
Join a small team of software engineers, including task planning / code reviews / architecture design / mentoring while balancing strategic and pragmatic concerns
Take full responsibility for the overall planning, execution and success of complex technical projects
Partner with business leaders to define priorities and deliver custom solutions while overcoming differences of opinion and driving firm alignment for all technology
Design, develop, test, and deploy software and technology solutions across the firm that bolster our trading business and drive productivity enhancements, collaboration, and risk reduction in a fast pace environment
Owns technical debt across software engineering team and reports any strategic setbacks to upper management as soon as they may arise
Oversee systems administrator(s)
BS/BA/MA/MS in Computer Science or related technical discipline
5+ years of hands-on technical leadership and people management experience of teams
Prior software development involving equities (foreign and domestic), futures, foreign exchange & options.
Extraordinary programming skills in multiple languages with extensive experience in a .NET (.NET Core) C# / Python / SQL environment (DBA experience is a plus) on both Windows and Linux environments
Extensive experience working with distributed, multi-tiered systems using modern technologies
A deep understanding of data structure, algorithms, and OS primitives
A mastery of multi-threading programming and real-time data processing
Experience implementing and maintaining FIX based protocols, as well as other TCP/IP based binary protocols
Experience building modern web applications (full stack) using the latest technologies and approaches