in reply to (OT) Programming as a craft

All of this discussion has me a bit confused.

Since I did not pursue a career in 'computer science' or 'computer engineering', I am uncertain as to what people mean when they say programmer vs. engineer.

To that end, I will say 'programming', but I could mean 'software engineering' depending on what the definitions you apply to these words.

Since I am a scientist, there have been many a discussions with fellow workers about the differences between scientific vs engineering practices, what kind of people choose which, does it affect the way they approach problems, etc. And yes, I do believe there is a difference.

However, when it comes to writing software, designing software, designing systems, etc., I personally have not noticed a difference in approach/style based on one's academic background.

aside... I tend to debug in a fashion that is totally alien to my fellow workers... they think I'm weird. Too bad. I'm good!

When I argue/discuss 'best software practices' with my managers, I often insist that good programmers are artistic, and they typically love what they do. If you try to push the artistic nature into 'one method for everybody' you will lose the effectiveness of some, while possibly increasing the effectiviness of others. I'm curious, am I completely off the mark? Do you see yourselfs as artistic when you code?

I think the way we code is personal, and is indicative of our personality and thought processes, as much as it is the necessity of the job requirements.

To this end, I believe programming is a craft, mixed with an engineering approach (the guy who built my sun-deck had to know how to support it so it wouldn't fall down, as well as make it look nice), possibly a little bit of scientific thought processing.

I also think that the variety of programming styles compliment each other, depending on the nature of the work required. For example, sometimes I need someone to tell me to stop insisting that I must know all that there is to know, and just write the d*** thing!. By the same token, sometimes I get to tell that other person that s/he wouldn't have made that mistake if they understood all that there was to know.

I truly believe that the 'outside' world does not understand programming, or why we get such a kick out of it.

So, if someone wants to call me a craftsman, I'll take it as a compliment, if they call me unskilled, I'm gonna kick them in the shins!

Replies are listed 'Best First'.
Re: Re: (OT) Programming as a craft
by revdiablo (Prior) on Dec 18, 2003 at 00:24 UTC
    I'm curious, am I completely off the mark? Do you see yourselfs as artistic when you code?

    Yes, absolutely. That's precisely the reason I consider myself a craftsman (if I may say so myself). As someone else said in an earlier post, crafts are something of a mixture between science and art. I think this is true, and what you say reinforces it in my mind.

    The point you bring up is interesting, though. I suppose the choice between being primarily a "craftsman" and an "engineer" is entirely personal. I guess it's obvious and true, but just something I hadn't really put any thought towards.

    I truly believe that the 'outside' world does not understand programming, or why we get such a kick out of it.

    I agree. This is something I had in mind while writing my original post, but I'm not sure it came across quite like I wanted. This is, I think, a common factor of most crafts -- people on the outside see a programmer, or a carpenter, or a mason, but do not necessarily think of all the differences between different programmers, carpenters, and masons. This is the thought that caused me to post in the first place.