At Cisco Meraki, we know that technology can connect, empower, and drive us. Our mission is to simplify technology so our customers can focus on what's most meaningful to them: their students, patients, customers, and businesses. We’re making networking easier, faster, and smarter with technology that simply works.
As a member of our sustaining team, you will focus on delivering high-quality fixes for regressions and customer issues with our products, liaising with our Product Management, Support, and Release Engineering teams to target the most important issues of the day. You identify and eliminate technical debt and code smells, allowing our bringup engineers to quickly release our newest platforms to customers. With millions of people using Meraki products around the world, your work will have a significant impact from the day it is deployed.
As a Sustaining Embedded Platform Engineer, you will:
- Investigate and resolve product and platform defects. Write unit or integration tests to prevent issues from happening again.
- Scope, design, and implement tools for improving the serviceability of Meraki platforms.
- Leverage knowledge of customer needs to guide others in code reviews, design documents, and to generally provide context in decisions.
- Integrate vendor board support packages and software development kits with our firmware and build system.
- Port, debug, and characterize Linux device drivers.
- Collaborate with other Platform/Sustaining 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 strong systems and networking foundational knowledge (systems architecture, memory hierarchy, storage subsystems, LANs, routing).
- 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 MDIO.
- 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.
Bonus points for:
- Experience writing device drivers.
- Upstreaming Linux patches.
- Experience with Ethernet switch chips, crypto acceleration, or hardware offload engines
- Experience with multi-threaded or parallel programming.
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.
At Cisco Meraki, we don't just accept difference - it's one of our key values. Everybody In means we listen to each other's opinions. Everybody is accepted and valued here, and we are a team that works as one towards our goals. We recognize that diverse teams make the strongest teams, and we encourage people from all backgrounds to apply.