Optiver US LLC seeks a Software Developer at its facility located at 130 E Randolph Street, Suite 1400, Chicago, IL 60601. The Software Developer will be part of Optiver’s Architecture and Control software development team.
S/he will design, develop, test and maintain core distributed systems which provide guarantees around the safety of Optiver's trading systems. S/he will build software to solve a variety of problems central to Optiver's business: monitoring automated systems for potential erroneous behavior, reliably handling large volumes of data updates and insertions, and leveraging comprehensive controls to prevent or mitigate automated trading risk. S/he will design, implement, and manage APIs, frameworks, protocols, and libraries which facilitate and guide how various trading components work together. S/he will work with the IT operations, market and automated risk, and other engineering teams to ensure software meets expectations and requirements. S/he will write programs primarily in C#. S/he will ensure these programs fully and efficiently utilize computer hardware features via the Windows operating system. S/he will analyze these components and servers for performance problems and change the components to improve performance and remove bottlenecks. S/he will design communication wire formats between these components and work with various engineering teams to ensure there are smooth upgrade paths between versions of said formats. S/he will write a variety of tests (unit, functional, system) to ensure the systems behave as designed.
REQS: This position requires a Bachelor’s degree, or foreign equivalent in Computer Science, Finance, Mathematics, or related field and 2 years of software development experience within the financial trading industry or in the alternative, an Associate’s degree or foreign equivalent in Computer Science, Finance, Mathematics, or related field and 3 years of software development experience within the financial trading industry. Per 20 CFR 656.17(h)(4), any suitable combination of education, training, or experience is acceptable. Also must have 2 years of work experience with: 1. Programming C++ in a trading or financial context; 2. Utilizing Google protocol buffers for distributed systems communication in a trading or financial context; 3. Leveraging and analyzing the use of network protocols including TCP and UDP; 4. Designing and writing programs which run on Linux; 5. Algorithms, data structures, multi-threading concepts, object-oriented design and distributed systems; and 6. Full life cycle software development: requirements gathering, system design, coding, various types of testing (unit, functional, end-to-end, regression), review, deployment, analysis, maintenance and support.