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 Software Engineer will report to the Software Development Manager of Smart Cloud Solutions and will be responsible for evaluating new and legacy code bases and selecting architecture that is appropriate for the desired customer experience utilized by thousands of smart living automation systems. This position will develop and update RESTful APIs using the latest best practices and tools 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 Software Engineer will work cross functionally and should be able to influence other team members without direct authority. This position will require you 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.
- Develop backend API’s utilizing AWS cloud technologies to further facilitate smart living 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 engineering 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
- Ensures test plans for unit tests, automation tests, and manual tests for new and existing software are developed
- 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
- Work with product management to provide guidance, design feasibility, and implementation of web-based feature sets
- Minimum 4+ years of experience designing, implementing, and supporting modern, enterprise-scale web applications
- Expertise in OOP languages and relevant design pattern that facilitate SOLID principles
- Experience developing a suite of microservices, leveraging RESTful APIs, hosted within the AWS infrastructure
- Proven record of accomplishment of increasing responsibility in cloud technologies and development
- Experience organizing development tasks in an Agile environment
- Experience in System Architecture, Design, and Implementation with Continuous Integration/Continuous Deployments (CI/CD)
- Experience with AWS cloud components like serverless lambda functions, EC2, Docker containerization through Kubernetes, EKS, Fargate ECR/ECS, Kinesis, API Gateway, S3, IAM, Route53, ALB, Redis, Memcached, Aurora and RDS
- Database experience such as PostgreSQL, SQL Server, or AWS DynamoDB
- Experience utilizing monitoring tools such as New Relic, AWS CloudWatch with SLIs, SLOs, or SLAs
- Experience working with Linux / Unix operating systems
- Experience working with Windows operating systems
- Experience with relational databases such as PostgreSQL, MySQL or MSSQL
- Experience in SDLC and agile software development
- Experience with cloud service providers like AWS or Azure
- Experience with Agile tools such as JIRA
- Experience with C#/JAVA/GO