Software Engineer II
Alarm.com · Boston, MA · 2 days ago
Engineering$115k–$125k/yrFull-time
Job Summary
The Device Lifecycle & Integrations (DELI) team at Alarm.com builds the platforms and services behind the connected devices powering millions of Alarm.com homes and businesses. We are seeking a Software Engineer II to contribute to the design and development of backend services, APIs, and full-stack features that power Alarm.com's device integrations.
What You'll Do
- Design & Architecture
- Implement backend components, APIs, and event-driven workflows that are reliable, maintainable, and aligned with platform architecture.
- Contribute to technical design for well-scoped features with guidance from senior engineers.
- Translate requirements into technically sound solutions consistent with existing patterns.
- Participate in design reviews, offering input and learning from team feedback.
- Implementation & Delivery
- Write high-quality, maintainable, and well-tested code for backend services used in production at scale.
- Contribute to event-driven data pipelines (e.g. Kafka), with a focus on reliability and correctness.
- Deliver work through the full development lifecycle: design → implementation → validation → iteration.
- Debug production issues with support from senior engineers, implementing fixes that improve long-term stability.
- Operational Excellence
- Follow team practices for monitoring, alerting, and operational readiness to ensure systems remain healthy.
- Contribute to observability of services you build, including logging, metrics, and alerting.
- Support DELI's work to track and understand device integration outcomes and system health.
- Collaboration & Growth
- Work closely with senior engineers, Product Managers, and TPMs to understand requirements and deliver quality solutions.
- Participate in code reviews — both as a reviewer and as someone welcoming feedback to grow.
- Engage in cross-team technical discussions, raising questions and surfacing potential issues early.
- Actively develop your skills across backend, full-stack, and distributed systems domains.
- Contributing Broadly
- Identify opportunities to improve code quality, reliability, and maintainability within your area.
- Contribute to documentation, onboarding guides, and engineering best practices.
- Clearly articulate design decisions, explaining tradeoffs to peers and stakeholders.
- Bachelor's degree in Computer Science, Engineering, or equivalent practical experience.
- 2+ years of professional software development experience.
- Strong object-oriented programming skills.
- Experience with database design and development.
- Experience creating and maintaining unit tests.
- Familiarity with building and/or consuming RESTful APIs.
- Strong communication skills and ability to collaborate effectively with engineers and cross-functional teammates.
- Experience using AI-assisted development tools (e.g. GitHub Copilot, ChatGPT) to streamline development while maintaining engineering standards.
- Ability to review and validate AI-generated code, tests, and documentation for correctness and maintainability.
- Exposure to distributed systems or large-scale production environments.
- Experience with .NET/C# and SQL Server.
- Exposure to event-driven systems (Kafka or similar).
- Experience with Test-Driven Development (TDD) and automated testing frameworks (unit, integration, end-to-end).
- Familiarity with CI/CD pipelines, containerization (Docker/Kubernetes), or cloud platforms.
- Experience or interest in IoT, device communication protocols, or connected hardware platforms.