Young In Mind - For the Rest of My Life 🏄♂️
John William Davis
Posted on December 15, 2020
Starting to Code at 47
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:
This led to Khan Academy - where I learned what a variable is. I played around with my first function ( whatever that meant ) by inputting arguments ( whatever those were ) into opening and closing parentheses. I certainly did not write this "function" that changed the colours and sizes of some shapes using JavaScript. I soon learned that JavaScript is a programming language. Through some more research online I learned ( sort of ) what a programming language is.
Around the same time that I was dabbling in code on Khan Academy in the fall of 2017, I happened to be reading a book called THANK YOU FOR BEING LATE, by Thomas L. Friedman.
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.
After a Month or Two . . .
Next stop was FreeCodeCamp where I began to learn HTML, CSS and a bit of JavaScript. Soon after, Treehouse became the first financial investment for my new educational path. I began to learn Python. I had a full time job at a company where I had worked for over a decade but I wanted something better paying with more opportunity for growth and of more interest to me personally. A year passed where I explored all sorts of possibilities in tech. I did a course on Coursera where I learned about Linux, Bash and the command line. I was also working a second job part time as an Uber driver in the Seattle area. I began picking the brain of every developer I had in my car (of which there were many). And my self study continued.
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.
Another year of self study continued where I tried Ruby, learned more and more about the command line, npm, Ruby Gems, and continued with Python and more JavaScript. I did many different tutorials on YouTube - and looked at everything I could - from JavaScript code challenges on CodeWars to Kali Linux and cybersecurity. My wife and I attended a few GitHub Constellation talks in the spring of 2018. I had a ton of imposter syndrome - but everyone was friendly and the talks were absorbing.
Third Phase
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
React.
From David Goggins and his amazing book, Can't Hurt Me:
To Dan Abramov and his blog:
Or Dan's series of JavaScript tutorials he did in collaboration with Maggie Appleton:
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.
Posted on December 15, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.