How do you develop/evolve as a programmer?
The 'Practical Programmer' states learn a new language a year.
I buy books, I go to local Perl Mongers meetings, I attend the local Perl Workshop and YAPC::Europe. Most important of all I program all I can, CPAN modules, client projects and own products/projects.
But still I feel that I am developing too slow, I am often relying on the same technologies as I always do, I am working within the same sphere of web development.
I had a friend in high-school who was a promising jazz guitarist, he talked to a professional saxophone player, this guy just asked him how many hours he practiced everyday, because if he wanted to turn pro he should play at least 8 hours a day.
So if you want to improve as a programmer you have to work as a programmer I guess, but practising as a programmer, what is that?
As a programmer this can be quite difficult, we do not just pick some standards and start jamming away (I do not know what jazz musicians do, I used to be a drummer in a alternative pop-rock band). I think we need problems (see also: this entry).
So how do we get exposed to problems? - Learning Perl is one of the best Perl books I have read and it holds exercises, or problems, which needed to be solved.
If we go back to the jazz and the standards, we could say that some standard exist in programming, I have implemented various sorting algorithms in several languages, just for the practice.
So where do we find problems? and is this the way to develop as a developer or are there other/better ways?
I think that working in the same problem sphere as I do, makes it hard to see that you actually develop, but at the same time I cannot afford to experiment too much, when doing projects, since I often have clients expecting something to be delivered within a certain timeframe and often you are hired to do the job exactly because you are in the sphere.
Re:You have to live as a programmer.
jonasbn on 2007-04-21T06:02:08
I am not I completely understand what you mean by living as a programmer. I understand the drummer comparison, having played the "drums" myself - and I still do.
I read living as a programmer, as loving what you do as a programmer and yes I do that - but programming many hours is not possible for me, due to two constraints.
I think I have an upper limit of how many hours I can program each week. I can stretch it, not continuously though. This limit is around 30 hours. If I became a faster and better programmer these hours would of course be more effective, so this is what I aim for. Improving my skills so my programmings hours are more efficient and more productive.
Another constraint is my two boys of age 0 and 2 demanding attention, I am looking so much forward to the day when they can start to use computers - more effectively:)