After working on numerous projects, with a bit less of actual theoretical knowledge how will make your way from being a good programmer, to a great one?
The first thing to think about is most "great" programmers wouldn't call themselves so, they always feel like they can get better.<p>I feel that I'm good but nowhere near great, I have a comfortable job in a Sydney based startup and the times where I make the biggest leaps in skill is while I'm chatting to more senior devs in our office. They always have something to talk about and give me something to strive towards.<p>Hope that helps, if even in the slightest.