Take the 2-minute tour ×

I am a junior developer at my second working experience, the first one using PHP with WordPress and currently on Groovy on Grails. I like coding, I attend meetup to discuss technology etc but I still did not understand how to become a real professional with the "know how" attitude.

I read Clean Coder, the author advises to spend 20 hours per week of my spare time to learn new technologies and to keep myself up to date. I do not find this realistic, if you want to have a bit of a social life, and I also noticed that learning at work, at least in the places where I worked, is not ideal. No support from seniors for new projects, no pair programming and code reviews, no company trainings, one hour a week tech meetings where seniors walk away after a bit because they already know the topic discussed and so on. Sometimes is quite hard to keep the motivation...

My questions are:

  1. Is our industry supposed to be like this? Is there real team working in the sense of sharing knowledge and help juniors to get up to speed?

  2. Are we supposed to learn new technologies or technology features just in our spare time?Clean Coder says football players do not train during official matches and our working hours are like official matches, we should just perform and learn in other moments. Is it really like this?

  3. How can I improve my skills with no support? Is it enough to read books and try out the exercises and perhaps some katas? In almost 5 month of Groovy on Grails experience at work, I have never had the opportunity to create anything from scratch, just worked on existing issues where it was even really difficult to get the domain knowledge from senior devs.

share|improve this question
Social life? What's that? –  Yannis Rizos Nov 3 '13 at 16:25
Re 2, football players aren't paid per match and training certainly isn't something they only do in their spare time. –  dan_waterworth Nov 3 '13 at 16:41
add comment

closed as off-topic by gnat, GlenH7, MichaelT, Kilian Foth, Robert Harvey Nov 6 '13 at 0:16



1 Answer


Most places have some help for all programmers, juniors especially. Places that do not have even informal training are sweatshop sort of places that don't care if you advance or even do things well... just if you create billable hours.


Not just in your spare time, but yes - good programmers spend their spare time learning new things.

Your workplace might provide time and training to advance in skills directly applicable to your job (learning C# 4.0 if you're using 3.5 in production). They'll rarely provide training on new things. If you think you'll spend your entire ~40 year career in one technology track, I pity you.

How can I improve my skills with no support?


I cannot say it strongly enough, the only way you improve at programming is to program. Make something from scratch. See how it sucks. Make another one that sucks less. Repeat, repeat, repeat.

And the key thing to note is that no employer will provide you with the opportunity to iterate and experiment so freely on creating programs. 20 hours a week might be optimistic, but you'll need to spend some personal time to be a good programmer.

share|improve this answer
add comment
