What are “smart codes” ?

Once upon a time, not long ago, I worked for a certain manager at a company we shall not name here who was responsible for about 1 GB (980 MB really) of ColdFusion code for a legacy portal he was rather proud of.

The problem with all this code, since I was responsible for maintaining it, is that it was not at-all well maintained and so it should not have been a surprise that this portal system ceased working one day well before I had done anything to it.

After some examination as to why this code ceased working it became clear that none of the SQL Queries referenced fully qualified table names which means so long as this portal logged into SQL Server using a certain user name this portal work work otherwise it would not work.  I fixed this portal by recoding all those SQL Queries so they reference fully qualified table names.  Since there was 980 MB of code this task took about 3 days to complete the task of getting this portal back online.

This particular manager believed there was no need to write any “smart codes”; we do not need “smart” codes he used to tell me.  This is all fine and well but if you believe there is no need to write any “smart codes” and your prized portal that uses no “smart codes” fails because it has malformed SQL Statements then what could one say about the rest of that 980 MB of code ?!?

Those who cannot allow “smart codes” are far more likely to make some really bad decisions while directing those development efforts for which they have direct control than those who not only know how to write “smart codes” but would not have any problem doing so.

How “smart” can it be to think smart codes are a bad idea ?   Not too smart at-all !  It would be by-far smarter to allow those smart codes to be written so long as the result is the software continues to work even when the software is not exactly being used as it was originally designed to be used.

Sometimes certain managers can feel intimidated by those who know their craft so well that “smart codes” can be written but what this manager was really saying is that he felt so uncomfortable with the software development craft that he had to insist on codes he could easily understand with his limited understanding and this is nothing less than very sad and all effed-up to put it mildly.  Why this manager ever felt the need to get out of bed in the morning is completely beyond my understanding.  Why not let those who feel they can handle “smart codes” do so ?!?   Why not ?!?

I hire professionals all the time myself – let’s call them doctors and lawyers… I let the professionals I hire to do their work because I surely cannot do their jobs for them – I do not understand medicine as well as any of the doctors I have ever used over the years and they all knew more about medicine that I ever will, even though I try to be an informed patient.  Do I spend my time telling them not to use “smart” medicine ?!?  NO !  I want them using all the smart medicine they know so I have continue to enjoy good health in spite of myself and my own efforts to do the contrary, it seems.  Same thing goes for the Lawyers I have hired with some caveats – Lawyers are supposed to be sharks and one should always watch ones fingers when working with sharks.

If you cannot understand what your software engineers are doing then watch the end-result of the code they are working with but don’t tell them how to write their code – and make sure to hire only those you can trust – this is always good advice.

Advertisements
%d bloggers like this: