Senior Staff Software Engineer
About the role
Alarm.com is looking for a versatile Senior Staff Software Engineer to join our Platform team. Alarm.com is the leading platform for intelligently connected properties. Millions of homeowners and businesses rely on Alarm.com's technology to secure, monitor, and manage their environments from anywhere. You'll have the opportunity to work across a variety of technology domains and own projects from design to deployment. We have a growing engineering department and we're looking for people that are excited to mentor and collaborate with more junior engineers. You will own projects and you must be able to communicate effectively and blend multiple business needs in your work. As a Senior Staff Software Engineer, you'll work collaboratively within our Platform and Operations teams to drive technical discovery, design, and implementation of large‑scale applications, products, and platforms.
Responsibilities
- Mentor groups of junior, senior, and lead engineers.
- Develop software for a wide variety of platforms and technologies.
- Lead design of major software components, systems, and features – act as an architect for the platform team.
- Engage in the research, evaluation, and application of new technologies and methodologies to solve challenging problems.
- Work closely with product owners and business stakeholders to execute strategies and roadmaps.
- Work hard and be flexible: quick development cycles, evolving requirements, and lots of cross‑team collaboration.
- Become an expert on system architecture, functionality, and data flows as well as operations processes and tools.
- Help support core systems in production, including deployment and on‑call support.
- Assist in capacity planning, both cloud and physical capacity.
- Assist in advising database and overall data processing strategy.
- Participate in on‑call rotations, deployment and maintenance windows as needed.
- Provide support as subject matter expert for the technical and product domains.
- Exercise good judgment: know when to work quickly and when to build a robust solution.
- Bring your ideas! Collaborate on product development, not blindly build to a spec.
Requirements
- Bachelor's in Computer Science, Computer Engineering, a related field or equivalent work experience.
- 10+ years of professional software development experience.
- Experience leading and/or mentoring other engineers with a proven track record of developing people and solutions reusable by other engineers.
- Proven expertise in object‑oriented programming; C# and .NET experience a plus.
- Software architecture experience.
- Experience with production support (SRE experience also a plus).
- Extensive observability experience (Datadog, Grafana, Wavefront, etc) as well as runbook support.
- Significant database design and development experience (SQL Server a plus, as well as cloud database technologies).
- Capacity planning experience (ideally both physical and cloud infrastructure).
- Superior analytical skills with a good problem‑solving attitude.
- Ability to perform in a team environment; independent thinker and problem solver.
- Expertise in object‑oriented design and software lifecycles.
Benefits
- Medical plans with company subsidies.
- Health Savings Account (HSA) with company contribution.
- 401(k) with employer match.
- Paid vacation that increases with tenure.
- Paid holidays.
- Wellness time.
- Paid maternity and bonding leave.
- Company‑paid disability and life insurance.
- Collaborative and casual work environment.
Pay
Base Salary Range: $