Jobs and Careers
AL

Senior Software Engineer

Alarm.com
United Statesfull_timeVerifiedPosted 4 May 2023

About the role

Alarm.com Incorporated

Fairfax County, VA (McLean, VA)

Senior Software Engineer

DUTIES:

Design and develop Alarm.com’s proprietary camera firmware platform and applications. Develop software features across a wide variety of technologies, including wireless RF networks, mobile applications, intelligent video analysis, device firmware, home automation, commercial applications, IoT, APIs, web application development, e-commerce applications, and/or database application development. Lead and oversee development of software features and enhancements using various programming languages, such as C, C++, and Shell scripting. Develop Linux kernel drivers and low-level integration with hardware peripherals. Create support packages using Buildroot and Yocto. Work with build systems such as CMake or Meson. Develop firmware and video applications for Alarm.com’s smart cameras. Lead and deliver on assigned software design, development, testing, and documentation tasks for multi-engineer projects. Recommend changes to department processes and procedures. Perform code review and develop integration tests on software to optimize efficiency and code quality. Work closely with multiple teams including electronic design engineers on system design and integrate firmware and hardware components of the overall system design. Work closely with Quality Engineering to specify project test plans. Mentor and/or manage junior team members. Research, adopt and integrate new technologies and new hardware companies. Job can be performed anywhere in the U.S.

 REQUIREMENTS:

Bachelor's degree or the foreign equivalent in Software Engineering, Computer Science, Electronics and Communication Engineering, Computer Engineering, Electrical and Computer Engineering, Electrical and Electronics Engineering or foreign equivalent, plus 5 years of progressively responsible work experience in a software development occupation. The required experience must be progressively responsible and must include:

  • 5 years of experience working with at least one of the following programming languages: C, C++, shell scripting and design patterns.
  • 5 years of experience working with Linux systems.
  • 5 years experience managing complex code in a collaborative environment using various configuration tools such as Bitbucket, GIT, JIRA, and Confluence.
  • 2 years of experience in at least two of the following domain areas: Architecting, designing, and developing embedded devices firmware/middleware components; One or more of the following areas of protocols/standards: I2C, SPI, UART, TCP/IP, UDP, RTP/RTSP, MPEG-2 Transport Stream, H264/H265 Video Codecs; One of the following areas: camera Hardware Abstraction Layer, Linux Driver, Kernel Level Programming, Camera Sensor Drivers, or Camera Architecture; Working with popular System On Chip (SoC) & microcontroller designs; ARM based processors and architectures ARM7/ARM9/ARM11/Cortex series; Video streaming technologies, such as webRTC, & adaptive streaming Hands on working with open source like FFMPEG or gstreamer; and working with Board Support packages and popular systems, such as Buildroot or Yocto.

 Work location:  McLean, VA. Job can be performed anywhere in the U.S.

If interested, send resume or curriculum vitae to hr@alarm.com and reference SRSE-DK

Apply for this role

Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.

Apply Now →Generate Application Kit

Free account required — sign up in 30s

Company

Alarm.com

View company profile →