Head of Software Engineering
Menlo Park, CA or Chicago, IL
This role is responsible for all software development projects and reports to the CEO. This “player / coach” position will be accountable for the reliability, security, scalability, and functionality for software across the entire stack (embedded, mobile, cloud). On the development side, this person will take on development tasks around the architecture, design and implementation of the company’s cloud API's. This leader will also manage and mentor 4-5 other senior-level software engineers.
Given the importance of this role for the long term success of the company, equity compensation will be generous for the right candidate. The ideal candidate would be based in the San Francisco area and work out of our Menlo Park office. However, candidates in the Chicagoland area will also be considered.
You will work on the latest software developments, such as Machine Learning, Mobile <> Cloud communications, Mobile <> Bluetooth communication and IoT technology. Most of all, you should want to build something new rather than maintain something that already exists.
You’ll be responsible for…
- Architect, design and lead the overall software development of the company
- Implement robust, scalable and high performance cloud API's to handle requests from mobile phones and IoT devices
- Development of machine learning development tasks, based on algorithms and direction from the company’s data scientist
- Manage and work closely with the software engineering team, mentoring and helping them design and implement high quality software, apply best practices, and make technical decisions
- Identify architectural weaknesses and security vulnerabilities in the system, and recommend solutions
- Break big software tasks into smaller tasks and properly assign them to team members, and mentor engineers to make sure they deliver high quality work on time
- Work with the Product/UX team in the definition of the product requirements, and translate these requirements into engineering tasks
Why we want you:
- BS or MS in Computer Science or related field
- 10+ years of hands-on software development experience with extensive experience in Object Oriented design methodology. Specifically must have expert-level Java experience.
- Experience deploying cloud solutions to hosted providers (ex: AWS, GCP, Azure, Digital Ocean, etc.)
- Solid understanding of Computer Science fundamentals, algorithms and data structures
- Understanding of networks and communication protocols (HTTP/S, TCP, UDP)
- Expert understanding of architectural patterns of large, high-scale systems
- Experience designing and implementing systems with components communicating via network
- Experience leading/mentoring other software engineers and providing technical guidance
- Effective communication and collaboration across teams