DescriptionThe Lead Software Engineer will report to the Engineering Manager of the Core Architecture and Technology team and will be responsible for evaluating selecting and implementing technology and architecture that is appropriate for the desired customer experience utilized by thousands of home automation systems. This position is primarily responsible for development of our distributed and horizontally scaled back-end. For example this role will write RESTful APIs using the latest best practices with supporting libraries and frameworks test automation API management and documentation Continuous Integration/Continuous Deployment (CI/CD) pipelines all in a world-class cloud IoT environment. This position will act as a mentor for the team and therefore requires a motivated self-starter as part of a global team who can manage working in a fast-paced environment and manage multiple projects simultaneously. The Lead Software Engineer will work cross functionally and should be able to influence other team members without direct authority. This position will be required to work effectively have proven experience managing priorities and working collaboratively with team members. The successful individual will demonstrate intellectual curiosity accountability attention to detail and business acumen.
JOB DUTIES:
- Develop horizontally scaled reliable and performant server-side applications
- Evaluate and select technology and architecture that is appropriate for the desired customer experience
- Establish patterns procedures and practices that enable the highest quality standards
- Define socialize monitor and enforce operational quality standards such as scalability performance monitoring error reporting etc.
- Own a large cross-functional area or multiple complex and high-value areas
- Lead breaking deliverables epics and/or product requirements into implementable work
- Participate in peer reviews of developed software and unit tests
- Participate in the production and non-production deployment process
YOU MUST HAVE:
- 10 years experience designing implementing and supporting modern enterprise-scale web applications
- Experience with distributed horizontally scaled software systems
- Experience with strongly typed C-based languages such as Golang C# or Java
- Experience working with document databases like MongoDB and relational databases like PostgreSQL
- Knowledge of source code management systems such as Git Mercurial or SVN
- Experience in SDLC System Architecture Design and Implementation with Continuous Integration/Continuous Deployments (CI/CD) utilizing Code Pipeline and GitHub Actions
WE VALUE:
- Experience working with Linux / Unix operating systems
- Experience with AWS cloud components like lambda functions EC2 Docker containerization with Kubernetes leveraging EKS Fargate ECR/ECS Kinesis API Gateway S3 IAM Route53 ALB Redis and RDS
- Experience utilizing monitoring tools such as New Relic Datadog Splunk OpenTelemetry Prometheus and AWS CloudWatch
- Experience defining and understanding SLIs SLOs and SLAs
- Experience with Agile software development with tools like JIRA/LeanKit/etc.
#LI-HYBRID
#LI-MH2