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