The "Hello, World" tutorial for building a startup.
This book will teach you how to build products, technologies, and teams in a startup environment. It's based on the experiences of the author, Yevgeniy (Jim) Brikman, as well as interviews with programmers from some of the most successful startups of the last decade, including Google, Facebook, LinkedIn, Twitter, GitHub, Stripe, Instagram, AdMob, Pinterest, and many others.
If you're at all interested in startups, this book is for you.
The Book
When you learn a new programming language, the traditional first step is to go through a "Hello, World" tutorial that teaches you everything you need to know to get a basic program working, such as one that prints the text "Hello, World" to the screen. This book is the "Hello, World" tutorial for building products, technologies, and teams in a startup environment. To see what's inside, check out the outline and interviews.
Outline
Hello, Startup is a practical, actionable, how-to guide to startups. The book consists of three parts: Products, Technologies, and Teams. Although at its core, this is a book for programmers, by programmers, only Part II, Technologies, is significantly technical. Parts I and III should be accessible to technical and non-technical audiences alike. Below is the list of chapters in each part, and under each chapter, a sampling of the concrete techniques, tools, and skills you will learn from reading it.
Part I: Products
-
- Why Startups
- Why today, more than any other time in history, startups are your best opportunity to build products that touch millions of lives; what is a startup; why you should work at a startup; why you shouldn't work at a startup.
-
- Startup Ideas
- How to come up with startup ideas; idea journals, constraints, and pain points; ideas vs. execution; Boyd's Law; how to use the customer development process to quickly and cheaply validate your ideas.
-
- Product Design
- Design skills everyone should learn; how to design a user interface that doesn't make users feel stupid; principles of user-centered design, including personas, emotional design, simplicity, and usability testing; principles of visual design, including copywriting, reuse, layout, typography, contrast and repetition, and colors; how to design a Minimum Viable Product (MVP).
-
- Data and Distribution
- Metrics every startup should measure; data-driven product development; A/B testing; why the best product doesn't always win; marketing, viral growth, and sales strategies for startups.
Part II: Technologies
-
- Picking a Tech Stack
- How to decide between building software in-house, buying a commercial product, and using open source; how to pick the initial tech stack; how to evolve a tech stack and rewrites; how to evaluate programming languages, frameworks, and databases.
-
- Clean Code
- Why a programmer's job is not to write code, but to understand it; how code layout, naming, error handling, Don't Repeat Yourself (DRY), the Single Responsibility Principle (SRP), loose coupling, and high cohesion lead to code that's easier to understand; why functional programming leads to code that's easier to reuse; why refactoring is the essence of writing code well.
-
- Scalability
- How to scale a startup to more users and more developers; how to make changes to your code without being afraid; how Test Driven Development (TDD) leads to better code; how to introduce design reviews, pair coding, and code reviews at your startup; why the Readme is the most important file in your code base; if you can't measure it, you can't fix it; how to do back-of-the-envelope calculations to reason about performance.
-
- Software Delivery
- What happens to the code after you write it; why you should use source control, an open source build system, and continuous integration; how to set up configuration management, automated deployment, and continuous delivery; how to instrument your code with logging, monitoring, and alerting.
Part III: Teams
-
- Startup Culture
- Why you should define your company's mission and values; trade-offs between a management-driven hierarchy and a flat organization; the role of culture in hiring, promotions, and motivation; how to design the ideal office for programmers; trade-offs with working remotely; communication policies and process at a startup.
-
- Getting a Job at a Startup
- How to find a startup job using your network; how to get your resume noticed; how to get good at interviews, whiteboard coding, and asking good questions; how to evaluate a job offer; how to think about salary and equity; how to negotiate a job offer.
-
- Hiring for your Startup
- Why people are the most important part of a startup; who to hire, including co-founders, early hires, generalists, and specialists; how to find great candidates and engineering branding; why whiteboard coding is terrible and what to do about it; how to make an offer they can't refuse.
-
- Learning
- The most interesting software developer in the world; why you should write blog posts, articles, papers, and books; why you should talk at meetup groups, tech talks, and conferences; why you should open source almost all of your code; why you should share almost everything you know.
Interviews
Part of the research for Hello, Startup included interviews with programmers from some of the most successful startups of the last decade, including early employees of Google, Facebook, LinkedIn, Twitter, GitHub, Stripe, Instagram, AdMob, Pinterest, and many others. You can find their profiles below.
Brian Larson
Staff Software Engineer at Google, Principle Software Engineer at TwitterDaniel Kim
Software Engineer at Facebook, Engineering Manager at InstagramDean Thompson
Co-Founder and CTO of mSpoke, Director of Engineering at LinkedIn, CTO of NoWaitFlorina Xhabija Grosskurth
Web Developer, Product Specialist, and Manager at LinkedIn, Director of People Operations at WealthfrontGayle Laakmann McDowell
Founder and CEO of CareerCup, Founder and Co-President of Seattle Anti-FreezeJonas Bonér
Co-founder and CTO of Triental AB, Founder and CEO of Scalable Solutions AB, Co-founder and CTO of TypesafeJorge Ortiz
Founder at Joberator, Software Engineer at LinkedIn, Server Engineer at Foursquare, Hacker at StripeJulia Grace
Co-Founder and CTO at WeddingLovely, CTO at TindieKevin Scott
SVP Engineering and Operations at LinkedIn, VP Engineering/Operations at AdMob, Sr. Director at GoogleMartin Kleppmann
Co-founder of Go Test It and Rapportive, Senior Software Engineer at LinkedInMat Clayton
Co-founder and CTO of MixcloudMatthew Shoup
Senior Hacker in Residence at LinkedIn, Principal Nerd at NerdWalletNick Dellamaggiore
Principal Staff Engineer at LinkedIn, Infrastructure Lead at CourseraPhilip Jacob
Founder and CTO StyleFeeder, Engineering at Stackdriver, Staff Software Engineer and TLM at GoogleSteven Conine
CTO and Co-founder at Spinners, Founder of WayfairTracy Chou
Software Engineer at Quora, Software Engineer at PinterestVikram Rangnekar
Co-founder at Voiceroute, Co-founder at Socialwok, Senior Software Engineer at LinkedInZach Holman
One of the first engineering hires at GitHubAdd the book
Add Hello, Startup on your favorite book sites:
Reviews
Here is what people are saying about Hello, Startup:
Amazon
"An easy to read book about everything involved in building a startup. Must read for anyone thinking of starting a company or joining an early stage startup." — Dmitriy, Software Engineer
Goodreads
"I am not aware of a better book that accurately covers so much, to this depth, while being readable." — Bill Boz, Developer
O'Reilly Store
"This is the kind of great book that comes once in a while such as 'Business Model Generation' or 'The Startup Owner's Manual'" — Jeocentric, Architect, Developer
Jay Kreps, CEO, Confluent Inc
There is a huge gap between a good CS education and what is considered "common knowledge" in start-up engineering teams. Most of us had to learn this stuff through blogs, coworkers, and, of course, the school of hard knocks. But Hello, Startup finally collects a lot of this wisdom into one place. I wish I'd had a book like this when I was getting my start in the industry.
Eugene Mirkin, Entrepreneur in Residence, Array Ventures
Jim will give you a guided and well-informed look at what it takes to build a software startup. There is no jargon or fluff—just practical, simple, and proven advice, presented in an easily readable book. If you’ve ever wondered, "How do I come up with startup ideas?" or "What technology should I use for this project?" or "How do I get awesome startups to hire me?" then Hello, Startup is for you.
Bowei Gai, Co-Founder and CEO of CardMunch
As a startup founder, you are expected to learn an unbelievable amount of knowledge from an incredibly diverse set of disciplines in a very short period of time. While I treasure the experience of beating my head against the wall and eventually figuring things out, I wish I had this guide when I first got started.
Sean Ammirati, Partner, Birchmere Ventures
With the exploding interest in technology startups, Hello Startup is a uniquely practical and entertaining book on how-to develop startups. I wish I had this resource at the start of my entrepreneurial journey.
Sadek Drobi, Co-Founder of prismic.io
Like Jim, I started my career working for big, established companies. I'm now the co-founder of my own company, prismic.io, and this experience is teaching me a lot every single day. This book captures a lot of these learnings and explains not only how, but also why a startup can be a great way to unleash your true potential.
Brent Vincent, Founder of Adacio
If every computer science department gave out this book as a graduation gift, two good things would happen across the tech industry. The worst tech companies would go out of business, and the good ones would become dramatically more productive.
Buy now
Hello, Startup is available at the online stores below and at your local bookstore. If you're interested in updates about the book and other startup topics, subscribe to the newsletter!
Latest News
Check back regularly for the latest updates, talks, and resources, or just subscribe to the newsletter!
[NEW BOOK] Fundamentals of DevOps and Software Delivery is now available as an early release!
June 25, 2024
I've written a new book! It's called Fundamentals of DevOps and Software Delivery. It's a hands-on guide to software delivery—that is, all the processes, tools, and techniques that are required to run software in production and maintain it on an ongoing basis—and DevOps, one of the methodologies used today to make software delivery vastly more efficient. The early release of the ebook is available now on O'Reilly; if you prefer to wait for the print version, you can pre-order it now on Amazon and Barnes & Noble.
SE Radio Interview: Yevgeniy Brikman on Infrastructure as Code Best Practices
April 7, 2020
Check out Yevgeniy Brikman's podcast interview with Software Engineering Radio on Infrastructure as Code best practices. The discussion covers similarities and differences between conventional software engineering and code-driven infrastructure; factoring code into modules; layering; terraform code organization for micro-services; releases and tagging; code reviews; unit testing infrastructure; deployment of infrastructure; ownership and code structure models; and open source and re-usable libraries.
"Terraform: Up & Running," 2nd edition, has been published
October 3, 2019
"Terraform: Up & Running," 2nd edition, has been published! It's nearly double the length of the 1st edition (~160 more pages), including two completely new chapters (Production-grade Terraform Code and How to Test Terraform Code), and major changes to all the original chapters and code examples (everything is now updated through Terraform 0.12).
How we got to $1 million in annual recurring revenue with $0 in fundraising
October 4, 2018
Learn the three key lessons that helped Gruntwork get to $1 million in annual recurring revenue with $0 in investment and $0 in debt.
"Hello, Startup" is now available in Chinese!
August 20, 2018
A Chinese translation of "Hello, Startup" is now available!
The 10:1 rule of writing and programming
August 12, 2018
Writing prose and writing code have a lot in common, but perhaps the biggest similarity is that neither writers nor programmers can get things done on time. Writers are notorious for missing deadlines. Programmers are notorious for being wildly off with estimates. The question is, why?
How we built a distributed, self-funded, family-friendly, profitable startup
February 14, 2018
The story of how we built Gruntwork.
Startup DNA: the formula behind successful startups in Silicon Valley
May 5, 2017
“Successful startups are all alike; every unsuccessful startup is unsuccessful in its own way.” These are my personal observations on a few of the most important traits that make startups successful.
The Truth About Startups
April 7, 2017
This is the talk I gave at the MIT Martin Center for Entrepreneurship and the Trinity College Blackstone Launchpad. It's a talk I wish someone gave me when I was in college to help me think about the role of entrepreneurship and startups in my career.
Terraform: Up & Running has been published!
March 22, 2017
The final version of my second book, Terraform: Up & Running, has been published, and the ebook and print edition are now available online and in your local bookstores!
Yevgeniy Brikman on the devRant Podcast
January 9, 2017
I did a podcast interview for the devRant podcast where I talk about how I got into programming, the biggest lessons I've learned, the biggest lessons I've had to unlearn, DevOps, startups, and more.
Yevgeniy Brikman on the Yours Productly Podcast
November 21, 2016
I did an interview for the Yours Productly podcast where I talk about startups, product design, coming up with startup ideas, minimal viable products, learning, writing, and more.
"Terraform: Up & Running" is now available as an early release!
November 17, 2016
I wrote another book! This book is the fastest way to get up and running with Terraform, an open source tool that allows you to manage your infrastructure as code across a variety of cloud providers. It's now available in the O'Reilly Store as an early release.
"Hello, Startup" is now available in Korean!
September 6, 2016
A Korean translation of "Hello, Startup" is now available!
Gruntwork Infrastructure Packages: world-class infrastructure, all of the control, none of the work.
July 26, 2016
An Infrastructure Package is a reusable, battle-tested, documented, configurable, best-practices definition of a piece of infrastructure. We think it’s a better way to build and manage infrastructure. And today, we’re unveiling the full list of Gruntwork Infrastructure Packages and releasing the documentation as open source so previous customers can find info from a Google search and future customers can explore our packages directly.
Why the Best Companies and Developers Give Away Almost Everything They Do
May 26, 2016
Why do so many software companies and developers give away so much of their work in the form of open source, writing, and speaking? Why would they invest thousands of hours and millions of dollars into a project and then release it for free to everyone, even their competitors? In this blog post on Y Combinator's The Macro, I dive into the key reasons why the best companies and developers share almost everything they do, discuss some of the common objections to sharing, and by the end, I hope to convince you and your company to start sharing too.
Introducing Gruntwork
May 3, 2016
My company, Atomic Squirrel, has merged with Phoenix DevOps to create a new company called Gruntwork. We can get you up and running on AWS with DevOps best practices and world-class infrastructure in about 2 weeks. You focus on your product. We'll take care of the grunt work.
Startup Ideas and Validation
February 5, 2016
This is a talk on how to come up with startup ideas and how to use validation to pick the ones worth working on.
A Minimum Viable Product Is Not a Product, It's a Process
January 22, 2016
I published a blog post on The Macro, Y Combinator's blog, that discusses one of the most common causes of startup failure.
Recommended books for entrepreneurs
January 4, 2016
Hello, Startup is now listed on the Cornell Business School list of recommended books for entrepreneurs!
Number one new release on Amazon!
November 22, 2015
Hello, Startup is now the number one new release in "Computers & Technology" on Amazon!
Hello, Startup has been released!
November 3, 2015
The final version of Hello, Startup has been published and is now available online and in your local bookstores!
Introducing Atomic Squirrel and The Startup Checklist
September 21, 2015
For the last few months, I've been working on a new project: founding a company. It's called Atomic Squirrel, and our goal is to help you launch your startup. Check out our Startup Checklist, which contains a comprehensive list of tasks for launching your own company.
Startup Essentials
June 19, 2015
Just released: a free e-book that is a curated collection of chapters from the O'Reilly Business Library. It includes a chapter from my book, Hello, Startup.
A Guide to Hiring for your Startup
May 7, 2015
On April 30, 2015, I gave a talk called "A Guide to Hiring for your Startup", where I discussed what to look for in a candidates, where to find them, how to interview them, and how to make an offer they can't refuse.
All chapters are now available in the early release!
April 17, 2015
All the chapters of Hello, Startup are now available as part of the Early Release program. The new additions include "Startup Ideas", "Product Design", "Data & Distribution", "Scalability", and "Learning". Check it out and send me your feedback!
Webcast: A Guide to Hiring for your Startup
February 24, 2015
On April 30th, I'll be doing a free O'Reilly Webcast where I reveal everything I've learned about hiring for startups.
Hello, Startup is on GoodReads!
February 15, 2015
If you're a GoodReads user, you can add the book to your to-read list, leave a review, and ask me questions.
Early release
February 11, 2015
Hello, Startup is on now available as part of the O'Reilly Early Release program.
Startup Resources
Based on the contents of Hello, Startup, here is a list of tools, links, and checklists to help you build a startup. These resources are a work in a progress. They are also open source, so you can add your contributions by submitting a pull request to the Hello, Startup GitHub Repository. To see how these resources fit into the bigger picture, check out the The Startup Checklist, which is a comprehensive collection of everything you need to do to launch a startup.
Products
Monetization
Startup business models; information on IPO's and acquisitions; resources such as ads, payments, subscriptions, lead gen, etc.
Validating your Ideas
Quick and cheap ways to do some market research to find out if you have a big idea or a complete bust.
Design
Everything you need to design a user experience for your startup, including templates, fonts, wireframing tools, community resources, checklists, and further reading.
Distribution
Help users find your startup through marketing, viral marketing, advertising, email, SEO, PR, and sales.
Minimum Viable Product
How to define a minimum viable product (MVP); how to build prototypes quickly and cheaply.
Photos and Graphics
Images, photos, graphics, clip art, icons, and image editors you can use in your startup.
Startup Ideas
How to come up with startup ideas; how to be more creative; a list of links to ready-made ideas you can use.
Technologies
Code Review Tools
How and why to setup a code review process at your startup, including design reviews, pre-commit reviews, and static analysis.
Monitoring Tools
Learn how to keep track all of your server metrics, business metrics, and alerts.
Deployment Tools
Instead of deploying code manually, learn about tools such as Terraform, Chef, Puppet, Ansible, and Docker.
Scalability
Learn how to scale your tech stack to handle more users, more traffic, and more data.
Hosting Options
Compare racking your own servers versus using services such as Amazon EC2, Heroku, Rackspace, and Digital Ocean.
Teams
Other Resources
Can't find what you need on hello-startup.net? Check out these other lists of startup resources.
Collaboration Tools
Tools that help your team work together productively, such as GitHub, Slack, Google Docs, and DropBox.
Jobs and Hiring
This is a list of websites where a candidate can find a startup job or a startup can find a candidate.
Recommended Reading
Other books, articles, and talks you should check out to learn about startups.
Salary
How to figure out if you're being paid a fair salary.
Equity and Stock
How does equity work? How much are your stock options worth? Use these resources to figure it out.