Software Engineer for Program/Algorithm Trading
Bachelor's (preferably master’s or PhD’s) degree in software, math or science, economics, finance, as well as broad experience with computers systems and applications. Previous working experience for brokerage trading or program trading companies are great advantages.
Strong quantitative trainings in mathematics, physics, statistics, and/or engineering are absolutely basic requirements. Strong analytical skills, group work, knowledge/skills of extensive programing languages and databases. Working experience with Economics and finance are a plus.
We are looking for a Software Engineer to join our growing program/Algorithm trading team and build out the next generation of our automatic trading platform in Palo Alto, CA. We have in-house team formulating trading strategies, and we use program/algorithm automatically trade futures on stock/bond index futures, commodity futures, and foreign exchange futures. The ideal candidate is a hands-on platform builder with significant experience in developing scalable automatic trading platforms and databases. We’re looking for someone with strong programing and quantitative skills, along with solid economic and finance training or exposure. He/she must have strong, firsthand technical expertise in a variety of programing languages, database management technologies in dealing with demanding trading environment and the proven ability to fashion robust scalable solutions that can quickly test, modify, execute and generate profits. They must be at ease working in an agile environment with little supervision. This person should embody a passion for continuous improvement and test-driven development.
Responsibilities for Software Engineer
Analyze, design and develop tests and test-automation of program/algorithm trading suites.
Design and develop a data processing/strategy testing platform using various data source (historic, third-party, simulated, and real time Level II data) configuration management technologies.
Test software development methodology in an agile environment.
Provide ongoing maintenance, support and enhancements in existing systems and platforms.
Collaborate cross-functionally with economist/Finance strategist, system maintenance specialist, and other internal/external departments to achieve efficient solutions.
Provide recommendations for continuous improvement.
Work alongside other engineers on the team to elevate technology and consistently apply best practices.
Qualifications for Software Engineer
Analyzing Information , General Programming Skills, Software Design, Software Debugging, Software Documentation, Software Testing, Problem Solving, Teamwork, Software Development Fundamentals, Software Development Process, Software Requirements
Hands-on experience working with C++, Java, Python, variety of database management platforms
Experience with scripting languages like Perl, Shell, etc.
Strong experience building and deploying infrastructure with cloud deployment technologies
Experience with test-driven development and automated testing frameworks.
Capable of delivering on multiple competing priorities with little supervision.
Excellent verbal and written communication skills.