Alarm.com is a rapidly expanding technology company developing innovative cloud and device solutions across a wide range of cutting-edge technologies that provide a unified, connected service to millions of residential and commercial properties in the US and abroad. We are looking for a talented and passionate embedded software engineer for the Device Engineering team to help us define the future of the Internet-of-Things for residential and commercial properties by creating and integrating devices including security panels, networking gateways, and video cameras. You will be working with a team of talented engineers across a diverse set of technological backgrounds to design devices, build and manufacture hardware, architect and implement software, and collaborate in an agile and fast-paced environment.
Required Qualifications:
- Bachelor's Degree in Computer Science, Electrical/Computer engineering, or related field, or equivalent experience.
- 10+ years of experience with embedded software development with Linux platforms.
- Experience with board support packages, Linux kernel and drivers, and hardware bring-up.
- Experience with C/C++ coding following scalable and efficient software architecture and design principles.
- Familiarity with hardware peripherals such as UART, SPI, I2C, ADC, etc.
- Experience with cross-compilation and development frameworks in platforms and environments such as Yocto, buildroot, OpenWRT, or Android.
- Understanding of electronics and ability to read circuit schematics.
- Experience with debugging tools such as JTAG, SWD, oscilloscopes, and logic analyzers.
- Knowledge of version control systems such as Git.
- Experience with cryptography and specialized embedded processors a plus.
- Experience or exposure with cameras or video devices
Responsibilities:
- Work with other engineers to develop board support packages, platform frameworks, and embedded Linux applications using C/C++.
- Work with electrical and mechanical engineers to design and manufacture embedded Linux devices.
- Work with software engineers to design and implement features that interact with the cloud.
- Work with product managers and quality engineers to ensure the products meet Alarm.com's standards.
- Communicate effectively and collaborate with others to ensure the timely delivery of projects.
Why Work for Alarm.com:
- Collaborate with outstanding people
- Make an immediate impact
- Gain well-rounded experience
- Focus on fun
- Work from the office 4 days a week
Alarm.com offers competitive pay and benefits including subsidized medical plan options, an HSA with generous company contribution, a 401(k) with employer match, paid holidays, wellness time, and vacation increasing with tenure. Paid maternity and bonding leave, company-paid disability and life insurance, FSAs, well-being resources and activities, and a casual dress work environment are also part of our outstanding total rewards package!