Developer Development

jonasbn on 2007-04-20T08:25:26

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.


You have to live as a programmer.

jk2addict on 2007-04-20T16:58:35

At least some of us do. Out of 11 people at work, I'm the official geek. Not because I watch BSG and know what 42 really means...but because I have my own servers, host my own crap, program for another 4 hours most nights. Programming is my life, not my job...and that's how I'm almost always ahead of the curve because...well, I'm a loser like that. ;-)

I found over the years, it's the same way with most things, even music. I played drums for 14 years and was pretty damn good (I blame drum corps). You can always tell the good/great drummers from the average drummer. Why? Because the great drummers are always playing... not just playing on the drums, but with they're fingers..on everything...all the time. Why? Because the music is in their head like a sickness. It never stops. My poor cube neighbor probably hates me because when I'm not typing, my fingers and feet are drumming away after all these years.

It's really hard to develop developers if they're not totally into it, but it can be done I bet. I guess that's the essence of "work at what you like to do, not what you have to to survive when possible".

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 :)