Hello, Startup: A Programmer's Guide to Building Product, Technologies, and Teams – By Yevgeniy Brikman – is a great view into just how (and if!) you should create your startup or join one.
The coverage goes to some weird but arguably good places along the way (for example, talking about clean code), but even when it does, it is still good advice.
What the book covers is:
- Why Startups – why would you want to create a startup, or work on one – and very importantly, why you might want not to.
- How to come with ideas, covering the classics such as pain points (which has been advice on shareware forums for literally decades), idea journals, the now common “your idea is not worth much compared to execution” and the very important how to validate your idea – as your idea is pretty likely to not be as good as you think and you probably want to find out now, not after years of development.
- Design, including the classics – personas, usability testing, visual design.
- Picking a tech stack – surprisingly tech agnostic, and full of interesting suggestions on how to decide what tech to use. Pick mature ones instead of the flavor of the month. and it is not as important as it seems.
- Clean Code – already mentioned as the relatively weird chapter. The advice is good, and cover the general stuff you'd see on Code Complete and The Pragmatic Programmer, such as good practices, refactoring, etc.
- Scalability – review of several practices that you should probably follow – such as Test-Driven Development, design reviews and code reviews.
- Software Delivery – again, several good practices – source control, code reviews, continuous integration and automated deployment.
- Startup culture – how to define your companies culture, and what it means. Even if you don't read the book, check out the Netflix culture slide deck – it is pretty long but well worth reading.
- Getting a job at a Startup/Hiring for your startup – interviews, asking good questions, and the best practices in the area.
The book has a ton of memorable quotes from other material – I didn't have a chance to go through it for my notes it, but I'll probably come back here and update this post when I do.
There are also plenty of resources on the book site.
Overall, I strongly recommend anyone interested in creating a startup to read this book. It was pretty great.
Adaptive Code in C# – great review of good development practices and keeping your code flexible, although some examples are a little exaggerated
The Pragmatic Programmer – great, goes into the specific programming practices
App Making – more specific to apps, but also covers how to get ideas for apps, design advice and how to test your ideas