Building disciplines around lifetime learning within tech
I’ve worked hard over the years to increase my skills as a software engineer as well as the value I’m able to provide to the larger engineering community. Somethings have worked well and some have been utter wastes of time. Getting started, it’s often hard to know which is which. Outside of a traditional education in computer science, the following habits have allowed my career to grow and evolve more consistently than anything else. I’ve also had the privilege of watching them do the same for others.
• Ask great questions.
• Experiment constantly.
• Share your knowledge.
• Invest time daily.
Ask great questions.
Active listening is the greatest oversight of most academic institutions. Neither grade school nor college offered courses on being a better listener but it has become a priceless skill. The more I learn and grow, the more valuable I’ve found the experience and expertise of others. Few things will accelerate the growth of a software engineer more than connecting with skilled people and leaning on their insight. While learning from your own mistakes and failures can be effective, the path to wisdom comes from leveraging the mistakes of others.
When you meet with mentors, coaches, or teachers…
• Prepare questions ahead of time.
• Take good notes.
• Take action on what they say.
• Followup afterwards with gratitude and learnings.
Some days, I’d spin up 2–3 new projects to try out a certain feature or approach. It was tedious at times, but incentivized me to get more efficient and deliberate. Years later, I have hundreds of projects to pull information and learnings from. About 2–3 years in, I rarely encountered a problem for the first time.
A few tactical ways I experimented:
• Find site online and tried to create it.
• Research features of a framework and try to replicate them.
• Find tutorial sites from trusted sources, Railscasts.com was a personal favorite, and don’t watch… take action.
• We said yes to projects and challenges we had all the answers to. Early on, we gave a lot of discounts and padded out estimates by 2 and 3 times what we thought it would take. This provided a safe environment to learn, while still allowing for real world experience.
Share your knowledge.
More often than not, teaching others is the best way to solidify your own understanding. Regardless of how little you may know, try teaching someone else. Whether it’s teaching a niece or nephew on something like Scratch or volunteering at a local code school, use what you know to help others.
Building a habit of sharing your knowledge keeps you sharp and reinforces the attitude that made the internet great to begin with. Most of today’s prevailing frameworks are open source tools supported by unpaid enthusiasts.
If all else fails, write about your experience. Don’t overthink it, get started.
Invest time daily.
As soon as you stop learning, your effectiveness declines. In a fast changing industry like tech, there is little room for becoming complacent. Early on, I found space time whenever I could to read, watch tutorials, and interact with other engineers. Developing the discipline early pays dividends over time. The more I’ve challenged myself to be a lifetime learner, the more opportunities have followed.
Whether you’re connecting with others, experimenting, or sharpening your skills, consistency is key. Tactical ways to make sure you’re moving forward include…
• Schedule time each day to explore new challenges.
• Schedule time each week to reflect on what you’ve learned.
• Schedule time each month to organize what you’ve accomplished*
• Challenging yourself to publish learnings will further sharpen your insight.
Waking up early is the easiest way to find time in your schedule. In recent years, I’ve fallen behind on the latest Netflix series. I have however, launched 3 businesses and continue to invest time with New Story.
If you’re looking for a silver bullet, I have nothing for you. While your mileage will vary, the road ahead requires consistent commitment and dedication. Much like writing great software, it takes time and it’s not done in a vacuum.
May your journey be as strenuously-delightful as my own. If you’d like to followup with more thoughts and questions, email me at email@example.com.