Senior Firmware Security Engineer
Meraki Software Engineers breathe life into our cloud-managed networking devices, which range from switches and routers, to wireless access points and security cameras. We leverage real-time telemetry from thousands of deployed networks spanning the globe to continuously improve the performance and stability of our products.
As a member of the firmware security team, you will have a substantial impact on the security of millions of Meraki users all around the world. You will also take the lead in building new Meraki products by integrating everything from bootloaders to web servers on prototype hardware. Our device firmware is built on Linux and open-source software. We work individually and in small teams to release several new products each year.
We are passionate about building real products that our customers love. We believe in fostering a positive culture by hiring, coaching, and empowering smart, helpful, humble people. With the support of management, we constantly look within for ways to improve organizationally. Finally, we maintain a positive relationship with Cisco that gives us the stability and resources of a larger company without sacrificing our startup vibe—including an awesome office, stocked full of food and drinks.
As a Senior Firmware Security Engineer you will:
- Collaborate with our Hardware Engineering team on component selection relating to secure boot and roots of trust.
- Architect, develop, and maintain software utilizing our specialized security chips, ranging from Linux device drivers to the cloud authentication mechanisms.
- When things don’t go quite as planned—a board doesn’t boot, doesn’t communicate with our dashboard—use a JTAG debugger or logic analyzer or work with the hardware team to debug the problem.
- Collaborate with Platform Bring-up Engineers across product teams to continually improve our firmware design, development, and deployment practices.
You are an ideal candidate if you:
- Have 3+ years professional experience programming in C or C++.
- Have expert knowledge of embedded systems development concepts, including cross-platform development and build tools (GNU toolchain, OpenWRT, buildroot, Yocto), bootloaders (U-Boot, coreboot, UEFI), kernel configuration, device drivers, device trees.
- Know common bus protocols like I2C, SPI, and LPC.
- Are comfortable using network protocol analyzers, logic analyzers, hardware debuggers, and source-level debuggers to troubleshoot problems at all layers of the stack.
- Have experience reading schematics and data sheets.
- Are eager to hook up a logic analyzer to investigate issues with the boot chain.
- Are delighted to break things in order to uncover security vulnerabilities.
Bonus points for:
- Experience writing device drivers.
- Experience with Trusted Platform Modules (TPM), Secure Boot, and cryptography fundamentals.
Cisco is an Affirmative Action and Equal Opportunity Employer and all qualified applicants will receive consideration for employment without regard to race, color, religion, gender, sexual orientation, national origin, genetic information, age, disability, veteran status, or any other legally protected basis. Cisco will consider for employment, on a case by case basis, qualified applicants with arrest and conviction records.