Mixing It Up Boosts Learning

I recently read this article: The Interleaving Effect: Mixing It Up Boosts Learning.

A few interesting points were made:

Blocking involves practicing one skill at a time before the next (for example, “skill A” before “skill B” and so on, forming the pattern “AAABBBCCC”), in interleaving one mixes, or interleaves, practice on several related skills together (forming for example the pattern “ABCABCABC”).

Overall, the interleaving effect can be strong, stable, and long-lasting.

I am currently learning from Pluralsight courses. I think interleaving works nicely with Pluralsight because the modules are around 30-60 minutes, which can fit into a Pomodoro because I play the videos at 2x speed.

I also feel like I have more fun because I can take several courses at once and finish a module from each course every day. Plus I get the variety of many different subjects, and the repetition when the courses overlap.

 

Great advice from a top competitive programmer

I read this interview with competitive programmer Ahmed AlyWhy Renowned Googler Ahmed Aly Chose HackerRank and what really stood out to me was his advice:

Ahmed, what advice do you have for people who want to become great programmers like you?

Don’t try to solve harder problems unless you are really good at solving the easier ones. That means solve a lot of really easy problems (that could be hundreds), that will improve your coding skills, which should be the easiest skill to gain. Then go to little bit harder problems, and so on.

Learning from Pluralsight

In December I wrote about growing my coding abilities by reading.

Well I have found something even better and more enjoyable for me: learning from Pluralsight.

I am especially inspired by the growth shown by Kevin O’Shaughnessy who completed over 400 Pluralsight courses!

I feel like solving code challenges plus learning and building with Pluralsight will really accelerate my growth as a software engineer.

You can get 3 free months of Pluralsight  by signing up for the free Visual Studio Dev Essentials.

On gaining coding experience…

I think life and coding comes oftentimes comes down to my simple formula:

  • Try
  • Fail
  • Learn
  • Improve
  • Repeat

So does this mean that the working developer has gone through more trial and error than the aspiring developer, that the senior developer has gained more experience and learned from them than the junior developer?

Also how much experience can be gained indirectly vs. must be gained directly?

I don’t know the answer to any of these questions so I just focus on 2 things with coding–right action and fun:

  1. Doing the right actions that bring me closer to my goals, that improve my coding knowledge and skills
  2. Having fun as much as I can with my coding journey 🙂

I will never “arrive” as a coder, so I can only enjoy programming as much as possible and as often as possible. So far so good 🙂

On reading…

I have actually only read a few coding books, most notably a few of the awesome Head First books, the detailed Rails Tutorial, and a couple of books on data structures and algorithms.

After a couple of articles on how beneficial reading can be to my growth and career, I have decided to start reading coding books regularly.

In no particular order, here is a list of books I want to get through. There is no guarantee that I will get through these, and this list will shrink, expand, and change, but I think this will keep me busy for awhile…

 

 

Data structures and algorithms practice resources II

Here are some additional resources for data structures and algorithms practice:

  • Firecode.io I have only used this for a few days but it is amazing! It has a very user-friendly interface and it is also designed to provide spaced-repetition of problems to enhance learning and memorization.
  • Pramp was introduced to me by Infinitely Finite and is also highly recommended in Mohsin Ali’s guide. Pramp provides free interview practice with other developers. Pramp has helped me improve at solving problems, explaining my thinking process, and teaching and helping others improve their algorithmic coding.
  • Geeks for Geeks Practice is great because problems can be sorted by company, topic, and difficulty. There are countless problems and there are plenty of explanations as well. I have fun solving problems here and improving my ranking 🙂
  • Tushar Roy‘s video explanations are very organized and easy to understand. He breaks down concepts step-by-step and also draws out every step, and then shows how to implement the concepts as code.
  • Hacker Rank has problems from Cracking the Coding Interview along with superb video explanations by author Gayle Laakmann Mcdowell.
  • A2 Online Judge has an endless supply of practice problems organized by category.