I started learning from these awesome resources. They were free because of my local library 🙂
With Lynda (now called LinkedIn Learning) I only took one course on Object Oriented Design and it was very clear and concise.
I am impressed with Team Tree House because it is interactive like Codecademy and in depth as well. They also teach how to use documentation and have small projects along the way.
Check out your local library and see if you can get these resources for free 🙂
Here is a great post on meditation to improve as a coder: Meditation will make you a better programmer: Here’s how.
I especially second the recommendation to use the free Insight Timer App.
App Academy’s Ruby on Rails and React Boot Camp is now free! Here is a news article and here is the link to the free boot camp
I recently watched Mission: Impossible – Fallout.
I benefited from watching this movie because Tom Cruise’s character Ethan Hunt would say in impossible situations, “I’ll figure it out!”
When asked what he would do next, Hunt would respond, “I’ll figure it out!”
I have embraced this attitude, which is basically the problem solving mentality. This attitude has helped me have more fun, be more confident, and gain greater competence and skills.
How will I improve even more? I’ll figure it out 🙂
Focus and Deep Work : This great article summarizes Cal Newport’s Deep Work lessons as well as teaches how to apply the Pomodoro Technique to level up one’s skills
Here is a great article that reminds me to make sure my short term actions align with my long term goals: Setting Priorities
Here are the steps I have been using to learn new algorithms, which is basically the same strategy as this.
- Pick a problem that shows up frequently in interviews from LeetCode
- Attempt to solve it
- After being stuck for too long, learn the ideal solution by doing the following steps
- Watch videos, i.e. Tushar Roy, Geeks for Geeks
- Read solutions from LeetCode especially the highest voted solutions
- Pick a solution and type it out. Add comments, change the variable names to names that are meaningful to me
- Attempt to solve this problem every day. What this really means is type out the solution every day until I either have it memorized and/or understand it so well that I don’t need to have it memorized, or some combination. Typing the code out every day is great because I am gaining exposure to the code feeling (typing), seeing, and hearing. I think this multi-sensory exposure also gets the information to my subconscious mind so it can spot patterns.
Doing this is key for certain common algorithms such as level-order traversal, iterative in pre and post order binary tree traversals, and also for understanding how to use recursion with base cases and recursive cases.