SnapAV + Control4 is a leading manufacturer and distributor of audio, video, surveillance, power, and wiring equipment for residential and commercial A/V integrators. We believe that life’s better when everything works together. And the same can be said about the collaborative work we do. Join our award-winning team in our continuous quest to deliver the most brilliant, personalized smart home experiences to people around the world.
The Senior Software Engineer will report to the Software Development Manager of Smart Cloud Services and will be responsible for evaluating and selecting technology and architecture that is appropriate for the desired customer experience utilized by thousands of home automation systems. The individual will develop and update Java RESTful APIs using the latest best practices and tools including Java 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. The Senior Software Engineer will act as a mentor for the team 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 individual will work cross functionally and should be able to influence other team members without direct authority. The successful individual will demonstrate intellectual curiosity, accountability, attention to detail and business acumen.
- Develop and test backend API’s in a Java framework utilizing AWS cloud technologies to further facilitate home automation
- 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
- Act as a major contributor and mentor within a highly productive DevOps organization
- Work with your team to iteratively design and discover functional, architectural and quality requirements.
- Own a large cross-functional area or multiple complex, high-value areas; leads breaking epics and themes into implementable work
- Create and develop test plans for unit tests, automation tests, and manual tests for new and existing software promoting test results including error reporting
- Completes complex troubleshooting and communicates methods and outcomes
- Define, socialize, monitor and enforce operational quality standards, such as scalability, performance, monitoring, error reporting, and etc.
- Through your own example and leadership, demonstrate the standards of commitment, accountability, customer focus, and quality expected of the team
- Bachelor’s degree with 3+years’ experience designing, implementing and supporting modern, enterprise-scale web applications; or 7+ years experience designing, implementing and supporting modern, enterprise-scale web applications
- Proven track record of increasing responsibility in cloud technologies and development
- Experience organizing development tasks in an Agile environment utilizing Jira and Confluence
- Experience in SDLC – System Architecture, Design and Implementation with Continuous Integration/Continuous Deployments (CI/CD) utilizing Code Pipeline and Github Actions
- 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 with Development technologies, tooling and protocols like Java Spring Boot, OAuth2, and JMeter
- Experience with “Infrastructure as code” and deployment tools like Terraform, GitHub Actions, and Chef
- Database experience such as PostgreSQL, SQL Server, and AWS DynamoDB
- Experience utilizing monitoring tools such as Datadog, Splunk, New Relic, and AWS CloudWatch with SLIs, SLOs, and SLAs