Senior Software Engineer, Mac OS X and Cross-Platform Development
Bit9 is developing the next generation security defenses against advance persistent threats and malware through comprehensive visibility, detection, prevention and response 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 could craft some pretty ingenious malwareâ¦but you donât because you play nice.
- 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 have the computer science background to do so effectively and efficiently.
This position is focused on OS X, so familiarity with kexts, KAUTH and the I/O kit is valuable as is general experience with Xcode, gdb and lldb. As Senior 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. We have little bureaucracy; all doors are open. Youâll work on problems we havenât figured out and enjoy the satisfaction of having a direct immediate impact on our success.
Essential Duties and Responsibilities
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.
Requirements and Qualifications
- 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, and directions for the company.
- Deliver technical training and training materials for other functional organizations in the company.
Bit9 is an Equal Opportunity Employer. Only direct applications will be considered; no recruiters.
- At least seven years of software engineering in a product development organization, or related experience.
- Bachelor of Science degree in Computer Science, Computer Engineering, or a related field.
- At least three years recent experience building systems-level software (e.g. kernel modules, agents, daemons).
- Deep knowledge in at least two related product or technical areas such as file systems or distributed systems.
- A record of efficient, creative solutions to complex problems and successful incorporation in product delivery.
- Practical experience in C++ with applied knowledge of object oriented and generic programming.
- Fluent in approaches to security, concurrency, debugging, performance, scalability, supportability and quality.
- Good written and excellent verbal communication.