Awesome CTO
— Hello, my name is Dima and I’m a CTO
— (chorus) Welcome, Dima
A curated and opinionated list of resources for Chief Technology Officers and VP R&D, with the emphasis on startups and hyper-growth companies.
Contents
- CTO Position
- Hiring
- People management
- Career growth
- Project management
- Handbooks
- Development process
- Architecture
- Technologies
- Data
- Startups
- Due Diligence
- Money / Finance
- Related stuff
- Product
- Marketing
- Books
- More links
CTO Position
- The Different CTO Roles - Werner Vogels (Amazon CTO)
- Is it required to be a developer to become a CTO? (Quora)
- Three Golden Rules to Finding a CTO
- Becoming a CTO
- VP Engineering vs CTO - Fred Wilson (Union Square Ventures)
- What makes for a successful CEO and CTO relationship in a startup? (Quora)
- #define CTO - Greg Brockman (Stripe CTO)
- How my role as CTO has changed as we’ve grown to 100 engineers
- Your first 90 days as CTO or VP Engineering - Will Larson
- How to spend your first 30 days in a new senior-level role
- The difference between a CTO and a VP Engineering
Hiring
- The Guerrilla Guide to Interviewing - Joel Spolsky (StackOverflow co-founder)
- The Joel Test: 12 Steps to Better Code - Joel Spolsky
- Why Can’t Programmers.. Program? - Jeff Atwood (StackOverflow co-founder)
- We Hire the Best, Just Like Everyone Else - Jeff Atwood
- Getting the Interview Phone Screen Right - Jeff Atwood
- Engineering interview process at Stripe (Quora)
- Improving Our Engineering Interview Process (Foursquare)
- Hitting the High Notes - Joel Spolsky
- Top 10 System Design Interview Questions - (HackerNoon)
- How To Hire World-Class Engineers (angel.co)
- Trouble hiring senior engineers? It’s probably you
- The Real 11 Reasons I Don’t Hire You - Charity Majors
- How to Interview at Amazon
- Lessons from Keith Rabois: How to Interview an Executive
- Lessons from Keith Rabois: How to Become a Magnet for Talent
- GitLab Talent Acquisition Framework
- Visualizing Tech Company Layoffs in 2022
People Management
- The mythical 10x programmer - Salvatore Sanfilippo (author of Redis)
- The Engineer/Manager Pendulum - Charity Majors
- Maker’s Schedule, Manager’s Schedule - Paul Graham (Y Combinator)
- Software Engineering at Google
- Google re:Work
- 44 Engineering Management Lessons (correct link to non-violent communication for lesson 34)
- The Secret To Discussing Pay With Employees
- Awesome Leading and Managing (Github)
- Progressing from tech to leadership
- A Review Process - Cap Watkins
- 12 manager readmes from top tech companies
- Predictable Delivery
- How people rise up to EVP level in big organizations (Quora)
- Should I Become a Manager? - Cap Watkins
- How to fail as a new engineering manager
- Design Patterns for Managing Up
- A Tactical Guide to Managing Up
- Engineering Management (Github)
- On-boarding Software Engineers
- Hold Your Team Accountable
- The Manager FAQ
- The Power of Performance Reviews
- Performance reviews are coming up - Gergely Orosz
- Principles of Engineering Management
- Compensation Best Practices
- Draw The Owl and Other Company Values You Didn’t Know You Should Have
- A MANAGER’S BILL OF RESPONSIBILITIES (AND RIGHTS)
- After Being A Manager, Can I Be Happy As A Cog?
- Increment: Teams
- Hacking team communications
- How to build a startup engineering team
- Hug your manager
- Lessons from Keith Rabois: How to be an Effective Executive
- How Context Switching Sabotages Your Productivity
- 10,000 Hours with Reid Hoffman: What I Learned
- 7 Ways to Set Up a New Hire for Success
- How to get promoted
- Individuals matter
- Mandate Levels
- 10 ideas for building great culture in a distributed (remote) team
- Adapting to Endure / Crisis management - Sequoia
- Mochary Method Curriculum - Matt Mochary
- Meetings for an effective eng organization - Will Larson
- The One Key to Dealing with Senior Executives: Answer the Question!
- Step by step guide to building high performing teams
- Cycle times - Andrew Bosworth
Career growth
- Career Growth Frameworks in Software Engineering: A Review
- Software Engineers Growth framework
- Software Engineering Ladders (GitHub)
- Awesome Engineering Ladders (GitHub)
- Reverse Interview
Project management
- Evidence Based Scheduling - Joel Spolsky (StackOverflow co-founder)
- How Big Tech Runs Tech Projects and the Curious Absence of Scrum - Gergely Orosz
- The Secret to a Great Planning Process — Lessons from Airbnb and Eventbrite
- What TPMs Do and What Software Engineers Can Learn From Them - Gergely Orosz
- How to Scope a New Feature
- Measuring an engineering organization - Will Larson
Handbooks
- The Atlassian Team Playbook
- Valve Employee Handbook
- Basecamp Employee Handbook
- GitLab Team Handbook
- How HashiCorp Works
Development process
- Scrum / Agile
- CI / CD
- Git
- Comparing Git workflows
- A successful Git branching model
- Alternative: Trunk Based Development (focused on DevOps and CI/CD)
- Tech debt
- Crisis
- How to Write a Postmortem
- List of Post-mortems (GitHub)
- Startup Lessons Learned - Five Whys - Eric Ries (creator of the Lean Startup)
- On Call Rotations: How Best to Wake Devs Up in the Middle of the Night
- Testing in Production, the safe way
- Error handling
Architecture
- Twelve-Factor App
- Reactive Manifesto
- An introduction to distributed systems - Kyle Kingsbury (aphyr, author of Jepsen)
- Microservices – Please, don’t (also: HackerNews discussion)
- GitHub CTO – Biggest architectural mistake was going full microservice (also: HackerNews discussion)
- The Death of Microservice Madness in 2018
- Shrinking microservices to functions
- Design patterns for microservices
- Serverless architecture (Quora)
- Best Practices for Designing a Pragmatic RESTful API
- 10 Modern Software Over-Engineering Mistakes
- How I Write Tests
- Lambda Architecture
- Awesome Scalability (GitHub)
- The Single Most Important Internal Email in the History of Amazon
- Build Your Own X (GitHub)
- Accentuate the negative: making the non-perfect decision. Technical decision making
Technologies
- General
- Developer Roadmaps (GitHub)
- Coding Interview University (GitHub)
- Big-O explained in plain English
- Javascript
- Big scale
- Security
- Search
- Open Guide to Search Engineering (GitHub)
- Cloud
- Pricing
- Awesome Billing (GitHub)
- Awesome PriceOps (GitHub)
Data
- NoSQL Databases: a Survey and Decision Guidance
- Evolutionary Database Design (Martin Fowler)
- Database Migrations Done Right
- A reference guide for fintech & small-data engineering
- Building a data team at a mid-stage startup: a short story
- DataOps
- Databases in 2022: A Year in Review
- Data Science
- Machine Learning
Startups
- What are the things startups have to get right? (Quora)
- 85 Things I learned being a CEO
- What’s the Second Job of a Startup CEO?
- Things I will tell my kids if they become entrepreneurs
- What do VCs really look for when making investments? (Quora)
- As an employee of a startup, how do you know when to quit? (Quora)
- Pitch deck collection from VC funded startups
- YC’s Series A Diligence Checklist
- Startup Playbook - Sam Altman
- Y Combinator Startup Class
- Lean Canvas + Miro template
- Open Source Pitch Deck Templates for Figma
- List of startups that had successful pivots (GitHub)
Due Diligence
- Technology Due Diligence Checklist
- Technical Due Diligence Questions (GitHub)
- IT Department Tech Due Diligence Checklist
- A Guide to Surviving Tech Due Diligence
Money / Finance
- Startups
- IPOs and Beyond: A Guide to Exit Options for Companies
- What would a CTO equity be for a small startup? (Quora)
- Options vs Cash
- How To Invest In Startups - Sam Altman
- A Guide to Seed Fundraising
- Startup Economics equity calculator
- Option grants at seed
- Joining the new startup, with a handsome stock option allocation - Gergely Orosz
- Equity 101 for Software Engineers at Big Tech and Startups - Gergely Orosz
- Big companies
Related stuff
- Knowledge-Sharing Architects As An Alternative to Coding Architects
- Ten Rules for Negotiating a Job Offer (also: HackerNews discussion)
- Salary Negotiation: Make More Money, Be More Valued
- What are best practices of experienced programmers? (Quora)
- Falsehoods Programmers Believe About Names
- 2016 European Software Development Salary Survey (O’Reilly)
- DevOps: Bringing development and operations together (Atlassian)
- How to Prepare a Talk
- Undervalued Software Engineering Skills: Writing Well - Gergely Orosz
- The Pyramid Principle
- Senior Engineer’s Checklist
- How to Use OpenAPI and Swagger for Documentation
Product
- What Makes a Great Product Manager
- If You Don’t Think You Need a VP of Product…
- Red Oceans: How to Find Profitable Startup Ideas
- Product North Star Metric
- What distinguishes the Top 1% of product managers from the Top 10%? - (Quora)
- How to Hire a Product Manager
- The Secrets Of Creative Thinking
- StellarPeers - Product Management Interviews
- Product vs. Feature Teams
- Most Startups Should Be Deer Hunters
- Shape Up: Stop Running in Circles and Ship Work that Matters
- How to Write Your First Strategic Roadmap
- Execution at Facebook
- 8 Product Hurdles Every Founder Must Clear
- The Top 10 Deliverables of Product Managers
- Product Manager Career Ladders - Lenny Rachitsky
- Awesome Product Management (GitHub)
- Awesome Product Manager (GitHub)
Marketing
- Developer Marketing Guide
- Top Resources for Startup Marketing and PR
- SaaS Email Marketing Handbook
- How today’s fastest growing B2B businesses found their first ten customers
Books
More links
- Awesome Falsehood (GitHub)
- Engineering blogs (GitHub)
- Awesome Awesomeness (GitHub)
- Awesome.re (GitHub)
- Chief Technology Officer vs Coder Thinker Organizer (GitHub)
- Senior Software Engineer
- Socal CTO
- Curated list of CTO resources (GitHub)
- Awesome CTO Resources (GitHub)
- Free Tools for Developers
- NfX - The Founder Library
- foundr - Advices from founders
- The Leadership Library for Engineers
- Rands Leadership Slack
- Engineering Managers Slack
Other
- Awesome CEO (GitHub)
- Awesome TPM (GitHub)