Jeff Barr's Blog

Things I Like..


One of the standard pieces of advice given to new developers is to RTFM, or Read the Fine Manual. This is great advice, even when it is given in an insulting way.

I would like to give out another piece of advice: RRTFM, or Re-Read the Fine Manual. I sometimes (every year or two for each technology) go back and scan the manuals or the online help for the tools that I use. I found some great MySQL functions in PHP that I had missed the first time around, when I was learning PHP and MySQL more or less simultaneously. There’s always another EMACS key combination to learn. I’ve been using EMACS since about 1982, and I can still learn something by a quick scan of the docs.

As you RRTFM, you will find that the things which seemed too complicated or too esoteric the first time around are now just the things that you need in order to advance to the next step. I’m not a big fan of the “get to a minimal level of competency and stay there strategy”; as far as I am concerned there is always a better way, and I’d be better off knowing it than not knowing it.

This philosophy of revisiting docs from time to time also applies to technologies. Way back in the early 1980′s, when I studied relational databases it was seemingly all about math, and the properties of the various normal forms, and heavyweight books from Date and Codd. It wasn’t, frankly, all that exciting to me to write some simple SQL statements, run a batch mode program through Wylbur and get some answers an hour or more later. Until I started to use MySQL and could do selects and joins in real time, I can honestly say that I didn’t really grasp the entire relational model. In my first 15 minutes at the MySQL command line all of what I had learned 20 years before suddenly made sense — once I could experiment with it in real time, everything became clear. On the down side, I spent nearly 20 years of my career ignoring this fundamentally important technology.

So, I have two recomendations for you, dear reader: First, go back and re-read the documentation for your tools and technologies from time to time. Second, go back to the tools and technologies that you may have ignored in the past and see if they have gotten any better.