Saturday, January 16, 2016

Another Kind of Training

It’s safe to say there’s been more action in my life off this blog than on it for the past few years. Cycling has been and gone; I’m sure it will return at some future date.

What is here to stay though, is code. Software is eating the world and I am no exception — what started off as a means to an end is now a nascent career as I’ve been working as a Software Developer for just over two years.

There are tens of thousands of software blogs already out there, yet here I am starting up another.

Why?

In this decade there is such proliferation of information. It has been quoted that we see more information in one day than our ancestors saw in their lifetimes. I find myself more and more often asking myself: how much of what I’ve read, watched or listened to has actually sunk in?

I suspect the answer is not very much. As someone who thrives on knowledge and learning, this frustrates me. What do I have to show for the ten hours a day spent at work writing code, reading blogs and articles, not to mention the time spent generally skimming twitter for other interesting developer tidbits? In the past year alone I have ‘learnt’ so much, only for most of it to fail to penetrate my long-term knowledge base. To give this some scale, I’m pretty sure I’ve watched all of the videos, done all of the courses, and read all of the books listed below:

Online Courses

Exploring C# 6 with Jon Skeet
Algorithms: Design and Analysis
Erik Meijer: Introduction to Functional Programming
M101N: MongoDB for .NET Developers

Other videos

Martin Fowler: Introduction to NoSQL
Joshua Bloch: How To Design A Good API and Why it Matters
Brian Fitzpatrick & Ben Collins-Sussman: The Myth of the Genius Programmer
Robert C. Martin: Clean Architecture and Design
Jon Skeet: Abusing C#
Dr. Don Syme: Introduction to F#

Books

Sam Newman: Building Microservices
Pramod J. Sadalage & Martin Fowler: NoSQL Distilled
Glenn Block et. al.: Designing Evolvable Web APIs with ASP.NET

Blogs

Martin Fowler: Bliki
Eric Lippert: Fabulous Adventures in Coding
Mark Seeman’s blog
The Clean Code Blog by Robert C. Martin

… and plenty more that I have forgotten entirely, not to mention those unrelated to software development!

This is where my blog renaissance comes in. Whilst I have ‘done’ all that listed above, my Definition of Done has been pretty nonexistent. I’ve made some notes, done a few exercises here and there, but most just passively watched a video or read an article and promptly forgotten 90% of the content.

Not any more.

From here on in, I will be consuming less, but learning more. When I dive into an in-depth book, online course, multi-part blog topic or video lecture, it’s going to be distilled here: a book will have a chapter-by-chapter breakdown; a course will have a précis of the lectures along with exercise solutions; the salient points of a blog series will be summarised.

All of this will be for one reason, to ensure that I really learn this stuff. The act of crystallising and expressing my thoughts on a topic will require me to understand it at such a deeper level than just passive reading or viewing. Hopefully, along the way, people will read this and learn something too. Or at least very least, correct my mistakes and start up some engaging conversations.

So without further ado, let me introduce the first topic:

The Book of F#

Over the next eight weeks I’ll be going through the book, poking at its contents and summarising what I’ve learnt on here. I’ll explain why I’m going through this book, what I’m trying to get out of it, and how I will be doing so.

No comments:

Post a Comment