Sunday Night Journal — January 15, 2012
01/16/2012
Once again I've had a very busy and stressful week, followed by a not-stressful but nevertheless busy weekend, with little time for anything apart from work and family-related doings. I brought this on myself to some extent by having signed up, back in late November, for a 20-hour course in the Java programming language, which took up five hours a day for the entire four days of the first work week after New Year's. When I signed up for it, I wasn't thinking about all the other things I would need to be doing that week. It put me behind on those, and I still haven't caught up. Well, I never actually catch up at work, but sometimes the backlog is greater than at other times.
The class was pretty challenging, but I enjoyed it. It felt good to exercise my brain in very much the same way that it feels good to exercise one's body: though it was psychological rather than physical, there was a similar sense of being stronger for the effort. And it reminded me of why I ever got into this line of work in the first place. I do like programming, and I wish my job consisted of more programming and less politics, less administration, less time supporting users of software that I didn't write and don't fully understand.
The economic crisis of the past few years has brought attention to the number of college graduates who can't get jobs, especially liberal arts grads. But although this situation may have gotten worse since 2008, it's hardly a new development. In the early 1970s I found myself in the same situation, with a BA in English, some work toward an MA, and no prospect of employment beyond retail clerking at minimum wage.
There were some humiliating experiences in the job hunt: being rejected for jobs that required little of the intellectual capacity I'd been demonstrating in grad school, but for which I was nevertheless clearly unsuited for other reasons. I remember especially taking a mechanical aptitude test at the state employment agency, along with a couple of dozen other young men. I doubt any of them had gone past high school, and they certainly could not have written the rather ambitious philosophical-literary essay with which I'd finished Dr. Williamson's course in criticism. But in the mechanical aptitude test, I was the idiot: what the other guys did quickly and correctly I did slowly and badly, or not at all. The experience did serve as a corrective to my pride, but under the circumstances--unemployed and apparently unemployable--it was also a shove toward despair, confirmation of a sense of worthlessness. I did at least recognize the humor in the situation, and that helped alleviate the bitterness.
I knew a few people who were involved in what was then called "data processing." One was a brilliant young mathematician and computer scientist, who had been involved in programming the University (of Alabama)'s computer--these were the days when there was only one on campus--when he was still in high school. He suggested that I give programming a try. I considered such things to be as far beyond me as most mathematics, and it had certainly never entered my mind to consider it as a potential occupation. He advised me to take an introductory course and see what happened.
At some point between receiving that advice and acting upon it, I was talking to a casual acquaintance at the Chukker, a Tuscaloosa establishment which was part bar and part subculture. I mentioned that I was planning to check out the possibility of learning something about computer programming. It turned out that she herself was a programmer, and she encouraged me, with a description of the job that has remained with me for all these years: "It's like going to work every day and having a really interesting puzzle to solve." Well, that sounded promising.
And it wasn't too bad. I found that the basics came fairly easily to me. But I also found quickly enough that I had definite limits. The abstract reaches of computer science were as beyond me as mathematics. What I soon realized was that what I had was an aptitude not for computer science but for precision in language, and a reasonable ability to think logically: I saw the essential task of programming as the expression in very precise and detailed terms of a sequence of operations, and I had a pretty good intuitive grasp of how the hardware worked. This was enough to make me a decent programmer, but not enough to make me a computer scientist, or an engineer, though the degree I eventually struggled through was in computer science, by way of the school of engineering.
I got my first part-time programming job in 1976 or 1977, then another and somewhat more demanding one, and in 1979 took my first full-time job in the information technology business, just in time to allow my wife to give up her job and stay at home with our new baby. And I've been doing that ever since. I count myself lucky to have been able to earn a decent living doing something that I can enjoy at least part of the time.
But the words of my Chukker acquaintance now seem a false promise. For the first few years of my work in the field, her description wasn't too far off, especially when I found a little niche for myself doing a somewhat esoteric type of programming which most people weren't interested in but which was a necessary component of the products developed by the company I worked for. But my niche disappeared with changes in the technology and in the industry. And I soon found that in this line of work you eventually have to choose between remaining in a purely technical role and becoming a manager. I would have preferred the former, but I wasn't good enough, at least not in that company, which was full of extremely bright programmers and engineers. Moreover, the pool of purely technical talent was constantly being replenished with new college grads who were not only very bright but single, or at least childless, energetic, ambitious, and willing to work long hours. I couldn't compete with them in technical ability.
I had absolutely no desire to be a manager or to climb the corporate ladder. I just wanted to do work that was at least sometimes enjoyable and by which I could support my family. But when offered the opportunity of a management position, I took it. I was soon miserable. Perhaps it wouldn't have been so bad if I had been purely a manager, but I also had still some technical responsibilities. Moreover, as a manager, I needed to understand what my seven or eight team members were doing, and the company was now moving into a software technology in which I had no hands-on experience. I couldn't keep up with it all. It was a very unpleasant position to be in, and after several years of it I fled, in 1990, to the job in which I've remained since. It's a bit like the position I left--part management, part technical--but the technical side is less demanding, mostly involving support of existing software. The only programming consists of minor modifications and extensions of it.
The point of this lengthy recounting is that the course I took last week put me very much in mind, again, of what I'd heard in the Chukker back in the mid-1970s, and the disappointment that followed. It made me realize again how enjoyable and satisfying programming can be, and induced a bout of dissatisfaction and frustration with my job: I need to know how Java works, but I won't actually do much coding in it.
Programmers are notoriously introverted, if not anti-social (though I've know a few who were very much the opposite), and I fit the stereotype. When I was first put into a management job an evangelical Christian of my acquaintance assured me with great confidence that God was obviously doing this in order to bring me out of my shell.
Well, it didn't work. If anything it drove me further in, by putting me in a situation where I was always insecure and off balance, in which the beginning of the work day seems the beginning of a brief prison sentence, and its end an escape (as I think is the case for most people in most jobs). It did indeed require that I deal with people more, but it also increased my desire to get away from them. I don't greatly resent this--as I said, I'm thankful to have been able to make a reasonably good living for all these years, and especially so now that so many are unemployed. But as a matter of immediate subjective experience, it is a cross. A light and mild cross, certainly, but not a pleasant experience, and one which keeps me away from the things I really love. In my better moments I accept this without begrudging it, and in my very best moments, which are relatively few, I embrace it, and am thankful for it precisely as a cross.
But that doesn't mean that the hand of God was not in the path my career has taken. Perhaps--one can only guess at these things, and it seems a weakness of evangelicalism to attempt to read the mind of God too closely--the fact that I would not like the change was exactly why it was put before me. I can think of any number of reasons why that makes sense, and they all come down to the necessity of accepting the cross as an intrinsic part of life as a Christian. Evangelicalism often seems not to know exactly what to do with the idea of the cross as a blessing, with the obstacle put in our path not by Satan but by God.
---
I hadn't planned to write more than a few paragraphs on this subject. I had intended to mention several other things, but they can wait.
I haven't done much Java programming. My impression is that it is much like C++, but with less overhead and easier (more automatic) memory management. Memory management is one of those aspects of programming that drives me around the bend, so I am fond of any language that will do it for me. My aversions to coffee and all things coffee-related, however, have prevented my really warming up to Java.
I worked briefly as a full-time programmer. I could not believe how difficult it was, nor how good some people were at it! I cut my teeth on logic-style programming languages (Fortran, C), and I had a lot of trouble making the transition to object-oriented languages (C++). The way one has to think about the problem is so different in the two models. Some people I worked with were virtuosos -- or seemed so to me: multi-threading, callbacks, etc. I was reeling, and it's a good thing I got out of that line of work before it destroyed me.
I can certainly understand what you say about the challenges of a job where you don't know what you are doing. It is no fun at all. I've been in that position, to variable degrees, ever since I finished grad school. I think it would be nice to have a job where I knew how to do it well -- but maybe it would become tedious after a while? I wonder if I will ever find out.
Posted by: Craig | 01/17/2012 at 11:19 AM
I think I could learn to love Java (I already love coffee). The instructor for this class was really good. I've had two or three intros to OOP over the years, but this is the first time it really made sense to me. At first I shared the opinion of a then-coworker, that it was academic comp-sci run amuck. I am definitely a procedural-language guy, but after this course I feel for the first time that I could make the transition if I needed to. And the language is just sooo much cleaner than C++.
I never really warmed up to C for some reason, just as a language, and as for its memory management: I'm convinced that malloc has been responsible for a LOT of o.s. and application flakiness over the past 20 years. The guy who taught this course had spent a while doing process control software in C, which strikes me as a recipe for disaster, because you can't just restart a system that monitors pharmaceutical production (!) every day or so because memory leaks are bringing it down. He said he spent over half his time chasing memory leaks.
The niche I mentioned being happy in was writing device drivers in assembly language in the VAX/VMS environment. I am one of those rare weirdoes who loves to program in a.l., and VAX/VMS was a thing of beauty, unfortunately rendered irrelevant by bad business decisions.
Posted by: Mac | 01/17/2012 at 12:51 PM
I don't deny that object-oriented programming is often a reasonable approach -- in many contexts, it is natural and makes a good deal of sense -- but it is hard! Instead of thinking about the logic of an algorithm, one has to think about these objects, with properties, which respond to stimuli from other objects, and so forth. Debugging an object-oriented program was one of the worst things I have ever had to do.
I've never done any assembly programming, and, to be honest, I don't think I've ever worked with VAX/VMS. (Maybe briefly.) Too bad it disappeared.
Posted by: Craig | 01/17/2012 at 01:04 PM
In other contexts, it's not so natural. It's much more natural, for instance, to think "calculate the gross pay for employee X" than to think "tell employee X to calculate its pay" (!) or "tell payroll Y to calculate itself for employee X". I didn't have much trouble debugging the little toys that we wrote for the class (create a class called Animal, with subclasses Dog, Cat, and Duck, with methods makeSound etc.) but I can imagine for a real project it could be pretty hairy.
The story of VAX/VMS is a classic instance of how the better technology doesn't always win the market. Compared to Intel, the VAX architecture was way cleaner, and compared to Windows, VMS was...well, in the early days there was no comparison. VMS actually lives on in Windows, beginning with NT and continuing through subsequent versions, as one of the chief VMS architects left for Microsoft and was a major contributor to NT.
Posted by: Mac | 01/17/2012 at 01:51 PM
I would think the Dog and Cat would make it pretty hairy.
AMDG
Posted by: Janet | 01/17/2012 at 03:02 PM
I considered making that joke, but was afraid I would be pelted.
Posted by: Mac | 01/17/2012 at 03:20 PM
*groan* Stop it, you two!
Posted by: Craig | 01/17/2012 at 03:25 PM
But maybe it would have been a feather in my cap.
Posted by: Mac | 01/17/2012 at 03:25 PM
Oh come on Craig! When you see one coming, you can just duck.
AMDG
Posted by: Janet | 01/17/2012 at 06:59 PM
When I read posts like this I feel a bit bad, even allowing for the fact that's it's a fallen world and so things are always going to be a bit of a struggle for all of us.
But I really have to wonder why feminism sees "career" as such a freeing thing for women. Just looks to me like a different kind of struggle.
Posted by: Louise | 01/17/2012 at 07:15 PM
I'm very glad you enjoyed your class though, Maclin - that's excellent!
Posted by: Louise | 01/17/2012 at 07:16 PM
I really think that the women that got me into this mess need to be severely dealt with.
AMDG
Posted by: Janet | 01/17/2012 at 07:22 PM
Actually Craig, it's uncharitable in you to groan at us. If we all had your exquisitely light touch, you wouldn't be so funny in comparison.
AMDG
Posted by: Janet | 01/17/2012 at 07:42 PM
Well, thanks for that, Janet. Not many people think that I am funny. I suppose you have to be barking mad...
Posted by: Craig | 01/17/2012 at 07:49 PM
And Janet isn't being catty.
Posted by: Mac | 01/17/2012 at 08:23 PM
Well, Craig, sometimes your humour is so unassuming that you might not know it was there unless you knew it was there. But the perceptive can sniff it out.
AMDG
Posted by: Janet | 01/17/2012 at 09:15 PM
I am especially glad, Maclin, that you have acquitted me of cattiness.
AMDG
Posted by: Janet | 01/17/2012 at 09:19 PM
Oh, Janet. Such a wag.
Posted by: Craig | 01/17/2012 at 10:01 PM
It's true, Janet, one can't help noticing the quacks in the facade of Craig's seriousness.
Posted by: Mac | 01/17/2012 at 10:47 PM
Which reminds me that the other day my granddaughter asked me if I still wrote on that blog that had the duck.
AMDG
Posted by: Janet | 01/17/2012 at 11:09 PM
Maclin, thank you for this. I needed it on the 1st day of the term.
Posted by: ex pat | 01/18/2012 at 08:53 AM
You're welcome. Term only just starting?!
Janet, now you have to tell her no, now you're writing for one that has a raccoon. Actually it's about time to change that picture...
Posted by: Mac | 01/18/2012 at 09:17 AM
Doggone! This does seem a late start to the term, Ex Pat! I think grade schools (K-9, anyone?) started a week or two ago.
Posted by: Craig | 01/18/2012 at 11:02 AM
I think we've created a monster.
AMDG
Posted by: Janet | 01/18/2012 at 12:57 PM
A big hairy monster.
Posted by: Mac | 01/18/2012 at 01:12 PM
And by the way, Craig, you really are quite funny sometimes. Whenever I hear penguins mentioned now, I think of your "Enticing a penguin" photo caption and laugh.
Posted by: Mac | 01/18/2012 at 01:14 PM
Yes, I suspect that his original groan was equivalent to Professor Lupin howling at the moon and wishing he didn't have to become a werewolf.
AMDG
Posted by: Janet | 01/18/2012 at 01:35 PM
Now he's probably had to go off and lock himself up.
Posted by: Mac | 01/18/2012 at 09:48 PM
As my wife always says, I'm in the doghouse.
Posted by: Craig | 01/19/2012 at 07:59 AM
That's harsh--just because you were feline funny?
Posted by: Mac | 01/19/2012 at 09:18 AM
You need to join Craig right now!
AMDG
Posted by: Janet | 01/19/2012 at 09:27 AM
There is plenty of room fur both of us.
Posted by: Craig | 01/19/2012 at 12:15 PM
'k. Nine-ish?
(that one even makes me cringe)
Posted by: Mac | 01/19/2012 at 12:34 PM
I can't bear it.
AMDG
Posted by: Janet | 01/19/2012 at 01:34 PM
Don't have a cow.
Posted by: Mac | 01/19/2012 at 01:35 PM
This is just a lot of bull.
Posted by: Craig | 01/19/2012 at 07:39 PM
Yes, it is rabbitly becoming absurd.
Posted by: Mac | 01/19/2012 at 10:11 PM
I think you should all just stop. It's like watching teenagers playing chicken.
Posted by: Paul | 01/20/2012 at 01:55 AM
Rebels without claws?
Posted by: Mac | 01/20/2012 at 06:55 AM