Sr Software Engineer – Low Latency
Objective Partners · Chicago, IL · 4 wk ago
EngineeringContract
Responsibilities
- Focus on Architecture and solution efficiencies.
- Balances performance, capacity and reliability with core system functionality.
- 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.
- Writes optimized application modules and unit tests with minimal guidance.
- Understands low-level designs and how to incorporate into the larger application.
- Uses design tools to frequently share and communicate design ideas on larger systems.
- Comfortable using low level tools to examine the system (i.e. packet capture, hardware counters, etc.).
- Utilizes knowledge of modern multi-processor architecture to tune the applications and systems for high throughput and low latency.
- Uses patterns frequently, contributing to best practice and process enhancements.
Skills & Software Requirements
- Ability to evaluate the characteristics of algorithms and data structures for the given constraint.
- Proficiency in Multithreading, concurrent data structures, shared memory, asynchronization, JNI, NIO, HashMap etc.
- Understands queue theory and various designs and implementations to enhance system performance.
- Experience working with networking protocols (UDP, TCP).
- Familiarity with redundancy and fault tolerance techniques.
- Usage of EF_VI, JNI, On-load Solar Flare extension APIs preferred.
- Demonstrate the understanding of thread pinning, interrupts, isolating cores, jitters, numa node, TLB Cache’s etc.
- Familiar with JVM internals and garbage collection tuning.
- Advanced knowledge of Linux kernel/OS internals.