Duties: Design, engineer, implement, and maintain software tools and technologies used to analyze predictive models, investments, and financial markets. Devise and engineer high-performance data processing software applications that can handle streaming real-time data processing and batch data processing. Design and engineer graphical user interface and data visualizations to display results of analysis and surface insights. Ensure the correctness of analysis and propose improvements to software methodologies using understanding of the firm's business context, statistical skills, and finance domain knowledge. Collaborate with users (e.g. researchers, portfolio managers, traders) to gather software requirements and devise, engineer, and implement technology solutions that address the requirements at hand. Document software requirements, engineering design, and operation procedures. Collaborate with other Software Engineers to evaluate and pilot software technologies.
Minimum education required: Bachelor's Degree in Computer Science, Applied Mathematics, Physics, or related Information Technology (IT) field.
Must have knowledge of the following skills and software technologies:
- Back-end development in Java/Scala/C++/Python
- Scripting in Python or bash
- Computer Science topics including Computer Architecture, Operating Systems, Algorithms, and Data Structures
- Ability to work on large-scale programming projects with over 20k lines of code.
Must also pass company's required skills assessment.