Job Details
Location:
Chicago, Cook County, Illinois, USA
Posted:
Apr 07, 2020
Job Description
As a Linux Kernel Developer, this individual will be a part of our Core Development team which is responsible for designing, developing and maintaining Jump's Algorithmic Trading Platform. He/she will be responsible for writing embedded software in C/C++, partnering closely with other software as well as hardware engineers, and implementing new features and frameworks within the trading platform. We are looking for individuals who have experience building reliable, high performance software applications and have a passion for innovative technology solutions.
What you’ll do:
- Full life-cycle development of linux device drivers and associated userspace APIs / test applications
- Test, tune, triage, optimize and add novel functionality across a variety of Linux kernel subsystems
- Interact with both hardware and software development teams at Jump to coordinate the introduction of new technologies
- Support the full lifecycle of hardware platform development – architecture specification, device bring up and characterization, and sustaining engineering
Skills you'll need:
- At least 5 years of experience using C, C++ and Python/shell scripting in a Linux environment
- Demonstrated expertise in Linux kernel and device driver development
- Experience building reusable software targeting several CPU architectures via cross compilation
- Experience in Object-Oriented design and multi threaded programming
- Understanding of networking concepts (Ethernet, TCP/IP, IB) with low level networking knowledge preferred
- Interfacing with heterogeneous compute platforms (e.g. FPGA, ASIC, GPU) and associated interconnect topologies (e.g. Ethernet, USB, JTAG, PCIe)
- Strong analytical and problem solving skills
- Experience with automated testing and deployment via Jenkins CI, Github and scripting
- Ideally some experience in developing low latency systems
- Bachelor's degree in Computer Science or Computer Engineering or related field