Saturday, August 18, 2007

Mandatory Reading

These are the blogs and articles that have shaped my thinking as a software engineer, and helped influence my professional values and attitudes. I think they should be compulsory reading for any neophyte hackers to get a solid grounding in the Tao of hacking...

MS Junkies will notice that this list is heavily biased towards all things *nix. this is not an accident and I don't apologise.

#1 - Joel on Software
the original. I was reading joel when i was still at uni. it took me a *long* time to get through his archive, but i finally did it, and it worth it. You should too. This gives you solid software design plus insight into some of the ways software companies (should) work, and treat their geeks.

#2 - Rands in Repose
ditto, but less on the engineering side, and more on the management side. lots of good stuff here that will serve you in good stead if you work for a bunch of soulless suits.

#3 - The Art of Unix Programming
Years before XP had a name, unix hackers were already doing it. may need to filter some of the rhetoric but.

#4 - The cathedral & the bazaar
ditto.

#5 - How to ask questions the smart way
this should actually be higher in the list. If you ever want to post a question on a forum or a mailing list, then you *need* to read this, in detail. then apply it. or be prepared to get STFW & RTFM'd.

#6 - How to become a Hacker
This is your pathway to technical development. I'm not talking about keeping up with maven, or spring, or GRails or the latest fad. I mean the solid things that will make you a fundamentally better programmer, regardless of your toolset. coming back to this after a few years I can recognise it's fundamental truth. you need to learn a few different languages, so that you can appreciate the essence of solving a problem abstracted from the details of your particular language or tool. At the very least you'll learn how to learn, which will help when Java & .Net get made obsolete by the Next Big Thing, and we all have to learn how to write code in FORTRAN 3000.
Interesting sidebar here, I read a while back that all modern programming languages were slowly evolving to become more like lisp. at the time I mocked this, but slowly I'm seeing it be more and more true. Compare Java to Ruby, then compare both to lisp, and the progression is obvious.

#7 - Positive Sharing
And after all that hardcore techo stuff, finally be happy & passionate about what you do, otherwise everything else is just chasing after the wind. The signal-to-noise on this one is a bit higher than the average, but if you start at the popular posts and work out, then you'll do well.



ps - Rootless Root and the Tao of Programming, it's just fun!

No comments: