Skip to content
mimi

Mid-Level Embedded Software Engineer

Brivo

Bethesda · On-site Full-time Mid Level 5d ago

About the role

About the Role

As a Mid-Level Embedded Software Engineer, you will participate in the design, development, testing, debugging, and implementation of embedded software and systems. You will work closely with the Team Lead and members of the Embedded Access Control and Smart Home teams to develop and maintain firmware for access control panels, credential readers, and smart home gateways. You will bridge the gap between hardware and software, participating in the full application lifecycle and ensuring seamless integration for Brivo’s comprehensive product ecosystem.

Key Responsibilities

  • Firmware Development: Spend a significant portion of your time writing clean, scalable, and performant C/C++ code for embedded Linux and microcontroller environments.
  • Hardware Integration: Collaborate with hardware engineers to ensure hardware and firmware integration is seamless and debug at the hardware/firmware interface.
  • Testing & Validation: Perform verification and validation of designs using lab equipment such as oscilloscopes, logic analyzers, and digital multimeters.
  • Lifecycle Support: Support the entire application lifecycle, including concept, design, testing, release, and ongoing maintenance of firmware and drivers.
  • Quality Assurance: Participate in code reviews, apply coding best practices, and maintain automated test coverage to ensure high-reliability designs.
  • Troubleshooting: Assist with troubleshooting issues and provide technical support for manufacturing and field deployments.

Skills, Knowledge and Expertise

  • Education: Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field.
  • Experience: 3–5 years of professional experience in embedded software development and designing customer-facing electronic products.

Technical Skills:

  • Proficiency in C/C++ programming and experience with scripting languages like Python, Bash, or Shell scripting.
  • Strong understanding of data structures, algorithms, and software design patterns.
  • Experience developing for microcontrollers (e.g., ARM Cortex-M, Atmel ATmega) and reading microprocessor data sheets.
  • Familiarity with version control systems, specifically Git.
  • Communication: Excellent interpersonal and communication skills, with the ability to work independently and as part of a cross-functional team.

Preferred Skills

  • Experience with Linux kernel/build systems and developing drivers for embedded Linux applications.
  • Understanding of communication interfaces such as SPI, I2C, UART, CAN, and RS-485.
  • Familiarity with networking protocols including TCP/IP, IPv6, and DHCP.
  • Experience with wireless technologies such as BLE, Wi-Fi, or LoRa.
  • Ability to read electrical schematics and perform basic hardware testing.
  • Familiarity with Yocto and/or Zephyr

Skills

ARM Cortex-MAtmel ATmegaBashBLECC++CANDHCPGitI2CIPv6LoRaLinuxPythonRS-485ShellSPITCP/IPUARTWi-FiYoctoZephyr

Don't send a generic resume

Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.

Get started free