Jerreck McWilliams .NET Dev in DFW

More Effective Learning

One of the things that Dr. Larry Minks - President of Southeastern Oklahoma State University while I studied there - always used to stress to us was how important it was to be a lifelong learner.

If I had to pick any one thing that was my most valuable takeaway from my time at SOSU, it would have to be that passion for learning that he instilled in us, and a perspective that learning wasn't a thing you should really ever stop doing.

It's one of the main reasons for me going from a degree in journalism working at a print shop in Durant to a career as a software developer and tech manager.

I graduated from SE in 2012 and like a lot of devs have spent a good chunk of time outside of work most weeks reading books, blogs, tutorials, watching videos, and listening to podcasts just to keep up with the increasing demands of developers today. So I've learned a thing or two about learning - especially in the last year.

I'd like to share some of that in this article, because one of the learnings I've learned is that if you share knowledge with folks, they're also likely to share some with you. So if you enjoy this article and had something to share yourself, please let me know on twitter or linkedin.

The Importance of Audiobooks and Podcasts

Sometime around June of last year, I downloaded the audiobook version of The Phoenix Project by Kevin Behr, George Spafford, and Gene Kim and listened to it on an 8-hour round trip from Richardson, TX to my cousin's wedding in Muskogee, OK and back.

It was so good, I listened to the remaining four hours when I got home that night (while playing a nice long game of Civ VI of course (Trajan, True Start Earth - where you can easily snipe Greece's settler in five turns then settle the Bosporus)).

It was my first encounter with the business fable, and I loved it because of how easy it was to relate to and how effective it was at teaching as a result of that.

I then read or listened to all but two of the rest of the books in the IT Reovlution catalog over the course of the next few months along with a few of the others they cited, like The Goal by Eliyahu M Goldratt and The Machine That Changed The World by James P. Womack, Daniel T. Jones, and Daniel Roos.

I managed to knock out so many because I found a small way to use my time more effectively without really changing my existing habits: just fill quiet time with an audiobook or a podcast.

For example, I take lots of trips to see family on the weekends and help out with whatever they have going on. Twice in the last six years I spent about year with an hour long commute. I also spent a couple years driving across Oklahoma to help rebuild the Oklahoma Democratic Party, so I've spent a lot of time on the road.

Previously, I had used that time to listen to The Dreden Files audiobook series or the Hardcore History podcast - both of which are also excellent by the way. But it never really occured to me until I discovered The Phoneix Project that technical audiobooks might be a thing.

Turns out, there are a ton, and a few of us are currently working on putting together a recommended reading list in the IT Revolution Book Club slack... which brings me to my next point.

The Importance of a Learning Community

Team Topologies by Matthew Skelton and Manuel Pais happened to be the first book that IT Revolution hosted a book club for on Slack, which I signed up for and loved so much that it convinced me to checkout the DevOps Enterprise Summit in Vegas last year. That wound up being one of the best decisions I think I've ever made.

I got to meet a ton of awesome folks - incuding Matthew, Manuel, and some of the book club folks - who are dealing with the same kind of problems my team and I are and are also huge DevOps nerds.

I wound up learning a lot more than I was expecting just from convos with the various folks I met at breakfast, lunch, and between presentations, too. I'd strongly recommend attending at least once if you haven't yet. The networking alone is worth the price of admission.

What this community made me realize is that I had been missing something since I had graduated from the Honors Program at SE: a learning community. One of the biggest advantages of Honors at SE wasn't that you were taking exclusive classes with generally tougher curriculum (although we were), but that you were doing so with a group of folks that shared your struggles and worked together to help each other out.

In the context of learning as part of your career, you can sometimes find communities like this where you work (or you can devlop your own). We have these at allsynx, but generally relying on just a single community for learning isn't nearly as effective as having a network of communities from which you can draw disparate resources and diverse opinions.

For exmample, within the ITR slack there are ton of seasoned industry professionals who are more than willing to answer the kind of tough questions that you can't really google. I recently learned twitter can actually have a purpose for the same reason. There are lots of other communities on slack, discord, reddit, etc. for more specific subjects where can you can often ask the kinds of questions that would be closed on StackOverflow.

For me, developing this network the last year or so has lead to two huge advantages: 1) it's made getting answers to tough questions that I know I have easier, and 2) it's made discovering answers to questions I didn't know I had easier.

Very often nowadays I'll stumble across a conversation about some esoteric topic that I would've never even though to ask about - like when one of my coworkers and I discovered what cucumber-gherkin-cypress was at a QA automation meetup last year. I can't stress enough how important this is, and how important it is that you find a community and build your network asap.

The Importance of Generating Content

One of the bigger themes of DOES 2019 Vegas was how to foster continous learning and how important that is to an organization's success. The last night of the conference I was having dinner with my wife and her friend and at some point while talking about how the conf went we got off on that topic and how it seemed like it would eventually become every organization's bottleneck (I've since questioned that thought, but still that's what I was thinking).

I stayed up pretty late that night after we got back to the hotel reading about how people learn and ways we can learn more effectively, and I came across this research from the Bjork Learning and Forgetting Lab at UCLA.

Now in the context of the presentations at DOES, learning was more about organizational learning whereas I was more interested in how individuals learn and how we can learn more effectively as individuals, which is the focus of the research above. One of the findings in said research is that "generating words, rather than simply reading them, makes them more memorable."

This is pretty common knowledge, and like a lot of folks I've been taking notes in meetings or about tutorials, etc., for forever even if I never look at them again just because writing thigns down helps you remember them better. But it's important nonethless.

More important than taking notes, however, is acutally trying to share what you know - either through making your own tutorials or just trying to teach someone lease verbally about something. Very often the process of trying to e.g. explain a programming concept to a new dev will lead me to realizing what gaps there are in my knowledge, so we'll often both learn as a result.

It's how I ran across this excelent explanation of tight versus loose coupling this week. It's something that I grokked very early on in my career but I never really had to explain to anyone before, so when one of my coworkers asked about it I pretty much babbled incoherently until I realzied we needed to hit the internet.

Pragmatic Thinking and Learning

I think at this point I'm reaching the extent of my own knowledge on the subject and would just be copying and pasting from others. If you'd like to learn more about learning, I'd recommend exploring more of the research from Bjork above as well as checking out a book called Pragmatic Thinking and Learning by Andy Hunt - one of the co-authors of The Pragmatic Programmer.

After reading and watching the interviews with Robert A. Bjork I thought about how cool it would be to have a book that covered similar material but was written for a developer audience. I wound up finding Pragmatic Thinking and Learning about a month later for $3 on a trip to the clearance section at Half Price Books. I'd say it's easily in my top 5 books to read not just for developers, but really anyone. Chapter 5 in particular ought to be required reading before you can graduate high school.

Although there's a lot of content in this book around cognitive science that you've likely ran across before, I haven't found any other work that did as good a job presenting said content in such a easily digestible and fun way (or as good of a job citing its sources - I've already got a few books picked out to read from its bibliography). I highly recommend picking up a copy yourself and giving it a read if you haven't already.

Also, if anyone else has ran across similar material, I'd love to hear about it.