Systems Software Engineer
Published: 1 month ago
Backtrace I/O
The crash reporting and analysis platform for enterprise workloads
Job Location
Job Type
Full TimeVisa Sponsorship
Not AvailableRelocation
AllowedSkills
Python
C++
C
Operating Systems
Linux
Assembly Language
FreeBSD
MIPS
Video Games
Multithreading
X86 Assembly/machine Code
ARM
Real-Time Synchronization
Low level Programming
POSIX API
CPU/GPU debugger internals
The Role
The Systems Software Engineer is responsible for improving the core object storage platform that is the foundation of the Backtrace platform. The role is instrumental in allowing our customers to debug at scale and analyze highly multidimensional data so that they can improve software quality. The object store is responsible for receiving fault data (minidump, proprietary dump format, etc…) and processing analytical queries from the web frontend using an in-house embedded columnar database. You will work with other systems software engineers and the frontend team to design and implement a myriad of improvements ranging from improved performance, reliability, data analysis and user experience.
RESPONSIBILITIES:
Extend core subsystems ranging from work scheduling, to networking, HTTP protocol layer, storage, indexing and data analysis. Our object store is mostly built in C, but the ecosystem contains some Haskell, Node and Python.
Own critical portions of the object store architecture that have direct impact on the end-user.
Make tough decisions regarding when, how and why certain investments should be made.
Deliver continued improvements to both the velocity and the quality of the product.
Contribute to and improve our software development lifecycle.
Collaborate with a variety of team members from specification to implementation.
ABOUT YOU:
3+ years of significant C or C++ development experience. You’ve written high quality software that is used in production environments under non-trivial constraints, be it space or time. You’ve built and utilized advanced data structures in real workloads.
Working knowledge and experience with core systems concepts including:
- Computer architecture: You know basic concepts of computer architecture including pipeline hazards and (virtual) memory hierarchy.
- Design: You have a pragmatic approach to software design that is grounded in workload, requirements, engineering costs and customer value.
- Filesystems: You know what an inode and buffer cache is.
- Multithreading: Familiarity and experience with a myriad of synchronization primitives, from a simple mutex to more advanced facilities.
- Networking: You’ve used the BSD socket interface, know what a socket buffer is and have a basic understanding of TCP.
- Operating systems: You know the difference between a thread and a process, mmap and sbrk, and what virtual memory is.
You’ve read at least 2 interesting papers in the systems domain over the last year.
A proven track record of accountability, autonomy, collaboration, pragmatism and discipline. You have initiative and are able to see it through when given the opportunity. You are able to identify gaps in your knowledge and leverage the strengths of other contributors to build great product. You let facts and results ultimately guide your decision-making.
If you’ve strong interest and interesting code to share, we would still love to hear from you! We hire for great demonstrable talent first.
BONUS:
You’ve written some kernel code at some point for one production operating system.
You have demonstrable domain expertise in at least one area in systems programming.
RESPONSIBILITIES:
Extend core subsystems ranging from work scheduling, to networking, HTTP protocol layer, storage, indexing and data analysis. Our object store is mostly built in C, but the ecosystem contains some Haskell, Node and Python.
Own critical portions of the object store architecture that have direct impact on the end-user.
Make tough decisions regarding when, how and why certain investments should be made.
Deliver continued improvements to both the velocity and the quality of the product.
Contribute to and improve our software development lifecycle.
Collaborate with a variety of team members from specification to implementation.
ABOUT YOU:
3+ years of significant C or C++ development experience. You’ve written high quality software that is used in production environments under non-trivial constraints, be it space or time. You’ve built and utilized advanced data structures in real workloads.
Working knowledge and experience with core systems concepts including:
- Computer architecture: You know basic concepts of computer architecture including pipeline hazards and (virtual) memory hierarchy.
- Design: You have a pragmatic approach to software design that is grounded in workload, requirements, engineering costs and customer value.
- Filesystems: You know what an inode and buffer cache is.
- Multithreading: Familiarity and experience with a myriad of synchronization primitives, from a simple mutex to more advanced facilities.
- Networking: You’ve used the BSD socket interface, know what a socket buffer is and have a basic understanding of TCP.
- Operating systems: You know the difference between a thread and a process, mmap and sbrk, and what virtual memory is.
You’ve read at least 2 interesting papers in the systems domain over the last year.
A proven track record of accountability, autonomy, collaboration, pragmatism and discipline. You have initiative and are able to see it through when given the opportunity. You are able to identify gaps in your knowledge and leverage the strengths of other contributors to build great product. You let facts and results ultimately guide your decision-making.
If you’ve strong interest and interesting code to share, we would still love to hear from you! We hire for great demonstrable talent first.
BONUS:
You’ve written some kernel code at some point for one production operating system.
You have demonstrable domain expertise in at least one area in systems programming.
More about Backtrace I/O
Similar Jobs
fuboTV
The world’s only sports-focused live TV streaming service with top leagues and teams
Parachute Health
Order processing made delightfully simple
Outernets.ai
OUTERNETS is the future of physical consumer engagement
Kick Health
The Online Performance Medicine Clinic for Energizing Sleep and Confident Presentations
BAM.money
Financial planner
Open Health Network
Integrated AI powered continuous care framework for chronic disease management
Outernets.ai
OUTERNETS is the future of physical consumer engagement
Cherre
The real estate industry’s leading data management and analytics platform
Leverage
End-to-end supply chain management and visibility platform