I recently attempted a LeetCode Contest but I could not solve a problem. The reason I could not solve the problem is that even though I knew it was similar to a problem I had worked on previously, I did not know how to solve that previous problem.
Algorithmic problems are based on pattern recognition but that pattern recognition isn’t helpful if too much time has passed.
To increase my retention I am using this schedule https://www.quora.com/Whats-the-best-spaced-repetition-schedule. It is the Fibonacci numbers. I am using Gmail’s ability to snooze emails to the future to practice algorithmic problems that are helpful in solving many other problems.
This is the 2nd Habit of the 7 Habits of Highly Effective People.
I have learned that it is also a habit of highly effective developers. Before starting work it is best to get a very clear picture of what done looks like. This is done by gathering requirements and ideally getting it in writing before starting development.
The results of this is avoiding doing unnecessary work, incorrect work, or work that should not be done at all.
To learn Python for data structures and algorithm interviews (assuming you’re already strong in another language): How I Learned Python in Just 10 Days
To learn by building projects: How to Learn Python Tutorial
To learn by solving problems: Teach Python 3 and web design with 200+ exercises
Here are 2 great resources for learning the answer to this question:
What happens when you click on a URL in your browser
What happens when you type an URL in the browser and press enter?
The way I learned this was by paraphrasing each sentence and visualizing the actions happening. I also use the GMail snooze feature to first review this every day, then every 3 days, then every week, and now it will probably be every quarter.
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