Introduction
In the past, did not talk about how you should approach it. Here is what I had learned in accelerating your own learning.
This is my own learning preference, I understand that are different types of learning styles. Therefore, I encourage you as the reader to seek out the best way.
Learn By Doing Real-World Projects
This is recommended by one of my fellow co-mentor when I was in JuniorDev SG mentoring program as a mentor.
Which I wholeheartedly agree with this as one of the best ways for anyone is to learn. Through the school of hard knocks by doing the real thing in the actual environment.
Which there are times when you are forced to think on the spot. To get things done, by being resourceful or seek information or advice by Googling or asking a person for help.
For me, the next best thing is through simulation of the actual environment that could be in the form of wargame.
Which is why going for CodeKata reinforces learning concepts in habits, thinking processes and reflecting through one's own failure.
Sure everyone dreads the feeling of making mistakes or failures due to our own education system that prefers not making mistakes.
As a developer, your job is to make mistakes and learn from them. To find ways that work that is maintainable and make sense to use.
Like for example, you should never deploy anything to a production server on Friday afternoon.
Looking at the Code & Documentation
I found that reading another person's codebase and documentation helps a lot to understand to write better pieces of code.
Which is why regardless of your team size, enforcing style guides and linter in your text editor or IDE is a must. For both maintainability and readability of the codebase.
Regardless of your view in Test Driven Development (TDD) and Clean Code. Since for me, it's just basic courtesy and sanity for anyone who will be touching your codebase in the future, including your future self.
One of the best ways to learn about coding is diving into open source projects and reading their codebase to understand their thinking process and how a feature is implemented.
This provides you insight on how packages, plugin or add-on work in real life. If they had lack of documentation or it is hard to decipher.
Teaching by Documenting Your Journey
Gary Vee gave tons of advice on content creation. I read his book called Crushing It. Where he drills deep on producing quantity over quality content.
Which is the case for me as well, since by adopting the mindset of documenting and adding value for someone through the content you had created. The person might stumble across it through a Google search on a specific problem or social networking or media platform like Youtube, Dev.To & Medium.
By adopting the documenting approach, you won't really care what others will think about it. As long as you create content that is specific for your niche, which in my case was Python, Web Development & Startup.
The other concept that you need to adopt is "trusting the process" by John Sommez. Who is a creator for SimpleProgrammer & Bulldog Mindset sticking to it for 5 years when you are focusing on documenting your journey.
Besides, one of the benefits of doing that for so long is that it allows your potential future employers. To find you by offering you a job or customers who know that you are specialised in your niche to seek advice or help them to build things for them.
Conclusion
I hope it is useful for you who are seeking to accelerate your learning as a developer.
Those are actionable steps that I believe will be useful for anyone who is seeking to learn faster in what you need.
Seek to learn things when you want to operate at a higher level. Not just chasing the dragon in the latest shiny technology that has rolled off the block.
If you like this article sign up for my Adventurer's Newsletter for a weekly update in the area of Python, Startup and Web Development.
You can also follow me to get the latest update of my article on Dev
The original post was on Learning Faster as a Developer - Reading Time: 3 Mins and cover image by Ben White on Unsplash
Reference
- Learning Styles
- Wargame
- CodeKata
- Why You Should Deploy on Friday Afternoon
- Style Guides
- Linter
- Test Driven Development (TDD)
- Clean Code
- Gary Vee
- Crushing It
- John Sommez
- SimpleProgrammer
- Bulldog Mindset
- Chasing the Dragon
- The Learning Pyramid
- Soft Skills Software Developers Life Manual
- How to Become a Software Developer
Top comments (8)
One more thing I would like to add is this hyperlinks of resources in the content! yes, that would be great to give the reader many options and allow them to understand every terminology or word that you are using in your post/document/tutorial. but have you ever considered how confusing would that be? it makes the reader very curious to read about that word first, then you put the reader in an infinite loop going backward and forward till to the end of the document! to me, it's very frustrating! maybe it's just me! what you did at the end of this post would work very better for me! However, this could be a personal opinion and you can ignore this! :D
Adding links for words or terminology comes from me. When I was trained in scientific writing for my thesis and reports back when I was in University.
I do my best to keep it at a minimum level. I think it is better to give my own context as you go along in the article as I don't assume that you will read references.
Which I myself hardly do that for articles I read.
Hi, As a junior Developer I have tried and still trying the third option which is using someone's document to learn something new. Those documents are not essentially a journey story what I am talking about is more tutorials which are written by a senior Developer. What I have noticed in most of them is the lack of prerequisites for that document/tutorial! let's assume I want to learn how to implement an email notification feature for my app! there are plenty of tutorials that can walk me through the steps, very clearly! but not particularly get it to work! when I am reading a new concept as a junior developer, I don't have any idea if that would work for my project or not? it's quite helpful if someone who is writing an instruction to consider who else might be the reader? someone at the beginning level? I need to know for a specific feature what else should be done till that really works? Otherwise, that would be a waste of time! Most of the documents just cover that specific subject nothing further!
It depends on the author as they will assume that you should have a certain level of understanding for the subject when you read it.
Which if it is a high quality article. They might include requirements or installation details to get you started examples like Using Pandas and Python to Explore your Dataset
Personally this could be quite painful for me since I would rather get down to the meat and just add in references that you could seek further materials to understand better.
I have only one word: Awesome!
Thanks for the compliments I'm happy you enjoyed it.
Awesome! Thanks for sharing.
Np I hope you had enjoyed it :)