Why Carbon Black?
At Carbon Black, you’ll have an opportunity to make a huge impact while working alongside a global community of passionate security technology experts. For three consecutive years, our valued employees around the world have made Carbon Black a Top Place to Work, as named by the Boston Globe.
Our Engineering team is moving at lightning speed on the breaking edge of technology. You’ll be pulling things apart and tinkering, building new platforms, or playing in the cloud. Here, the engineering opportunities are endless. With this fast-paced, synergetic group, you’ll be working together and across the organization to ensure customer success all while continuing to build a product that protects their dearest assets.
Why You Matter:
The Cb Defense platform team is building an essential security defense against advance persistent threats and malware through comprehensive measurement, detection, protection, and trust capabilities. Our work is deep inside operating systems—Windows, Mac OS X, and Linux—and we’re looking for team members that like to pry them open and innovate in the gaps. You’re probably a good fit for the team if:
- You’re fluent in C++ (both OO and generic constructs) and understand the code that is generated
- You can easily find your way around a storage stack, task scheduler, or virtual memory
- You don’t feel dirty poking around a core dump, reading assembly, or reverse engineering things
- You relish hard problems in security, virtualization, stream processing, forensics, and cryptography
- You write robust, reliable code
- You can effectively work remotely
- You enjoy a fast paced, high energy, high output team
- You have the computer science background to do so effectively and efficiently
This position is focused on Linux, so familiarity with Linux security modules, loadable kernel modules and troubleshooting loadable kernel modules is valuable. Experience with the C/C++, Boost, STD template library, and application debugging on Linux is a must. As a Principal Software Engineer, you will lead the development of major functional and component areas from inception through delivery.
You’ll be part of a small team of smart talented people like yourself. The team shares a sense of purpose and urgency, but in a fun, friendly and informal atmosphere typical of young innovative technology companies. All doors are always open. You’ll work on problems we haven’t figured out and enjoy the satisfaction of having an impact on our success.
What You’ll Do:
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. Other duties may be assigned to meet business needs. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
- Design, develop, test, document and maintain complex software features from general specifications.
- Apply proven patterns, design principles and software engineering practices to develop quality software.
- Plan and take responsibility for multiple features through the complete software development lifecycle.
- Analyze, isolate and resolve problems in product software with little or no guidance.
- Respond to high-priority issues quickly and drive to resolution and customer satisfaction.
- Lead and contribute to reviews of software artifacts and give considered, high-quality feedback.
- Evaluate, select and adapt standard techniques, tools and procedures in the delivery of features.
- Independently collaborate with peers and with other functional organizations to achieve project goals.
- Plan and schedule work and tasks across multiple features, manage dependencies, change and risk.
- Lead projects and the delivery of multiple features to successful conclusion with a minimum of guidance.
- Provide technical supervision and mentoring of one or more engineers.
- Recommend new features, technologies, tools, process improvements.
- Deliver technical training and training materials for other functional organizations in the company.