Lead Performance Engineer
Intercontinental Exchange
Overview Job Purpose At Intercontinental Exchange (ICE), we engineer technology, exchanges and clearing houses that connect companies around the world to global capital and derivative markets. With a leading-edge approach to developing technology platforms, we have built market infrastructure in all major trading centers, offering customers the ability to manage risk and make informed decisions globally. By leveraging our core strengths in technology, we continue to identify new ways to serve our customers and transform global markets. We are looking for performance engineers to join our development team. Our goal is to push the limits of what can be achieved with latency, capacity, and determinism. This is not a testing or QA position. This is a position for experienced software engineers who want to focus on performance. The right candidate will have a passion for figuring out how to make software run faster and more efficiently. All layers of the system will be examined, not just software. Understanding how to effectively use operating system and hardware resources is key to achieving optimal performance. Responsibilities Observe and understand the runtime behavior of system components while under load, including the usage of low-level hardware and operating system resources Identify hotspots or bottlenecks in code execution Determine the root cause of hotspots or bottlenecks whether they be inefficient use of a programming language, operating system resources, the system memory allocator, etc. Think of solutions to hotspots or bottlenecks, then test them by modifying the existing codebase and running performance tests to measure potential improvement Improve test harnesses used for performance measurement and profiling Take responsibility for the performance of one or more system components Solve performance-related problems Knowledge and Experience Undergraduate degree in Computer Science, Mathematics, Physics, or related field 7+ years of programming experience, C++ and Java preferred Experience profiling all layers of the technology stack (software, OS, hardware, network) and optimizing complex applications Experience with tracing and profiling tools such as eBPF, DTrace, VTune, perf, flamegraphs Knowledge of low-level CPU details such as cache usage and branch prediction, as well as their impact on software performance Knowledge of low-level kernel events such as context switching, interrupts, and thread scheduling Knowledge of compiler and linker optimizations (e.g., PGO) Experience tracing user-level and kernel events for debugging and profiling Experience using benchmarking tools and building custom test harnesses Precise thinking and a scientific approach to solving problems Professional written and spoken English with excellent presentation skills Excellent interpersonal skills, curiosity, flexibility, and accountability Result-oriented with a personal drive to meet commitments Schedule This role offers work from home flexibility of one day per week. Intercontinental Exchange, Inc. is an Equal Opportunity and Affirmative Action Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, sexual orientation, gender identity, national origin or ancestry, age, disability or veteran status, or other protected status.
Confirm your E-mail: Send Email
All Jobs from Intercontinental Exchange