The Director of Engineering at Team Go is principal individual responsible for all software concerns in the company. This includes building and testing products that meet our users’ wants and needs and ensuring they are always available and usable.
This role reports directly to the CEO and acts as a department lead, and as such must work to foster a shared culture where we value deep expertise, immersion in details, and collaborative debate.
You will play a critical role in bringing the company vision to life in the form of a fast, scalable, and secure system of applications.
- You must use first-hand subject matter expertise to improve our team’s internal operations across all responsibilities of the Engineering organization: mobile & web client development, backend API development, data modeling and database administration, microservices architecture, software quality & testing, devops and code ops, software security, and software architecture/infrastructure.
- You must deeply understand every aspect of our current and future software stack so that you can contribute value to software-related debate within the company, and act as the ultimate tie-breaker for all decisions within your team.
- You must think critically about the team’s velocity in a holistic way. Teams tend to slow down as they grow, and it is incredibly painful to speed back up once you slow down. It takes deliberate effort to prevent this, so it must always be top of mind.
- You must remain abreast of industry trends so you can see the future of improved productivity and cost savings and help us ride that cloudy wave.
- You must hire and retain extraordinary people who embody our values: results, curiosity, iteration, judgment, inclusion, and courage.
- You must defend your team and your peers from ‘The Five Dysfunctions’: absence of trust, fear of conflict, lack of commitment, avoidance of accountability, and inattention to results.
- Deliver new value to users in the form of features more quickly than our competitors. This will be imperative as we scale.
- Reliably hit ship dates & scope that you collaboratively defined with your peers in Product Management, Creative/Design, Data Science, Marketing, et al.
- Ready the system for a daily increase of at least 10x its current incoming load using auto-scaling techniques; we must never go be ready for a spike in volume at any time.
- 99.7% mobile crash-free sessions
- 99.99% uptime--or less than 0.01% downtime caused by unplanned outages
- Thrive in a remote role with remote colleagues--over-communicate, write things down, and be responsive on Slack during working hours.
- Mobile development on iOS and Android (bonus points for Flutter)
- Backend API development written in Node.js (bonus points for microservices experience)
- Web development using React or other modern frameworks
- Infrastructure hosted on AWS
- Building and deploying code in a production environment
- Monitoring our environments to ensure they are accessible and reliable
- Software testing using modern techniques (e.g. automation and code)
- Teamwork, iteration, retrospectives
- Coding, testing, site reliability, devops/code ops
- Measuring productivity, happiness, etc
- Extremely skilled in written and verbal communication in English
- Familiar and comfortable with agile development methodologies
- A Philosophy of Software Design: https://www.amazon.com/Philosophy-Software-Design-John-Ousterhout/dp/1732102201
- A simple tweet: https://twitter.com/BaseCase/status/1085686616499183616
- An interesting management model: https://hbr.org/2020/11/how-apple-is-organized-for-innovation