Deciding on a Direction

As discussed in a previous post I decided to share some of my knowledge by writing a book.

In this post I want to share the process by witch I decided what to write about.

Basic Requirements#

After browsing through my collection of scripts, notes and history files I had a multitude of possible topics. To narrow down the selection I defined some basic requirements I wanted to set for myself.

Simple To Follow#

Reading some of my notes from past years I realized that I’m prone to cram way to much into way to little lines. To keep this book approachable for beginners this is something I will try to avoid where possible and explain myself where such complex lines cant be avoided.

Additionally I want to provide all code samples in a easy to use way, naturally git comes to mind. This achieves multiple factors I always appreciate in consuming content:

  • Integration in my own way of working: No hard choices on editor, operating system, or anything else
  • Ease of referencing: Hosting the code in a repository allows the reader to reference and use it long after reading the book

The Universe Already Exists#

This will be a controversial decision, however I believe in not re explaining the core concepts of programming like variables, data types or comparisons. There are already plenty amazing ressources1 for learning them.

I will however explain core concepts and quirks that are unique to PowerShell, as I believe this will enable programmers from other languages to ease into the book. Those parts will be clearly marked and completely optional.

I’m Not A Philosopher#

On a similar note I will not delve into the wonderful world of how to format your code. I will use the style I developed over the years, wich is heavily influenced by best practices outlined by microsoft and the wider community.

It is my believe that anything more is not in the best interest of the reader, as styling code can soon lead to not writing anything new.

Topic#

With those basic requirements set I took a deep dive into my personal collection of notes and scripts. From there I extracted four topics I wanted to take a closer look at.

Basics For IT Staff#

I know, this seems in direct violation of “the universe already exists”, but I believe I could pull of giving a basic understanding of day to day operations with PowerShell without diving into programming basics.

This would focus more on my journey, including war stories, ressources and methods I used to achieve my skills, a collection of utilities I use all the time and take home exercises to get the groove of working with PowerShell.

Note

A big part of this is already covered by my series Bash Utilities In PowerShell.

Daily Task Automation#

Focused on how to identify tasks in your day to day work live you benefit from automating and outlining the tools PowerShell gives for doing so efficiently.

It is a bit of a long stretch to call this a PowerShell book, but I imagine tying in the mindset of how, what and when to automate with a tool to do it quickly could be interesting.

This would be a opportunity for me to open source my personal task automation “framework” and give additional insides on top.

Tool Automation#

Deep dive on a tool stack I am deeply familiar with and outline the tools you can use in PowerShell to super charge daily work and automate batch tasks.

Automating day to day work with any tool can be extremely rewarding, it creates so much opportunity to learn while actually doing work you need to do and it is a fascinating upwards spiral.

From my experience there are three tools standing out to me:

  • Jira & Confluence
  • GitLab
  • PowerCLI

All three would allow for fast improvement of the readers workflows and allow for teaching PowerShell specific tipps and tricks along the way.

Result#

In the end, after writing outlines and talking to many of my friends and colleagues I decided Tool Automation will be the topic for my book. But based on my research it is quite possible I will revisit the other topics at a later date.

Specifically I will write about how to super-charge working with Jira Software and Confluence in the cloud. One of the main factors for this decision was that it is easy for the reader to get up and running with a simple environment2.

In the next post I will tell you how I layed out the book and decided on a target audience and skill set.


  1. Ressources for learning programming basics

    ↩︎
  2. Try Atlassian Cloud ↩︎