LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (August 2004, week 1)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Fri, 6 Aug 2004 08:03:20 -0700
Reply-To:   RolandRB <rolandberry@HOTMAIL.COM>
Sender:   "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:   RolandRB <rolandberry@HOTMAIL.COM>
Organization:   http://groups.google.com
Subject:   Re: what training do you want as a newbie SAS programmer?
Content-Type:   text/plain; charset=ISO-8859-1

ben.powell@CLA.CO.UK wrote in message news:<200408060831.i768VsH01080@listserv.cc.uga.edu>... > Unforunately the craftsman is often the first casualty of increased volume > of production, in this case of programming. Roll it out to not thousands > but millions of programmers and some mechanisation is required. Here you > have to acknowledge the role of the software: each new function and > procedure effectively cuts out a bit of the need for the craftsman, so that > there is less need to constantly reinvent the wheel. I'm being devil's > advocate to an extent but you know what I mean...

I don't think I do kno what you mean. New functions and procedures do not themselves write code. They are merely tools. A person uses those tools to write code and the quality of what they write depends on how well they know those tools and their knowledge how and when to (and when not to) use them. If you are equating craftsmanship with functionality then you are confirming what I feel is the main thing lacking in the SAS programming field, which is craftmanship. I think that many a hiring manager thinks like you do, so you are not alone. And it is nobody's fault either. To give an example, a "piano player" to me is not just somebody who knows how to push down keys and pedals. And if the piano has an extra middle pedal then I would not consider it a partial replacement of craftmanship. A "piano player", to me, is somebody who can create pleasing tunes and has a repertoire of tunes and can perhaps even extemporise music. A craftsman that *uses* a piano to create their art.

To me, a programmer is a "good" programmer only if they are a craftsman. And to be a craftsman in the area of programming I would expect to see an elegance of style shining through their work. And that work will entail not only the code they write but would also cover their documentation standards and methods such as writing code in a re-usable way.

In the good old days when I was a Cobol programmer (nearly 20 years ago) this was widely recognised and your boss would be a craftsman to some degree and they would try to tutor you to pass on this idea of writing "good" code and developing good systems (if they were creating systems). I don't think it has existed much in the field of SAS programming. When I entered SAS programming I was already a highly competent Cobol programmer with a strong sense of this code craftmenship and I carried it on in SAS. I was lucky to have a very experienced ex-member of the SAS Institute as a macro writer in the team and he seemed to have the same ideas of craftmanship in writing macros. So I tried, and succeeded in absorbing all I could from him about writing macros before I went on to develop my own style. And this relentless push to develop my "art" as a craftsman has got me somewhere. To elaborate, I have just finished writing a Clinical Reporting system that, IMO, is very elegant and powerful and yet extremely simple. It is an old-fashioned text-only output reporting system but it is switchable with ease to create output in any company style with different paper sizes and margins. The other programmers easily fell into using the new system, such was its simplicity, and because it is so simple the documentation and time required to train into it is minimal. I wrote *all* the macros and *all* the shell scripts to do this on my own. I have created something of great power in its simplicity (and even beauty, in my humble opinion, but then I *am* a craftsman so I think like that) and done it all by myself. Is there any other SAS programmer alive who could do this all by themselves and do an extremely good job? I doubt it. But I could be wrong and there could be others who could do the same........

.....but I bet those people would be craftsmen too.


Back to: Top of message | Previous page | Main SAS-L page