Caspar.AI is building the homes of the future. Our intelligent operating system connects to IoT devices in the home and using the latest AI and Machine Learning technologies, adapts the home to the resident's preferences. Caspar’s real-time predictive systems deliver the convenience, feeling of security, and savings in time and energy that allows residents to live in a home that works for them.
A Director of infrastructure software has the experience, capability and flexibility to oversee engineering development across system features and components including backend infrastructure and user features. Managing a team that designs clean architectures, usable APIs and real-time performant, reliable, and scalable systems as well as making technical contributions to the product is expected from this position. Having a strong systems background is required to meet the high-quality bar for any feature or service that goes into production.
- Manage an engineering team and own several components or backend services, including conceptualization, architecture, development task breakdown, and release to production.
- Work with product management to gather business requirements and help translate them to project requirements and tasks
- Oversee and contribute to the development of components and services including architectural improvements over time.
- Ensure all projects and initiatives are in conformance with established policies and engineering best practices including building automated tests for components, services and features
- Create functional strategies and objectives for the team and product components
- Track usage and metrics, ensuring high quality from the end user perspective
- Oversight and management of expenses and assist in budget planning
- 10+ years Software Engineering experience including at least 5 years of management experience
- Experienced with designing system components such as networking, video or similar services
- Excellent verbal and written communication skills and the ability to work equally well in self-managed and team-based projects
- Deep technical knowledge of systems, including programming capability an OOP language
- Strong development fundamentals: data structures, algorithms, distributed systems, and information retrieval
- Skilled in problem solving for complex issues in a distributed system
- Capable of profiling and architecting software for performance
- Appetite to learn and desire to help others improve