increase your skills every day
As an engineer, you will learn to constantly keep up with technological changes. How can you do what works best for you?
Take the time to level up your self-directed learning skills.
“Self-directed learning is a learning method by which the student takes the initiative to learn. It includes activities such as selecting, managing, and evaluating their own learning activities.” — Sharon K Andrews A model for inspiration-driven assignment design
Learning to learn is an important subject. As a software engineer, you can spend about 20% of your working hours studying. It is likely to be even higher in the beginning. That’s why it’s important to create strategies that help make the most of that time.
It’s very easy to get overwhelmed by the number of ‘things’ you want to keep track of.
Not just code syntax, but technical concepts, command-line shortcuts, and things that can fit into a combination of topics.
It is important that these are categorized in a way that makes sense to you and makes it easy to retrieve information, as easily as you can input information into an already existing section.
This will become increasingly important as you come up against the same issues over and over again, which can happen when you get stuck at the same points. You remember that you “wrote a solution to this exact problem somewhere” if only you could find it.
List it so you can see important information ‘at a glance’. Breaking down notes into easily recognizable sections will allow you to see which concepts you have visited. Ideally, you can go back to these and add to them as your depth of understanding grows.
There are many different methods of demonetisation. This blog post goes Seven different methods of demonetisation,
Experiment and find what works best for you.
For me, on top of more detailed notes, I like to keep track of the little bits I learn throughout the day. For example, I’ve seen a coworker use an interesting code snippet in a PR or a new way to write a particular query on the ‘I learned today’ page.
Here are some examples of sections I use to split my notes:
Shortcuts and Commands
For CLI (both that I use ohmizsho and alias’ I made). Helpful for my IDE too.
“Difficult Docker Problems”
For the problems I have come up against and how to solve them.
“Have I tried..”
For general issues I have specific to coding in Python/Django, which I can run through before asking for help.
The resources I’ve used to make technical decisions
For similar problems in the future, I can refer back to it. It’s also extremely helpful if I’m asked why I’ve made a particular design decision.
technical book overview
Consolidate a whole slew of technical information with a few useful summaries, which means you won’t need to re-read the whole thing to find the bits that helped you the most
Things I see myself regularly.
In the beginning, it will be difficult to know what will last and what will not and the things you would like to look back on.
Don’t stress about cutting everything down right away.
But be mindful and aware of trying to limit the number of notes you can take.
One of the things you can do to reduce the saturation of notes is to keep links to the resources you are referencing. This is especially true for documentation, which is likely to change over time, so referring to an updated source of truth can make it less likely to be out of date.
That doesn’t mean don’t take notes at all!
‘Eureka!’ Summarizing the key concepts you understood in the moment will help you fully consolidate how much you understand if you can simplify it into your own words.
Over time, you’ll gain an intuitive feel for what you may or may not want to refer to later.
Not only will you generally have a preferred learning style, but there may be some subjects that you learn better using different formats.
this article Goes into four different ‘types of learners’.
- visual learner
- learner read and write
- kinetic learner
I believe that you are not necessarily the same type of learner for all concepts and types of information.
For example, in most cases, you may find that you are a visual learner. However, after watching a lot of videos, you didn’t fully understand the concept of recycling. Instead, being a reading and writing learner and going through a few different articles, you can understand.
Take the time to explore alternative learning styles, especially on material you are struggling to integrate.
There are many benefits to learning in a group. I want to shed light on a few, as well as some of the ways that you can be part of group learning.
As a neurodivergent, I struggle a lot with time management and procrastination. Group learning may mean having other people to help me stay focused on the topic. It’s easy to get distracted. Surrounding myself with other motivated people can mean that I am more likely to make good progress in tasks and assignments.
gain a more holistic understanding
Everyone can have their own point of view on a topic, which is great for group learning. It brings different angles and ideas to the table and strengthens the creative and analytical thinking,
learn from peers
Group learning will also provide a safe space to talk about certain topics and practice teaching.
There are many ways to encourage group learning. Some of my favorites are:
- In a technical book club (Read about how I started one here Which helped me deal with imposter syndrome)
- In a hackathon (there are plenty that are beginner friendly!)
- through pair programming sessions
Engaging in reflections of your self-directed learning is important to ensure that it is consolidated and up-to-date.
At the end of a week and month, I’d like to look back on some of the main things I’ve learned and try to understand where I need to do a little revision or dive deeper.
Some questions you can ask yourself when reviewing:
- How do I know I’ve learned this? (Have I implemented this somewhere? Can I solve a coding kata using this concept/method?)
- Am I flexible in adopting and implementing it? (Can I think of use cases and/or ways that this knowledge could be applied outside the original context it was studied in?)
- Do I believe in explaining this? (Can I break it down in a way that’s easy to understand for someone else?)
- Is there anyone I can ask who is the subject matter expert on this to clarify if my understanding is correct? (Who can I ask for feedback?)
start that project. Even if it doesn’t go live and is never fully completed, the process is worth it.
A good example is having an asynchronous function, once you understand a technical concept. Take that understanding to the next level by applying it to a real-life project.
If the topic you initially approach is intimidating, you may not need to understand it at first. This is usually a sign that you may want to go back to a more basic topic in order to move on.
As mentioned above, you can note down the topics you didn’t complete in the first place so that you can build up the prerequisite knowledge before going back to it.
These scary topics can be excellent motivations and goals to work on. Don’t be disappointed. You’ve got another opportunity to impress yourself in the future when you get it!
It can be handy when you are learning a new technique to absorb the perspective of the author, curator or creator of the content you are learning from.
This may not be the complete picture.
By actively exploring alternative perspectives, you can find helpful references that increase the richness of your understanding. This can be done in depth in forums, through discussions of various people who are subject matter experts. Or by finding an alternative solution to the same problem.
This will massively help inform your point of view in a more comprehensive way.
Not only will you deepen your understanding of the topic you are studying, but you will also enhance your technical discussion skills. This is important in enabling you to understand and participate in technical debates.
It is not only as an active participant but also as a listener to consider and weigh proposed points from others.
make it fun!
If you want to maximize your study opportunities, add fun.
Share what you are learning in a blog, video or some other way. This is not only an opportunity to help others, but again you may find that you need to develop your understanding to further simplify or adapt your explanation.
On that note, have you found other methods that work particularly well for you? Please let me know and share them in the comments!
#Ways #Accelerate #SelfDirected #Learning #Software #Engineer #Jesse #Auguste #August