Most people would agree it is a good thing to be curious and to have a wide range of interests. It is good to be inspired by many different people and many different disciplines. All my adult life, I have believed that
change == growth.
This view might come in part from when I studied acting in the theatre - from the 10th grade in high school to age 21 ( I never had a professional acting job ). Or maybe it comes from when I wrote screenplays ( unsold ) and studied film in my twenties. Both in theatre and in cinema one learns to look for where change occurs in the characters on the pages of a play or a screenplay. Almost always, that is where character development happens.
Three years ago, a change began happening for me when I started to explore programming. At first, I slowly dipped my toe in the water with some Google searches such as:
That is where I first read about GitHub. I learned GitHub is an online platform for sharing code and collaborating on code. I learned that Git ( what a weird sounding name ) is software for what programmers call a "distributed version control system". These were intriguing words even if I only fractionally understood what they meant 😃 Soon after, I came across Paul Ford's remarkable online article, WHAT IS CODE? - and I found it fascinating.
After reading and rereading that article, I was hooked. At 47, with a wife and three children under nine years old, I decided that "software development" was what I wanted to do.
I bought a new, more powerful laptop from System76 which came pre-installed with the open source Pop_OS! ( a laptop and Linux Distro which I still use and love ). I read about the Raspberry Pi. I bought a "Pi" and began playing with it.
After two years of self study, feeling that I wanted some more structure and help, I found a bootcamp to attend. I dealt with more imposter syndrome but I met some great people, learned a ton, finished the cohort and began my journey of learning while job searching post cohort.
And I am in the thick of that process now.
Software development is a discipline where you have the opportunity to learn multiple new things every single day. Sometimes it feels like trying to drink the ocean, but I try to remember to simply take it one day at a time, putting one foot in front of the other.
At times it takes me multiple attempts to get a particular concept or skill.
For example, I tried working with Vim at least three times - each time putting it aside in frustration. But eventually, with the help of Ben Orenstein and Chris Toomey's excellent tutorials on Upcase by Thoughtbot, the concepts and muscle memory began sticking and I am now a happy Vimmer. Vim is an incredibly rich piece of software that you can continue to grow with for years and years.
I have come to love the modular style of editing code. Sometimes I use Atom ( mostly just because Atom is simply cool 😎 ) with a nice Vim key bindings package. But usually I split my time between classic Vim in my terminal and VS Code ( also incredibly rich software ) with it's excellent Vim emulation extension. I am a bit obsessed with text editors 🤓.
I consciously remind myself everyday to take my inspiration from everywhere. From David Heinemeier Hansson and his work on Ruby On Rails and Basecamp. To Tania Rascia and her wonderful tutorial on
This podcast episode from Chadd Wright resonated with me:
The podcast has nothing whatsoever to do specifically with programming, but has everything to do with not giving up.
Chadd is a former Navy Seal and a current Ultra Runner:
And I am inspired equally by the YouTube content of Brian Douglas, developer advocate at GitHub. He makes complicated ideas clear.
I try to remind myself that everything in my life can feed into becoming a better programmer. From eating healthy and getting enough sleep to working on a personal project. From contributing to open source to writing these words using Vim in KDE Konsole terminal. When I am on a walk in the sun with my twin boys, or when I am preparing something to eat for my daughter, I am becoming a better developer. It is all part of it.
Software development is an incredibly vast, creative and beautifully complex activity. If I were a teenager now or even if I had three lifetimes, I would never reach the end of this road - and that is more than fine with me.
Software, and everything having to do with writing code, stretches my mind and forces me to look forward everyday. That is a wonderful thing to anyone in any profession or craft. And I can stay with this discipline and still have never-ending
change == growth in my professional life - for the rest of my life. Looking back over the past three years, I would say that was what I was really looking for in 2017 when I started believing I could do this.