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.

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.

Eloquent JavaScript
One book that I consider a classic is Marijn Haverbeke's introduction to JavaScript, "Eloquent JavaScript," now available in an updated second edition. The book is free online in HTML, PDF and EPUB. No Starch Press offers a print and "more polished" eBook version on its site, though these versions are not free.

This is an excellent introduction to JavaScript, though probably best for readers with a little prior programming experience. Haverbeke walks you through practical examples, starting with the basics of JavaScript. The book moves on to JavaScript in the browser, the DOM and drawing with Canvas. Later chapters include some non-trivial Wep application projects and even an introduction to Node.js.

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.

More JavaScript
While I'm on the subject of JavaScript books, Nicholas C. Zakas is working on two books through LeanPub that you might want to check out. Zakas knows a bit about the subject having been a front-end tech lead for the Yahoo! homepage and a contributor to the YUI library, and is now a principal architect at Box.

"Principles of Object-Oriented Programming in JavaScript" is available in PDF, EPUB and MOBI formats, as well as a print version from "No Starch Press. In this book, Zakas introduces you to techniques for writing object-oriented code in ECMAScript5, which could help you transform a nearly ubiquitous language into something truly powerful.

"Understanding ECMAScript 6" is, as you might guess, an introduction to changes developers should start learning about for the next version of JavaScript. The book is still in the early stages of writing, but you can read all of what's been written so far on the book site.

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.

Start with "The Node Beginner Book" by Manuel Kiessling, which, in a brief 59 pages, walks you through the basics of Node.js, as well as a few advanced JavaScript topics.

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:

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.

About the Author

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.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube