- An X project must:
- Solve a problem that affects millions or billions of people
- Have an audacious, sci-fi sounding technology
- There has to be at least a glimmer of hope that it’s actually achievable in the next 5–10 years
- Responsibly irresponsible
- Identify risks early, learn cheaply, and be brutally honest what's working and what's not
- Fall in love with the problem, not the solution (e.g. a technology)
- Find "T-shaped" people who are intellectually flexible but have deep domain expertise
- Centralized "design kitchen" of flexible staff that help independent teams on specific areas (e.g. hardware prototyping)
- Moving through the factory
- Rapid evaluation: find the breakthroughs that might offer the core ingredients needed
- Understand the biggest risks
- Build prototypes around the hardest and riskiest areas to understand the problem (while also satisfying economic requirements)
- Find out with more certainty if an idea can survive comfortably (and make money) in the real world
- Actively killing ideas
- Kill fast, make it psychologically safe to walk away when something's not working
- Assume failure is the norm
- Progress based on risk factor (progress only counts if it's towards the riskiest aspects)
- Have planned kill switches
- "The beauty of remote work lies in the ability to optimize your location for your well-being."
- On mental health: when you don’t see your coworkers in person every day, it’s easy to assume that everything is ok when it’s not
- You can use
window.addEventListener('unhandledrejection', handler)
to handle all unhandled promise rejections - Make use of
Error.captureStackTrace(this, <ErrorName>)
when defining your own custom error classes