Job responsibilities
- Executes standard software solutions, design, development, and technical troubleshooting
- Design, develop, and maintain electronic trading components
- Use low-latency programming techniques to produce highly optimized, low-latency trading software
- Second line support backing up the 1st line operate team
- Writes secure and high-quality code using the syntax of at least one programming language with limited guidance
- Designs, develops, codes, and troubleshoots with consideration of upstream and downstream systems and technical implications
- Applies knowledge of tools within the Software Development Life Cycle toolchain to improve the value realized by automation
- Adds to team culture of diversity, equity, inclusion, and respect
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 2+ years applied experience
- Hands-on practical experience in system design, application development, testing, and operational stability
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages
- Demonstrable ability to code in Core Java
- Experience across the whole Software Development Life Cycle
- Exposure to agile methodologies such as CI/CD, Application Resiliency, and Security
- Emerging knowledge of software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)
Preferred qualifications, capabilities, and skills
- Strong Linux/Unix, and knowledge of networking topologies, TCP + UDP
- Knowledge of FIX protocol
- Low latency middleware, for example: Informatica ultra messaging
- Scripting skills, python will be an advantage
- Experience working with eTrading systems
- Relevant markets experience (FX, Rates or Commodities)