Brian Downs


Software Engineer, Open Source Advocate, Outdoor Enthusiast


I'm Writing a Book...

Not Happening…

Feel free to read this post but as the first few words inidcate, this book isn’t happening. There’s been a number of books released recently that tackle the niche I was going to speak to. I think I’ll give some more thought to a topic but this will be put to bed for now. Smaller posts to this blog that are Go based will continue though.


So I’ve decided to write a book. I haven’t come to this decision easily. There’s been a number of factors that have weighed into this decision. Rambling on in Google Docs has always provided me entertainment but I’ve never done so on a technical subject. I think first and foremost is the fact that one of the ways I really learn well is by writing things down, trying to understand them, and then repeating in a manner by which someone else can understand the topic. Given my infatuation with all things Go (golang) I thought I’d get all of my initial throughts and experiences written down in a location and way that others could benefit.

The idea came from a coworker Domnick Eger. He was working on a really neat inventory system written in Python, using Flask. When he began the process, he didn’t know much about Python and almost nothing about Flask so he pcked up a book he showed me one day after me expressing some interesting writing. After a day or two of thought as well as reviewing some earlier documentation I had assembled, I started putting a rough draft together in my mind of what I’d like to cover. And only a day or two after that, another coworker expressed interest in Learning Go so I figured he’d be the perfect person to get ideas from of how they’d want to learn, what they’d want to learn. The ideas were priceless.

I spent a few solid hours on getting the first chapter outline in place and notes on things I want to have and cover in coming chapters, and started laying the groundwork for the subsequent, more interesting sections. I’m hoping to have something for peer review in the next couple of months barring any major setbacks.

Audience

Systems Engineers, DevOps Engineers, and Developers alike, those who want to learn a new language but want to start using it right way rather than having to let the patterns and concepts sink in are, the primary focus. That’s not to say that basics and best practices will be overlooked or even skipped. There’s nothing worse than starting a new language or anything for that matter, doing it wrong and reinforcing the bad habbits.

The book would also serve as a small refernce piece given the example driven structure. All of the examples haven’t been decided as of yet but the list is growing larger and larger which is great because I can choose which will be the most beneficial and go with them. All of the examples will have the before mentioned positions of interest in mind when actually being coded out.

Structure

The structure will be nothing more than a light introductory to some mandatory topics and then innumerable (at this point) topics covering anything and everything to benefit the target audience.

With speaking to my coworker interested in Go, we both were in agreement in terms of how we learn, what we want to learn and do when learning a new language. Hearing this couldn’t have been better news since he then agreed to help with the content and direction given is status of being completely green status with Go.

Distribution

No means of distribution have been decided at the moment but I’m leaning heavily towards GitBook. I like the idea of using markdown to write the piece and also how simple it is to get work up and out to the world. Depending on demand or if anyone even reads it, I might utilize Amazon’s Self Publishing options.

Giving the release a little bit more thought, I think I’ll do an early release on some content for each chapter to see what the public or a select group of people think, make edits, and keep going.

I’m open to any and all suggestions though since I’m far from knowledgeable on the subject.

Update - 2015-02-14

Finally decided on distribution but not licensing. I’m open to any and all suggestions on what licensing model I should use. I’m not looking to make a buck on this though it’d be nice and I’m also not looking to maintain absurd levels of control of the content. Also need to come up with a name. Without the name, I’m limited to how much I can do on the site I’ve decided to use for the editing and distribution. More importantly, I’ve decided it’s going to be in markdown format and decided on the service to provide it.