Visual Studio Toolbox
18 Indie and Small-Press Programming Books
Staying up-to-date with technology is easier when you have the right resources. Here are 18 books that will level up your skills.
- By Terrence Dorsey
Back in the day, we didn't have online tutorials, webcasts and StackOverflow to teach us new programming skills. We had to read books -- on paper! -- and it was good. I still keep copies of some classic programming texts on my desk for reference and inspiration, including Brian Kernighan and Rob Pike's "The Unix Programming Environment" (Prentice-Hall, 1983), Kernighan and P.J. Plauger's "The Elements of Programming Style" (McGraw-Hill; 2nd edition, 1978), and Kernighan and Dennis M. Ritchie's "The C Programming Language" (Prentice-Hall, 1978).
Today, the intrepid programmer can still learn a great deal from freely available blogs, videos, tutorials, Q&A sites and online periodicals like http://visualstudiomagazine.com. Books still have an advantage in some cases, however, particularly where the author has taken the time to provide a well-organized, holistic overview of a topic that can't be covered as well in 500-word blog posts.
Fortunately, the digital revolution embraced books along the way. We now have instant access to book-length technical publications in both eBook and PDF formats that are so convenient, you can carry an entire library on your phone, Kindle, tablet or PC. On the other side of the equation, eBooks have greatly simplified the book writing, editing, publishing and distribution process. A new generation of self-publishing writers and small-press publishers has grasped electronic publishing, easy Web hosting, and low-friction online payments to make some great books available.
I'll take a look at some of the self-published and small-press tech books available today, with a focus on some recently published titles.
One great feature of the online book is its inline code examples, which you can run right on the page, then edit the code inline and run it again.
The entire book is offered under a Creative Commons attribution-noncommercial license and all the code is MIT licensed.
The Fiddler Book
Here's another great, self-published book now in a second edition: Eric Lawrence's "Debugging with Fiddler: The official reference from the developer of Fiddler." The key thing to note here as that Lawrence wrote the Fiddler Web debugging proxy app. It's really an inside guide straight from the developer.
You'll find an overview of Fiddler in my July 2014 article, "HTTP Debugging Tools: Buy, Borrow or Build Your Own Tools?" At 348 pages, this is a true in-depth guide to Fiddler. In the book, Lawrence provides a complete guide to using Fiddler to debug HTTP and HTTP traffic from almost any Web-enabled application, including browsers, iOS and Android phones and tablets, and more. He also shows you how to automate Fiddler with the FiddlerScript engine and build your own apps with the FiddlerCore class library.
As I write this, a DRM-free PDF of the book is available through GumRoad. A print edition should be available on Amazon by the time you read this, or shortly thereafter.
Node from Beginner to Craftsman
If mastering Node.js is on your to-do list, head over to LeanPub and find a trio of great books that will guide you from just getting started to developing true expertise.
When you have the basics down, pick up "Hands-on Node.js by Pedro Teixeira, which dives deeper into the internals of Node, module by module. After reading this 142-page eBook you should be comfortable building, testing and debugging your own Node modules.
Now you're ready for "The Node Craftsman Book" by Manuel Kiessling, moving from the basics to object-oriented programming with Node, test-driven development, working with databases, using Web frameworks and more.
LeanPub offers "The Node.js Bundle," a set of all three books at a discounted suggested price, and all three are available in PDF, EPUB and MOBI formats.
API Design Secrets
The world is full of Web service APIs these days -- or at least it seems that way to me, perhaps because I've been knee-deep in them for the last year. Learning how to design, build and maintain APIs ahead of time can save a lot of trouble down the road. Trust me on this.
Phil Sturgeon wrote "Build APIs You Won't Hate" based on his experience rewriting an existing hacked-up API service from the ground up. Examples are in PHP using Laravel, but the lessons should be applicable to any API tier stack. Sturgeon also covers topics such as endpoint testing, embedding data objects, paginating responses and HATEOAS controls.
Also take a look at "Designing Evolvable Web APIs with ASP.NET," by Glenn Block, Pablo Cibraro, Pedro Félix, Howard Dierking and Darrel Miller. This book gives you an excellent overview of the theory and practice of building evolvable API services with the ASP.NET Web API framework. Not really a small-press offering, because it's published by O'Reilly, but it's still very useful and available in print, DAISY, EPUB, MOBI and PDF formats.
The Leadership Journey
As I mentioned at the start, books are great learning resources. But learning doesn't have to be limited to the latest and greatest technical skills.
At some point in our careers as tech professionals, most of us end up having to develop some leadership skills. Whether that's "leading without authority," keeping your dev team on track, mentoring junior colleagues or executive cat herding, it depends on your situation. But regardless of your needs, "The Leadership Journey," by Jim Holmes, can help you make that transition with confidence. The book started out as a "Leadership 101" series of posts on his blog and evolved into goals, tips, and exercises that are intended to guide you through the process of identifying and developing your own leadership style.
At 68 pages, it's a quick read, but one you'll probably come back to again and again as you encounter the hard-knock life of technology leadership. Available from LeanPub in PDF, EPUB and MOBI formats.
Even More eBook
There are so many more indie books worth considering, and I don't have space to cover them all. Here are a few that will give you the inside scoop on some more specialized topics:
- "Atomic Scala: Learn Programming in a Language of the Future, by Bruce Eckel and Dianne Marsh (director of engineering for Cloud Tools at Netflix), is available as an eBook through GumRoad. A print version was available and may still be stocked by some booksellers.
- "Introductory R: A Beginner's Guide to Data Visualisation, Statistical Analysis and Programming Using R," by Rob Knell, is available as an eBook through Amazon Kindle, Kobo, Google Play, Apple iBookstore and GumRoad.
- "Computer Programming with MATLAB," by J. Michael Fitzpatrick and Ákos Lédeczi, is is available as an eBook through Apple iBookstore and GumRoad. There's also an associated "Introduction to Programming with MATLAB" online course offered by Vanderbilt University and Coursera.
- "Agile Web Development with AngularJS" is an English translation of the popular book by Carlos Azaustre Rodriguez, available in PDF, EPUB and MOBI formats from LeanPub.
And, finally, for hardware hackers out there, check out the four titles offered by Bruce Smith covering Raspberry Pi programming. Smith has one book covering basic Raspberry Pi topics, as well as programming guides for hacking your Raspberry Pi in assembly, RISC OS programming basics and RISC OS programming in assembly.
Reading is fundamental. Never stop learning.
Terrence Dorsey is a technical writer, editor and content strategist specializing in technology and software development. Over the last 25-plus years he has worked on developer-focused projects at ESPN, The Code Project, and Microsoft. Read his blog at http://terrencedorsey.com or follow @tpdorsey on Twitter.