New Blog Series

As the new year is upon us, I have decided that I need to more consistently contribute to the community. And what better way to do that than to write more consistently on my blog.
In order to produce something a few times every week, I have decided to explore the tools that I use every day in greater depth - to look further into the nooks and crannies and make sure that I truly understand the capabilities of the tools that I leverage.
This idea came from the book, “The Passionate Programmer” by Chad Fowler. In it, he suggests that,
Our industry tends to practice on the job.
He then relates our craft to the art of playing music, and,
Musicians are paid to perform in public—not to practice.
So why would we expect to do it differently in our profession.
It takes hours of practice in order to learn our craft and, unfortunately, too many are practicing on the job these days, because it is acceptable. You cannot learn everything that you ought to know as a software craftsman by merely writing code for production software. Focusing on certain aspects is needed in order to increase the quality and resilience of what we produce.
One of the areas that musicians focus on developing is physical/coordination or focusing on fundamental technical aspects of playing an instrument. They do this by playing scales in all of the range of the instrument, building the muscles in their lips or gaining callouses in their fingers, practicing dynamics with their diaphragms, etc. They cannot always be playing nice sounding music - they have to play simple, focused, seemingly monotonous exercises to focus on these fundamentals.
How can a software craftsman do the same? They can focus on looking at the full range of functionality available to them within a certain language, platform, or tool. And they can practice using these tools in private exercises known as katas or personal projects. That is what I seek to do with this series.
For starters, you may not have noticed it, but I am writing this blog now entirely in markdown syntax. In this post, I learned the following:
  • Images - add an exclamation ‘!’ at the beginning, follow with brackets [alt text] with some alternate text, open parentheses (url “optional title”) with a url and a title in quotes, which is optional.
  • Strong Emphasis - add two astericks ‘**’ or two underlines ‘__’ on both sides of a word/phrase to emphasize it in italics.
  • Block Quotes - add a greater than sign ‘>’ to the left of each sentence and it will stand out as a quote.
  • Unordered Lists - add an astericks ‘*’ before each line which is translated into an unordered list item in HTML.
  • Inline Links - add brackets [text] including any text to display and follow up with parentheses (url “optional title”) with a url and optional title in quotes.
You can find out more about markdown syntax by looking at this post from the Daring Fireball blog, which does a good job of explaining the basic features of markdown.
Hope it helps!