Overview
Established in 2005 and based in Charlotte, North Carolina, Snap One is a manufacturer and exclusive source of A/V, security, control, networking, and remote management products for professional integrators. An industry leader in the pro-install channel, Snap One helps integrators build their businesses by providing a wide range of high-quality products, easily accessible through an intuitive website and backed by award-winning service and support. With a vast catalogue of today’s most popular brands, Snap One is the premier choice for professional installers across the globe. With 28 pro stores in the US, Snap One blends the benefits of ecommerce with the convenience of local stores. Additional information about Snap One and its products can be found at www.snapone.com.
The Staff 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. This position 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. This position 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 Staff 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.
Responsibilities
- 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 the 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, etc.
- Through your own example and leadership, demonstrate the standards of commitment, accountability, customer focus, and quality expected of the team
Required Qualifications
- 8+ years’ experience designing, implementing and supporting modern, enterprise-scale web applications
- Proven track record of increasing responsibility in cloud technologies and development
- Experience in SDLC – System Architecture, Design and Implementation with Continuous Integration/Continuous Deployments (CI/CD) utilizing Code Pipeline and Github Actions
- Experience with Development technologies, tooling and protocols like Java Spring Boot
- Experience utilizing monitoring tools such as Datadog, Splunk, New Relic, and AWS CloudWatch with SLIs, SLOs, and SLAs
Preferred Qualifications
- Experience organizing development tasks in an Agile environment utilizing Jira and Confluence
- 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