A couple of years ago, I hinted to a friend that I would give programming a try, after a career as a business and IT consultant. I remember my friend encouraged me but with a hint to keep it simple: Learn by doing, don’t make it complicated.
I wish I could have followed his advice from the start. That would have saved me 2 years.
In 2021, I decided to learn to code and paid for my first online course. It would take me 4 months to complete. Fast forward 6 months to the end of 2021, and I had only completed 2 out of 5 projects. I doubted myself and my abilities to learn and felt stupid.
I fell into the analysis paralysis state and lost the joy of learning to code.
But I never gave up.
I learned that I approached it the wrong way.
Start to ship small projects
If you don't learn by doing, you will become distracted like I did.
Coding is a skill that requires continuous practice. To make it valuable, we need small wins and finished projects. If we are derailed from the daily practice and spend time over-reading and over-planning, we waste valuable time without having anything to show.
No projects on Github, nothing to showcase, and most importantly, nothing to be proud of.
We will go through 4 steps to move from being a distracted learner to becoming a focused builder in your learn-to-code journey.
1. Define what success looks like (for you)
Stating your success criteria will enhance your motivation to keep going. Without a clear vision you will end up chasing other people's metrics.
Keep it small, simple, and achievable:
Build a web page
Read and summarize a key chapter of a programming book
Complete coding challenges on Hackerrank
2. Setup a (weekly) project with daily goals
Without a clear, time-framed goal, your accountability will be hurt.
Split your project it into daily tasks
Morning check-in: what will I accomplish today?
Check out and ask yourself: what went well and what can I do differently tomorrow?
Ensure you have daily tasks identified that you can complete within a day.
3. Capture gaps and reflect
If you are unaware of your weaknesses, you will never progress.
Identify the knowledge gaps and where you need to spend more focus
Write them down in your preferred note-taking system
Identify actions for how to fill them
4. Take action and iterate
If you don't approach your next day with a plan, you will react to others' plans and agendas.
Do the work required to fill the knowledge gaps
Note down the learnings/summaries of those actions
Go back and apply the learnings to your project
Don't worry about what you don't know, and stop chasing fancy certificates and start building real projects.
It has been 4 months since I started my journey in code and I found this very useful. Thank you.