Brivo
Bethesda, Maryland
04/23/2026
Full time
Job DescriptionJob DescriptionDescriptionAbout 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 (synthesized from available requirements) 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