I recently came across a very interesting article by a gentleman called Mikhail Selivanov describing a number of problems young developers struggle with.
Even if you're an experienced developer you might find it interesting. Us pros we tend to forget what mistakes can be made. Going through them helps us understand our young colleagues better.
Have a nice day!