I had the good luck to be an early reviewer of John Sonmez‘s excellent book “Soft Skills: The Software Developer’s Life Manual”. So you get a review!
I’m a huge fan of teaching developers more communication skills and especially more about their careers. I love Edomond Lau’s 'The Effective Engineer’, for instance.
Soft Skills is a book like that — more career than communication skills, and especially a lot of very frank talk about how to promote yourself in your career. It also includes several other chapters of how to take care of yourself as you develop for a living; that means fitness, investing, and even morale.
Oh! And don’t miss the story of how he got the review, at the last minute, from Uncle Bob Martin. Even if you’re not a big fan of Uncle Bob.
This is powerful stuff, and stuff I’ve never seen another book teach. In fact, go read the chapter names in the table of contents before you come back. I promise, it’s worth your time. And the table of contents will tell you far better than I did just what the book is about.
“Soft Skills: The Software Developers Life Manual” is a bit like “Coder to
Developer” or “The Pragmatic Programmer” – it’s about skills you need in the
job, but not skills about directly developing software. It just has a
different set of skills that it focuses on compared to those other two books.
Soft Skills has chapters on Career, Marketing Yourself, Learning, Productivity, Financial, Fitness and Spirit. Essentially none of these are actually about developing software.
A lot of his advice is strongly geared to newer software engineers, including things like “make yourself valuable by finding unloved areas of the codebase to adopt” (great for a new engineer, can be poisonous for a more experienced one.)
I’d summarize this book, mostly, as “get up to the basic level in all the non-software skills you should really have for a software engineering career”, plus jumping off points for more learning where you need it. And for that, it’s a really good book.
In Career he talks about interviewing, climbing the corporate ladder, how to choose companies and find out about them. His interview method is unlike the usual one, but very similar to Patrick McKenzie’s recommendations. Solid stuff.
Marketing Yourself is what it sounds like - building your personal brand, probably with a blog. Use social networks. Speaking, presenting and writing. Again, solid and mostly introductory but with some gems.
Learning is about picking up skills quickly, including finding mentors and teaching.
Productivity is about building habits, using methods like Pomodoro, breaking things down, planning…
Financial is about basic investing, either to get rich or to retire early. Plan for retirement, understand assets versus liabilities, know that you’ll need to invest. Then he goes into the basics of real estate investing, specifically in rental properties. This one is, more than most chapters, just a jumping off point, not a tutorial.
Fitness is what it sounds like — exercise, calories, strength, looking good and the overall geek approach to these things.
Spirit is about mental health: your attitude, self-image, relationships. In general, it’s about supporting yourself rather than defeating yourself.
But What’s the Point?
It’s easy to say, “hey, this stuff is explained in other places.” And collectively, it is.
This is a great place to point a young programmer and say, “hey, this is what it actually takes to work in this industry, explained frankly and without screwing around.”
Find me another book like that, you know? I’ve been looking for this book to recommend for a very long time. Now it exists, and I can.