Software Engineer Embedded Platform, Camera

Job Number: 1381707

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.

The camera team is a small, fast-moving team building security cameras with a unique edge-storage architecture. The Meraki MV system is powerful, secure, and does not rely on any on-premise servers, making it easy to deploy and scale from one to hundreds of cameras per site. Today, cameras are mainly used for security, but what if they could be used for more? Imagery from a camera is information that can solve a problem or offer an alternative insight. MV cameras blend the best of cloud and IoT technology, making it simpler and easier for customers to use the camera as a sensor!


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.


Have 6+ 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.


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 image sensors, GPUs, ISPs, DSPs, h.264 and other video encoding technologies.

Knowledge of web technologies: databases, high-level languages (Ruby, JavaScript), frameworks (Rails, React), and architectural patterns.

Meraki is headquartered in the Mission Bay area of San Francisco, with breathtaking views of the Bay Bridge and the Bay beyond. There are also locations in San Jose and Chicago. All locations offer a generous benefits package.


At Cisco Meraki, we’re challenging the status quo with the power of diversity, inclusion, and collaboration. When we connect different perspectives, we can imagine new possibilities, inspire innovation, and release the full potential of our people. We’re building an employee experience that includes appreciation, belonging, growth, and purpose for everyone.

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.

Cisco Covid-19 Vaccination Policy

The health and safety of Cisco’s employees, customers, and partners is a top priority. Our goal is to protect and mitigate the spread of COVID-19 infection for strong business resiliency during the pandemic. Therefore, Cisco may require new hires to be fully vaccinated against COVID-19 if the role requires business-related travel, meeting with customers/partners (including visiting third-party sites on behalf of Cisco), attending trade events, and Cisco office entry, unless otherwise prohibited by applicable law, and in countries where COVID-19 vaccination is legally required. The company will consider legally required accommodations/exceptions for medical, religious, and other reasons as per the requirements of the role and in accordance with applicable law. Additional information will be provided to candidates about the requirements and accommodation process at the offer time based on region.


Les ingénieurs logiciels de Meraki donnent vie à nos appareils de réseautage gérés dans le nuage, notamment les commutateurs, les routeurs, les points d’accès sans fil, les téléphones de bureau et les caméras de sécurité.Nous tirons profit de la télémétrie en temps réel de milliers de réseaux déployés dans le monde entier pour améliorer en permanence les performances et la stabilité de nos produits.

Les ingénieurs de mise en œuvre de la plateforme prennent les devants dans la création de nouveaux produits Meraki en intégrant tout sur du matériel prototype, des chargeurs de démarrage aux serveurs Web. Le micrologiciel de nos appareils repose sur Linux et des logiciels ouverts. Nous travaillons individuellement et en petites équipes pour lancer plusieurs nouveaux produits chaque année.

L’équipe des caméras est une petite équipe construisant des caméras de sécurité qui évolue rapidement et qui dispose d’une architecture unique de stockage en périphérie. Le système Meraki MV est puissant et sécurisé et ne repose sur aucun serveur sur site, ce qui permet un déploiement et une évolution faciles d’une à des centaines de caméras par site. Présentement, les caméras sont principalement utilisées pour la sécurité, mais si elles pouvaient être utilisées à d’autres fins? Les images provenant d’une caméra sont des informations qui peuvent résoudre un problème ou offrir des observations alternatives. Les caméras MV combinent le meilleur des technologies en nuage et de l’IDO, ce qui rend l’utilisation de la caméra en tant que capteur plus simple et plus facile pour les clients!

En tant qu’ingénieur logiciel axé sur la mise en œuvre de la plateforme, vous devrez :

assurer la responsabilité des projets, de la conception des diagrammes à blocs aux prototypes de cartes qui ne démarrent pas, jusqu’à l’expédition des produits;

collaborer avec notre équipe d’ingénierie du matériel pour sélectionner des composants et élaborer l’architecture de haut niveau des nouveaux produits Meraki;

collaborer avec nos partenaires de fabrication pour mettre au point des processus de fabrication sécurisés, fiables et évolutifs;

intégrer les trousses de soutien des cartes des fournisseurs et les trousses de développement de logiciels à notre micrologiciel et à notre système de conception;

mettre au point, connecter et déboguer les pilotes des périphériques Linux;

lorsque les choses ne se déroulent pas comme prévu (une carte ne démarre pas, un voyant DEL ne s’allume pas, un ventilateur ne tourne pas), utiliser un débogueur JTAG ou un analyseur logique ou collaborer avec l’équipe du matériel pour déboguer le problème;

collaborer avec d’autres ingénieurs de mise en œuvre de la plateforme au sein des équipes de produits pour améliorer continuellement nos pratiques de conception, de développement et de déploiementde micrologiciels.

Vous êtes un candidat idéal si :

vous avez au moins dix ans d’expérience professionnelle en programmation C ou C++;

vous possédez de solides connaissances de base en matière de systèmes et de mise en réseau (architecture des systèmes, hiérarchie de la mémoire, sous-systèmes de stockage, réseaux locaux, routage);

vous avez une connaissance approfondie des concepts de développement de systèmes intégrés, y compris les outils de développement et de création multiplateformes (chaîne d’outils GNU, OpenWRT, Buildroot, Yocto), les chargeurs de démarrage (U-Boot, Coreboot, UEFI), la configuration de noyaux, les pilotes de périphériques et les arborescences de périphériques;

vous connaissez les protocoles de bus courants comme I2C, SPI et MDIO;

vous êtes à l’aise d’utiliser des analyseurs de protocole réseau, des analyseurs logiques, des débogueurs de matériel et des débogueurs au niveau de la source pour résoudre les problèmes à toutes les couches de la pile;

vous avez de l’expérience en lecture de schémas et de fiches techniques.

Points supplémentaires pour :

Expérience en écriture de pilotes de périphériques

Mise en amont des correctifs Linux

Connaissance des protocoles sans fil (p. ex., 802.11, Bluetooth)

Expérience de la programmation multifilière ou parallèle

Expérience avec les capteurs d’image, les cartes graphiques, les ISP, les DSP, le codage h.264 et les autres technologies d’encodage vidéo

Connaissance des technologies Web : bases de données, langages de haut niveau (Ruby, JavaScript), cadres (Rails, React) et modèles d’architecture


Le siège de Meraki se trouve dans le quartier de Mission Bay Ă  San Francisco, avec une vue Ă©poustouflante sur Bay Bridge et la baie au-delĂ . Il existe Ă©galement des sites Ă  San Jose et Ă  Chicago. Tous les sites offrent un ensemble d’avantages sociaux gĂ©nĂ©reux.


Chez Cisco Meraki, nous défions le statu quo grâce à la puissance de la diversité, de l’inclusion et de la collaboration. Lorsque nous mettons en relation différentes perspectives, nous pouvons imaginer de nouvelles possibilités, inspirer l’innovation et libérer le plein potentiel de nos employés. Nous créons une expérience pour les employés qui inclut l’acceptation, l’appartenance, la croissance et des objectifs pour tous.

Cisco est un employeur d’action affirmative et d’égalité des chances, et tous les candidats qualifiés seront pris en considération pour un emploi sans égard à la race, à la couleur, à la religion, au sexe, à l’orientation sexuelle, à l’origine nationale, aux caractéristiques génétiques, à l’âge, à l’invalidité, au statut d’ancien combattant ou à tout autre motif protégé par la loi. Cisco envisagera pour l’emploi, au cas par cas, des candidats qualifiés avec des dossiers d’arrestation et de condamnation.

Politique de vaccination de Covid-19 de Cisco

La santĂ© et la sĂ©curitĂ© des employĂ©s, des clients et des partenaires de Cisco constituent une prioritĂ© absolue. Notre objectif est de protĂ©ger et de limiter la propagation de l’infection par la COVID-19 afin de renforcer la rĂ©silience de l’entreprise pendant la pandĂ©mie. Par consĂ©quent, Cisco exige que tous les nouveaux employĂ©s soient entièrement vaccinĂ©s contre la COVID-19 aux États-Unis, sauf si la loi en vigueur l’interdit, et dans les pays oĂą la vaccination contre la COVID-19 est requise par la loi. L’entreprise prendra en considĂ©ration les amĂ©nagements et exceptions lĂ©galement requis pour des raisons mĂ©dicales, religieuses et autres, en fonction des exigences du poste et conformĂ©ment Ă  la loi en vigueur. Des informations supplĂ©mentaires seront fournies aux candidats sur les exigences et le processus d’adaptation au moment de l’offre en fonction de la rĂ©gion.