Software Engineer – Mac/Linux (Remote)
About the Role:
As a Software Engineer, you will support the CrowdStrike Falcon Forensics tool that provides comprehensive data collection while performing triage analysis during an investigation. It has two main components. One component is a “Collector”, which is an executable that is run on client machines that collects system metadata such as events, logs, network states and file system information and delivers this to the cloud. The cloud component aggregates collector data for each customer’s endpoints and allows for effective triage, to quickly determine the machines where threat actor activity started, escalated or targeted. So that incident responders can concentrate their efforts on these impacted machines.
Our Falcon Forensics development team is responsible for building the endpoint collectors which deploy on multiple platforms including Windows, Mac, and Linux. As a Software Engineer, you will be expected to have ownership over major components and development projects. You will be required to assist with architecting solutions and support in implementing our core features. Features will cross-cut most core OS subsystems such as file system, memory and process, and networking. Many features are also built in a way that they will have shared components across multiple platforms. You need to be able to lead projects efficiently while maximizing performance and minimizing costs, making sure high standards are being followed when it comes to design, coding quality, and unit and component testing. Join CrowdStrike and become a key leader in building the most innovative security solutions in the world.
Responsibilities:
Develop new features and maintain existing Go codebase for Falcon Forensics for Mac/Linux
Refine product concepts and features working closely with senior engineers, architects, product managers, and incident response consultants
Collaborate within development teams in designing and building software with cross-platform deliverables (Windows, Mac, Linux)
Own features from design to delivery including participation in product demo at the end of the sprint
Collaborate with multi-functional teams in various locations
What You’ll Need:
In depth knowledge of Mac/Linux OS development
Experience with at least two of: Go, CGo, C/C++, Swift and accessing OS level libraries
Strong low-level OS internals in Mac and/or Linux ( filesystems, network, task)
Experience working with teams to ship major features and releases.
Communicate, collaborate, and work effectively in a distributed team
Experience with Agile processes (Scrum, Kanban, XP, etc.)
Experience with JSON, Protobuf, data representation and marshaling formats
Bonus Points:
Mac and/or Linux OS system expertise and core concepts and subsystems.
Background in scalable, light-weight and highly performant endpoint utilities that collect artifacts and submit to a cloud backend.
Experience with distributed, event driven programs.
Applied experience in secure programming
Cryptography, encryption primitives
API interface clients RESTFul and/or GRPC
Windows internals experience
#LI-RL1
#LI-AI1
#LI-DL1
#LI-Remote