Job Directory Senior Software Engineer, Embedded Platform Bring-Up

Senior Software Engineer, Embedded Platform Bring-Up
San Francisco, CA

Companies like
are looking for tech talent like you.

On Hired, employers apply to you with up-front salaries.
Sign up to start matching for free.

About

Job Description

Meraki Software Engineers breathe life into our cloud-managed networking devices, which range from switches, routers, and wireless access points to desktop phones 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.

Platform Bring-up Engineers 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.

As a Senior Software Engineer focused on platform bring-up, you will:

* Own projects from block-diagram concepts, to prototype boards that don't boot, all the way to shipping product.
* Collaborate with our Hardware Engineering team on component selection and high-level architecture for new Meraki products.
* Collaborate with our manufacturing partners to develop secure, reliable, and scalable manufacturing processes.
* Integrate vendor board support packages and software development kits with our firmware and build system.
* Develop, port, and debug Linux device drivers.
* When things don't go quite as planned-a board doesn't boot, an LED doesn't light, a fan doesn't spin-use a JTAG debugger or logic analyzer or work with the hardware team to debug the problem.
* Collaborate with other 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 7+ 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.
* Knowledge of wireless protocols (e.g., 802.11, Bluetooth).
* Experience with multi-threaded or parallel programming.
* Experience with Ethernet switch chips, crypto acceleration, or hardware offload engines.
* Knowledge of web technologies: databases, high-level languages (Ruby, JavaScript), frameworks (Rails, React), and architectural patterns.

Let your dream job find you.

Sign up to start matching with top companies. It’s fast and free.