The Ultimate Guide for Intentional Learning For Career Growth
Your work environment as a software engineer has the advantage that engineers build stuff there so that you can create targeted, learning-by-doing experiences.
"To become a 10x engineer, you must love learning new things."
I always heard this word when I started my career as a software engineer. All software engineer knows that continuous learning is key to thriving in this career field.
However, one questions always arise -
"How do you stay updated with the latest trends and technologies in the coding field?"
With abundant information on the world wide web, I noticed many software engineers encounter decision paralysis. We don't know what framework and new technology to learn and the order of learning those new technology.
We spent most of our time learning new technology and framework, hoping they will be used in the future. More importantly, we learn them so that we don't become obsolete.
I am sharing this week's newsletter's ultimate guide for continuous learning. Instead of keeping up with the shiny object (technology) syndrome, you should leverage learning from your working hours.
Two Types of Learning
Before discussing all the tips, let's explore two learning strategies.
Exploratory Learning
Exploratory learning is learning that you let your curiosity guide you. You learn stuff for the sake of learning.
The legendary Leonardo Davinci often does this learning technique. He loves to pursue projects based on his curiosity. He truly let his curiosity run wild.
His famous painting and inventions from his journal notebooks are all based on his curiosity.
Targeted Learning
This is learning that is driven by some goal. You learn something because, e.g., you need to perform a certain task.
Going to college and pursuing education is an example of targeted learning. Many people pursue higher education for the sole purpose of having better career opportunities. Computer Science has become a popular major in the past five years because learning programming helps students get a better job with a higher salary.
Why You Should Focus on Targeted Learning As a Software Engineer
You want to invest your time in targeted learning as a software engineer.
One downside to exploratory learning is that most people who start them don't finish.
Many software engineers (myself included) have gone through the tutorial hell. I used to let my curiosity guide me to learn any programming language or framework during my free time to keep myself updated. Overall, I received advice from a tenured engineer during my early career that engineers who don't keep up with the latest technology will soon be obsolete. I often bought online courses or tutorials from Udemy because I found the material interesting and will likely use that new shiny technology. However, whenever I start a project or learn something for curiosity, I never finish them.
Leonardo Da Vinci also encounters this dilemma. Many people didn't know that drawing was not his main job during his lifetime. Aside from drawing, the historian has said that he has created multiple discoveries in science and invention, such as the tank, helicopter, and parachute. However, he only has one or two inventions (wheellock and another source) that made it out of his brain and into the real world due to commission. Since he always wanted to work on things that interested him, he didn't finish much of the project he started. He didn't publish any scientific discoveries or inventions in his lifetime. It is 165 years later that people discovered how genius Leonardo is through his incredible notebooks. (link)
Aside from discipline, you are not leveraging your time and energy to help you reach your potential in your workplace by exploratory learning. For example, you wouldn't do pair programming to learn some new exotic tech that may or may not be useful in the future. At the same time, if you have a pressing problem, reading a book isn't probably your first choice — you may rather get personalized help by talking with a peer or a coach.
Your work environment as a software engineer has the advantage that engineers build stuff there so that you can create targeted, learning-by-doing experiences. Many skilled engineers attain expertise in their craft due to the need for their technology.
How Can You Do Intentional Learning at Your Job
Do you need to spend additional time learning the newest and shiniest web framework? No.
Dive Deep Into the Tool that is Being used By Your Team
It is more beneficial to focus on deepening your knowledge of the programming languages or frameworks that YOUR team is currently using. This approach has several advantages in terms of your learning journey:
Getting motivated to apply what you learn is most effective when you align your goals with your team's.
Now that you have learned these tools, you can immediately apply them in your workplace to make a direct impact.
You instantly become the subject matter expert in that field, giving you an edge of influence in the team.
I delved into learning new technology to see if it would benefit my team. While at Disney Streaming Service, I studied functional programming and the Scala programming language. I read numerous articles and books to ensure proper design and writing techniques. My extensive knowledge of Scala earned my team's trust and led to a significant project that optimized the payment processing system for Disney+.
Switch Team
Learning as a software engineer doesn't require learning about the latest framework.
For example, don't just sit in on a meeting listening to the staff engineer discussing engineering scope with the product; notice and learn her tactics and techniques as you engage with her.
Ask product managers about product features; ask salespeople about industry trends; ask peers for feedback on your presentation skills. These inquiries are learning experiences; most peers love to tell you what they know.
Pushing yourself to become uncomfortable is also a form of growing. Communicating more succinctly during a standup is also a sign of growth.
Many people associate switching teams with a negative connotation. They think that person A switched teams because they don't like the team. However, switching teams can help push you out of your comfort zone. You will see the different ways each time conduct their standup rituals. You are learning about a new set of domains and a new set of codebases. It helps you become humble again and a learner.
Conclusion
Continuous learning is crucial for software engineers to stay relevant and excel in their careers. However, with the vast amount of information available, deciding what to learn and when can be challenging. As a software engineer, you should focus on targeted rather than exploratory learning to maximize your time and effort.
Targeted learning involves setting specific goals and learning with a purpose, such as improving skills required for your current job or upcoming tasks. This approach helps you stay motivated and focused, increasing your chances of successfully completing your learning journey.
Focusing on intentional learning that aligns with your team's needs and career goals is crucial. Doing so lets you stay updated with the latest technologies while making meaningful contributions to your work environment.