Re: Programming as Craft, dbucklin (CS), 11/14/2019
------------------------------------------------------------
dbucklin recently posted on programming as a craft[1].
Before I get to why the post meant something to me, and
what it meant, I'll share a few bits:

"To me, though, creating these programs is a method of
self-expression. Text-manipulation  utilities are my
tools and text, sometimes code, sometimes prose, is my
medium.

"Words like 'self-expression,' 'tools,' and 'medium' for
me evoke images of an artisan pulling and shaping clay into
pottery, a carpenter carving wood into furniture, or a
jeweler working and finishing metal and stone. The act of
making something through the application of skill and care
is *craft*."

"If  I  wanted to make my own clothes, I wouldn't try to
mimic those that produce clothing at an industrial scale.
There's a long history of people making their own clothes
resulting in a rich body of tradition and literature. There
is no long history of domestic computer science that
focuses on application of the skill by the individual for
their own benefit."

And a few phrases:

"the needs of industry"

"slow code movement"

"connects me to a tradition"

For my part- and some of you may have encountered this
language in talking to me or reading my posts- I've long
asserted that "I am not a programmer". But I've asserted it
with reservation, because I really do enjoy programming.
dbucklin drew the distinction that I was missing:
programming as a craft vs. programming for industry.

I've programmed for industry in the past. Since I've done
very little, I'll share the projects that I rememeber:

- A Windows print driver written in C, designed to interact
 on the main port (usb/parallel) but also on a serial port
 to the same device.
- A simple CRM software written in Perl, for a small company
 I was working for in customer service who was doing things
 on paper before I got there (seriously, write a note and
 take it to shipping for a back-order??).
- A small application in VisualBasic for printing certain
 types of labels easily.
- A few small apps in VisualBasic for programming RFID tags.
- Lots and lots of PHP for various web-based applications
 (it paid decent, and I'm not a purist, nor am I too
 proud).

And that's about it. These things were done for a paycheck,
with a focus on suiting the needs of the client. I barely
dipped my toes into the industry of programming. To be
honest, I didn't really enjoy it.

When it comes to craft, that goes back to my earliest days
with computers. BASIC was what drew me into computers in the
first place. I've told the story, I'm sure, but I'll
summarize it: a friend showed me a game they wrote in
qbasic. It was a video game that he made himself! I was
super excited to be able to customize a video game, so I
asked for the source. Not wanting to hand it over, but not
wanting to be a jerk I suppose, he printed the source code
up on tractor-fed paper. Just as he was about to hand it to
me, I think he saw that I was just a little too excited, so
he tore off the top half-page and told me I'd have to figure
that part out for myself. Having to type that whole thing in
(it was horribly programmed), and having to figure out part
on my own, was what introduced me to programming.

From there I've dabbled in as many programming languages as
I could reasonably manage. I love finding them, old and new,
setting things up, and working with them. I'm fond of
simplicity. I'm fond of scripting and interpreted languages.
The adventure never stops, with new languages presenting
themselves on a regular basis. Some I do very little with
(sorry "R"), others I adopt and use more than is reasonable.
But throughout all of this, I'm having fun.

Now, I'm not sure I'd go so far as to call myself an artist.
I'm not a programmer. But I can certainly get on board with
viewing myself as "crafty" when it comes to programming.
More important that terms and distinctions within
craftiness, to me, is the understanding that I *am* a
programmer in a certain sense, in the more wonderful sense.
I appreciate learning that from dbucklin's post.

If you're a programmer in the industry sense, or perhaps in
both senses, that is great, and wonderful, and I wish you
the best in luck and experiences. If you're like me, simply
crafty to some degree, I hereby send you a virtual
high-five. Life is good.

[1] gopher://sdf.org:70/0/users/dbucklin/posts/craft.txt