Senior Linux Low-level Architect

Senior Linux Low-level Architect

The company
Ultra-low latency and ultra-high throughput are the keys to enable trading with accelerated market data, market access and in-line risk management for the main US and European equities, options, and futures exchanges. With offices in London, Paris and New-York, Celoxica offers the fastest, most deterministic trading and market data solutions with the lowest possible footprint, designed to deliver unique business advantage through a combination of leading-edge software and hardware acceleration using FPGA-based technology.
Speed matters for trading firms who co-locate their strategic applications in high frequency trading environments, market making, liquidity provision, algorithmic trading and smart order routing. Hence, the Celoxica hardware is built upon multi-gigabit-second Ethernet platforms embedding arbitrage and transcoding on the latest FPGAs technologies, along with a proprietary driver and library stack allowing kernel-bypass so that applications can handle data at minimum latency and maximize the overall throughput.
Job description
Celoxica is looking for a talented senior software architect, driver and kernel developer to work in its Paris office. In very close collaboration with the hardware development team, the main contribution will be the maintenance of the current code base as well as the architecturing and implementation of any future evolution. A solid understanding of digital systems, network communications and computer architecture is an absolute requirement.
This is a challenging position requiring an understanding of network communications, hardware design, a mastering of Operating System design especially Linux kernel as well as userspace and user level interactions.
The successful applicant will have the unique opportunity to be involved in various stages of the projects, from specification to delivery, and will have the creative freedom to engineer solutions to complex problems. He will evolve in a dynamic environment together with senior and expert engineers.
Primary responsibilities

  • Collaborate with the hardware and software teams to extend and maintain the existing code base.
  • Lead the low-level software team
  • Design hardware interfaces, kernel interfaces, and high level user interfaces
  • Potentially interact with customers and internal marketing personnel to capture product requirements
  • Architecture and implement product requirements
  • Mentoring and training of staff

Desired skills & experience

  • Expert in C and assembler
  • Expert in parallel and multi-threaded systems
  • Experience with PCI, Ethernet, IP , UDP , TCP
  • Experience developing and supporting Linux device driver code
  • Experience developing and supporting userspace library in direct connection with driver code
  • Experience in low-latency kernel bypass technology
  • Experience with Zerocopy engine; hardware ↔ kernel, hardware ↔ userspace, kernel ↔ userspace
  • Experience with DMA engine
  • Experience in debugging hardware
  • Proficient in performance profiling, tuning, and debugging in kernel and userspace
  • Understanding of network protocols, scalable algorithms

Salary + package + bonus will compete with and exceed similar organizations.