Software Developer (Research Platform)
We are seeking a career-oriented individual to serve as a Software Developer, implementing, maintaining, enhancing, and optimizing mission-critical software supporting our operations using C/C++ in a Linux environment. As a Software Developer you will contribute to the design of programs and systems, work with other members of the team, analyzing, designing, and developing solutions to business problems and contribute to the ongoing improvement of the software infrastructure.
Responsibilities include, but are not limited to:
- Develop, test, and implement new software programs
- Test, maintain and recommend software improvements to ensure strong functionality and optimization
- Develop new tools and libraries for researchers and PM’s to back test new ideas and trade in production
- Identify ideas to improve system performance and impact availability
Required Qualifications:
- A Bachelor's degree (or equivalent) in mathematical/technical sciences, preferably Computer Science or Computer Engineering
- There are two openings: one requires a minimum of 2 years recent hands-on, professional programming experience within the financial services industry, and one is open to 0-2 years of professional programming experience
- Strong object-oriented design and programming skills using C++
- Thorough understanding of object-oriented programming concepts
- Proficient working with the Linux operating system for software development
- Willingness to work in different development environments and languages
- Experience with communications, real-time / historical data acquisition and back testing, preferably in the context of securities trading or financial services
- Understanding and experience with the implementation of multi-tiered architectures
- Experience programming in Python is preferred
- Experience with databases (SQL Server) including Stored Procedure development is preferred
- Experience with test driven development and design patterns is preferred
- Working knowledge of UML and software modeling is preferred
What You’ll Need to be Successful:
- Desire to stay abreast of new technology
- Possess strong problem solving and decision-making skills
- Excellent communication skills, including the ability to communicate with non-technical users
- Ability to multi-task and change from one task to another without loss of efficiency or composure
- The desire to be a part of an exceptional team in a forward-thinking environment