Software developers are, by necessity, lifelong learners. We are constantly facing new challenges, new technologies, new methods of solving problems. But how can we make our learning more efficient? This is a question that I’ve been pondering for at least four years.
I can trace my fascination with this subject back to a book I read in 2009. The book was called Pragmatic Thinking & Learning. In it, the author pulled together extensive research from the fields of neuroscience, learning/behavioral theory and biology, applying it to challenges we face as software developers. It gave me insights into the process of learning, the actual mechanics of what happens inside the brain. This is the only non-fiction book that I have read twice in a single year. It is that good.
After a couple of years of studying and applying what I had learned from the book, I was convinced that I had not only become more efficient in acquiring new knowledge and skills, but I also had a much better strategy at identifying what things I needed to learn. In addition to identifying my own skill gaps, I was able to look at the vast array of languages, tools and technologies and analyze what new skills would benefit me the most and support my specific goals.
The next logical step was to begin sharing what I had learned with others. I submitted a talk entitled “Learning How to Learn” to several conferences, each time being rejected. I finally got my break at Midwest PHP in March 2013. While the organizers initially rejected my talk proposal, they later approached me and asked me if I would consider giving this talk as the opening keynote. I was thrilled and the audience response was phenomenal. You can see some of the feedback I received on joind.in. I know I’m biased, but I think this subject is something that should be discussed at every conference. People are there to learn, so having a talk devoted to becoming a more effective learner seems like an obvious fit. Despite that, and despite having submitted it at several conferences since Midwest PHP, it continues to be rejected.
Not content to wait for the next conference willing to accept my talk, I’ve decided to take matters into my own hands to share this valuable message with my fellow developers. For the last several months, I’ve been working on an ebook that will take everything I’ve learned in my research and distill it into bite-sized pieces of information that anyone can put into practice for themselves. While the information is applicable to any type of learning, I’m keeping a razor focus on learning within the context of software development. This is where my energy has been directed and this is where all my experimentation and practice has been applied. By staying focused on this particular context, I believe I can make a more profound impact on those that read the book.
Writing (and researching) the book is a time-consuming process though, and I’m chomping at the bit to share some information NOW. Because of this, I am announcing a weekly newsletter. Each week, I will deliver a specific tip or strategy you can use right away. Each newsletter article will take only 5 - 10 minutes to read, but if you make that investment and actually try to apply the information, you will become a more effective learner. I also plan on including an additional reference on each topic to give you further things to explore. Think of it as an annotated bibliography for the book I will eventually release.
If you’re still unsure if this is something you’d find useful, consider the following statements. Do any of them resonate with you?
- I know I’ve been a developer for years, but I still don’t feel like I’ve really mastered this. Sometimes, I feel like an “impostor.”
- Sure, I know “Technology X”, but that’s all I know. I feel trapped by my own skills and want to branch out.
- I really want to learn “Technology X”, but I don’t have the time.
- I’ve tried learning “Technology X”, but I don’t know where to start.
- I’ve tried learning “Technology X”, but I’m not making any progress. It’s in one ear and out the other.
- Things change too fast in this field. I can’t keep up with it all!
In addition, I’d ask that you please share this article with your friends and coworkers. Share it on Twitter and Facebook. Talk about it at your user groups. Spread the word. Yes, I have an ulterior motive: I want to get people excited in the topic so they’ll eventually buy my book. But, I also genuinely feel this is something that many developers struggle with. I’ve been there and I’ve overcome the challenges listed above. Now I want to share what I’ve learned with as many developers as possible and help them overcome these same challenges as well.
Please take 30 seconds now and sign up for the weekly newsletter. The first issue will be sent on Monday, February 3.