Overview
As a member of the software engineering team, the Sr. Software Engineer – Mobile Applications is responsible for developing mobile phone applications and user interfaces for our line of residential home automation products. This includes supporting Android and iOS, Amazon Alexa and Google Home voice assistants, as well as our home automation APIs. Collaborates with product management, embedded firmware engineers, cloud backend developers, software quality and technical support functions to develop outstanding, state of the art solutions for swimming pool controls and smart peripheral equipment available on the swimming pool pad.
The Sr. Software Engineer, Mobile Applications will be responsible for:
- Determining systems software design requirements
- Ensuring that system improvements are successfully implemented and monitored to increase efficiency
- Generating policies, procedures and standards for the mobile engineering team
- Coding quality mobile applications that enable our customers to securely and reliably control and monitor our products
- Designing and implementing mobile applications that are sustainable and easily enhanced as our products evolve
- Understanding performance vs cost design trade-offs
- Analyzing product 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
- Deploying and managing apps in the app stores
- Maintain expertise in state of the art mobile technologies and best practices
Required Qualifications:
- 3-5+ years hands-on cross-platform development (React native, Flutter, Cordova, Xamarin, etc) as well as IoS and Android native technologies.
- Experience with Objective C, Java, Xcode, Android Studio, and Visual Studio
- Experience with RESTful APIs
- Solid understanding of common framework APIs such as Bluetooth, location, camera, notifications, and background services
- Knowledge of modern authorization mechanisms, such as JSON Web Token
- Knowledge of unit testing tools such as Jest
- 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:
- Hands-on experience with React Native
- Hands-on experience with design tools such as Figma
Education and Certifications:
- Required: Bachelor's degree in Software Engineering, Computer Science, Mathematics, Engineering or related discipline