Overview
As a member of the software engineering team, the Sr. Software Engineer - Cloud is responsible for developing backend cloud infrastructure for our line of automation products. Collaborates with product management, embedded firmware engineering, mobile and UI developers, software quality and technical support functions to develop outstanding, state of the art solutions for pool controls and smart peripheral equipment available on the pool pad.
The Sr. Software Engineer, Cloud will be responsible for:
- Coding a quality cloud-based software infrastructure that enables our customers to securely and reliably control and monitor their devices
- Providing critical project technical leadership
- Designing and implementing an infrastructure that scales seamlessly
- Understanding performance vs cost design trade-offs
- Analyzing cloud platform requirements and translating them into design specifications
- Performing complex peer code reviews
- Working closely with automation team to test code and platform solutions to verify the implementation meets requirements
- Working closely with DevOps team to ensure designs align with CI/CD processes
- As part of a larger team, continually design best in class new products
- Actively participate in systems and software design reviews
- Maintain expertise in state of the art cloud technologies and best practices
Required Qualifications:
- 3+ years working extensively in .NET, Typescript/Node.js and SQL.
- Experience coding back-end infrastructure from scratch
- Advanced knowledge of public cloud platforms: GCP or AWS or Azure.
- Experience with REST, XML and JSON. Ability to architect and deliver RESTful APIs according to specific standards
- Knowledge of modern authorization mechanisms, such as JSON Web Token
- Experience building software in a Kubernetes-based environment (micro-services)
- Experience in integrating Android or iOS apps with web services
- Proficiency with Git/GitHub/GitLab
- Strong advocate of the Agile/Scrum development process, ideally with test-driven development, DevOps and continuous integration/deployment (CI/CD)
- Solid software design principles – you should know how to create software that is extensible, reusable and meets desired architectural objectives
- Excellent communication skills
- Willingness to learn new technologies
Desired Qualifications:
- 2-3 years-experience with Google Cloud Platform
- Hands-on experience with all Google technologies – e.g. Firebase, CloudSQL, BigQuery, Cloud Functions, IoT Core, etc
- Knowledge of other languages (GoLang, Python, etc.)
Education and Certifications:
- Required: Bachelor's degree in Software Engineering, Computer Science, Mathematics, Engineering or related discipline