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:
Primitive types and the String object
Java's memory model
Java's Collections framework
Functions, objects, fields, etc.
Java, advanced topics:
Concurrency in Java and managing shared mutable state
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.
CME Group (www.cmegroup.com) 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.