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.
The Software Engineer position reports to the Engineering Manager and is primarily responsible for a project that focuses on the development of a next-generation software experience of the OvrC web application. OvrC is a cloud-based IoT application utilizing ReactJS, Typescript, and AWS serverless technology. This project will simplify and improve our end customers’ experience that requires lots of creativity, innovation, problem-solving, and teamwork from every team member to get moving. Big decisions will be made based on every team member’s contribution and research which can be a great opportunity for new team members to learn more about new technologies and concepts. We rely on agile project methodology and modern SDLC that is including CI/CD. An ideal candidate will be someone with excellent knowledge about TDD, software design patterns, and modern software architecture concepts.
This is a dynamic role expecting the candidate to be well versed in cutting-edge industry techniques for hybrid /progressive web application development. An individual will work closely with application server components and members of a diverse group of engineering teams to deliver elaborate technical solutions within a collaborative environment with various highly experienced team members.
Responsibilities
- Build Typescript-driven, ReactJS interfaces for the OvrC cloud-based platform
- Collaborate with UX, Data and Product and provide insight into technical solutions
- Conduct regular code reviews, sharing insightful feedback and guidance
- Analyze, measure and improve the performance of a progressive web application
- Follow Agile development methodologies and participate in daily/weekly scrums
Qualifications
Required Qualifications
- 3+ years professional experience in web-based software development
- Experienced using ES6, CSS and ReactJS industry best practices
- Experience with static-typing in ES6/7 using TypeScript at scale
- Experience with React or another ES6/7 based library/framework
- Experience with unit testing and writing legible, encapsulated code
Preferred Qualifications
- Bachelor’s Degree
- Knowledge of test-driven development principles and automated testing frameworks
- Knowledge of functional programming and architectural principles
- Strong written, verbal and presentational communication skills
- Experience with CI/CD practices and tools like GitHub Actions
- Experience with the following:
- IoT / Smart Home Technology
- AWS Serverless Technology
- Caching services
- NoSQL
- Websockets
- A/B Testing