in reply to Taking care of your tools
Testing is another tool you should be using more than you already do. Your test suite is your preventative maintenance. This is what keeps you from screwing up. A friend of mine helped me change my brake pads recently. When we took the tire off to get to the pads, he put it right under the car. When I asked him why, he countered with "Is it cheaper to get a new rim or a new axle?" That's a test case for mechanics.
CPAN is another tool. Recently, someone like japhy wrote a module to fulfill a request (Techniques On Saving Memory). Turns out that not one, but two modules were already on CPAN that did what japhy wrote (though the APIs for each were different). Granted, it was only 30 minutes and japhy probably enjoyed them. But, what if you write your own connection to a database (DBI) or templating module (Template) or web application framework (CGI::Application)? That's not 30 minutes. In some cases, that's 30 weeks and you still won't get it right. And you have to maintain it on your employer's dime.
Keeping with the CPAN idea - learn how to use the modules you do use. Did you know that you can pass in a reference to a subroutine as a <TMPL_VAR> to HTML::Template and it will behave as a callback, even within a <TMPL_LOOP>? That was a feature someone was asking for recently and was considering junking H::T because "it wasn't there". Yet, it was there (just documented in a confusing way). That's huge!
Being right, does not endow the right to be rude; politeness costs nothing.
Being unknowing, is not the same as being stupid.
Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.
|
---|