Lead Software Engineer- Match Engine

Full Time

    Job Description


    The Lead Software Engineer role is responsible for working with a team of technology engineers, and leading efforts and projects to drive and execute the strategy for technology advances in CME's electronic trading platform. This individual is responsible for leading projects for systems that must achieve a unique blend of ultra-low latency performance, the capacity to seamlessly facilitate the busiest trading days in the world economy, rock-solid reliability and integrity and handle real-time synchronization of a geographically distributed system, all while undergoing rapid release cycles. Achieving these goals will require an understanding of both the underlying technology and the development, testing, and deployment life cycle of the applications. The candidate must be able to solve complex technical problems creatively, develop new processes and solutions for brand new challenges, and possess the ability to lead others to achieve the critical mission of the team. Utilize an understanding of CME Group's business and industry knowledge to enhance the usability and quality of the application(s) being developed. This exciting project involves building out a new platform for quote driven matching.

    Principal Accountabilities:

    • Conducts full system testing.
    • Defines key metrics driving code optimization and leads discussion of code reviews; manages environment build deployments, release notes and build notices; reviews code to proactively identify and mitigate potential issues and defects as well as identify solution problems and issues outside code.
    • Develops designs for all aspects of a project; mentors senior software engineers.
    • Exhibits language proficiency and independently writes application modules and unit tests as well as designs independently. Contributes to architectural discussions. Interprets and enforces architecture for a development team. Mentors developers, and is influential within company division.
    • Influences best practices development, contributing to process enhancements, and enforces best practices on project work.
    • Conducts system-wide testing and some integration testing (Junit and cucumber)
    • Helps with debugging/designing the automated test frameworks
    • Identifies potential opportunities for code optimization. Provides input for code reviews and helps with environment build deployments, release notes and build notices; Reviews code to proactively identify and mitigate potential issues and defects and helps to identify sources of defects as well as troubleshoots various forms of code.
    • Uses design tools to frequently share and communicate design ideas on larger systems.
    • Uses patterns frequently, contributing to best practice and process enhancements
    Skill set Requirement:

    • Industry experience in Core Java:
      • Java basics:
        • Primitive types and the String object
        • Java's memory model
        • Java's Collections framework
        • Functions, objects, fields, etc.
        • Java's keywords
        • Memory handling
        • Threading
        • Garbage Collector
        • Low Latency
      • Java, advanced topics:
        • Concurrency in Java and managing shared mutable state
        • Dagger
        • Annotations
        • Generics and Lambdas
    • Knowledge of less frequently utilized technologies and techniques like Simple Binary Encoding, UDP multicast are preferred
    • Proficient in SQL knowledge, intermediate in database modeling and skilled in database tuning.
    • Significant experience developing low-latency software applications.
    • Demonstrated ability to lead and mentor other software engineers.
    • Strong understanding of exchange match engine applications.
    • Problem solving:
      • Ability to translate business problems into working code
      • Ability to use tests to your advantage while implementing software
      • Ability to ask questions of peers when there are gaps in understanding
    • Required Tools: Git, bash/ksh(basics)
    • Equivalent tool experience required: Jira, Confluence, Gradle, IntelliJ
    • Preferred tool experience: Docker Swarm, Jenkins, Kafka, Ansible

    #LI- Hybrid, #LI-JSA

    CME Group: Where Futures Are Made

    CME Group ( is the world's leading derivatives marketplace. But who we are goes deeper than that. Here, you can impact markets worldwide. Transform industries. And build a career shaping tomorrow. We invest in your success and you own it, all while working alongside a team of leading experts who inspire you in ways big and small. Problem solvers, difference makers, trailblazers. Those are our people. And we're looking for more.