Name: Kewbie Newbie (aka John)
Age: 53 (Born May 11, 1950)
Location: Seattle, Wa. U.S.A.
Occupation: Software Engineer/Analyst/Programmer
In 1975, I was introduced to a programmable calculator, a Hewlett Packard; I don't remember
the model number. I was fascinated by it, but I felt that it was too expensive, so I went
out and bought a Texas Instruments SR56. It had a 100 step program memory, and it forgot
the program as soon as it was turned off. But still, I enjoyed it.
In January of 1977, I went to work for the phone company as a directory assistance operator.
Strictly ancient history, we looked up phone numbers from racks of books that surrounded us
on three sides. These days, all operators use computers, even the long distance operators!
Those TOPS (Traffic Operator Position System) consoles are pretty smart... they tell the
operator the number of the person making the call, the number being called, what the rate
is for the call, and, if the call is already in progress, how long it has lasted up to that
point. They also indicate if it is a pay phone or a phone in a hotel room or prison.
After being a directory operator for ten months, I transferred into the computer center in
November 1977, and I've been in Information Technologies ever since. I started out in
Distribution, routing reams and reams of computer printouts to the proper recipients.
Usually.
After a few months of that, I moved into Output Services, where I mounted forms on printers,
cards in punches and readers, and tapes on drives. At last!!! I was actually working with
computers. That would have been sometime in 1978.
There were two VERY knowledgeable people working in the center, and by listening to them, I
started picking up some bits and pieces of computer lingo. One of them had an Apple II,
with some dialect of BASIC on it. After about two minutes of explanations from Len and
Spence, I was off and running. I told them to just give me the book and leave me alone.
About two months after that, I borrowed some money from my bank and bought an Exidy Sorcerer
computer. It was and 8-bit micro with a 4-megahertz Z80 processor in it, 56K of RAM, and a
version of Microsoft BASIC. Sadly, due to a major design deficiency, it died a horrible
death. The power transistor's leads supported the heat sink. Eventually, the center lead
broke and floated too much voltage or current onto the mother board and fried almost
everything.
Before that happened, though, I bought an assembler for it, and pretty much taught myself
assembly language.
Somewhere along in there, I got promoted to a workgroup that monitored the phone company's
internal data network, the CCTAC (Computer Communications Trouble Analysis Center).
I did that for about a year, then transferred into a workgroup on the programming staff.
My first job was maintaining a data transmission utility called T-TRAN, which stood for
Treasury Transmission. It's long since been decommisioned. It was written in assembler,
so I finally got a chance to program IBM main frame computers in assembly language.
All in all, I programmed in assembler for about 12 years, off and on. Frankly, if I never
see another line of assembly language code, I will be perfectly happy.
I worked for the phone company for just over 26 years when my job was out-sourced to IBM
so now I'm an Eye-Bee-Immer. I've been working for just over 27 years now, and I've
programmed for at least 23 of those years. But if you count the programmable calculators,
I've been programming for about 30 years. It's been fun. I hope to stay with IBM for
seven to ten more years, so I guess I won't be able to retire until I'm 60 or so. Oh,
well.
The languages I've used over the years:
BASIC - assorted flavors
Assembler - ditto
FORTH - the best language I've ever used, too bad there's no good place for it in the
business world
CLIST - an out-dated IBM mainframe shell-like language, kind of like PL/1, but pukey...
all variable names had to start with a '&' and dealing with data that had '&'s in it could
be very interesting
REXX - the current IBM mainframe shell-like language, actually not too bad, kind of like
C, but not as powerful. It does interface with assembly modules fairly easily, though,
so it can be made to do just about anything
PL/1 - tries to be all things to all people
C - never did a lot with it, but could get by
Visual BASIC - I've only dabbled with it, but I like it
Perl - I've been coding cgi scripts for the last umteen years
The following questions were from a survey I filled out for a guy who was doing a thesis
for a school project:
1. Why are you a programmer?
I guess the best answer to this question is that programming is in my blood. I have
always enjoyed it from the time I first played with a programmable calculator. I'll always
be grateful to the forgotten individual who first introduced me to that HP-25.
After I retire, I expect that I will continue to program, enjoying it even more as a hobby
than I have as a profession.
2. Where did you learn programming?
Pretty much all self-taught. I did take a week long course at Microsoft University to get
an initial introduction to the C language. I also took a couple of quarters of C++ at the
University of Washington, and discovered that I really HATED C++, and have never made any
use of the language.
3. Why did you do that?
I always hated school, and since programming still seems to come naturally to me, I still
prefer to buy a book or two and teach myself any new language I need to know.
4. What programming languages do you know?
See the above listing.
5. Which is you favorite?
My favorite language tends to be the one I am currently working with the most, which right
now is perl. However, as I mentioned above, the best language I've ever used was FORTH.
When I retire from being a professional programmer and become strictly a hobbyist, I fully
intend to get back into using FORTH, and will probably write my own compiler for it,
eventually.
6. Why?
I answered this for my favorite language in question number 5, so here I'll tell you why
I think FORTH is the best language I've ever used.
If you've never used it, FORTH is probably the most bizarre language anyone has ever come
up with. It is based on RPN (Reverse Polish Notation), also called postfix notation. It
is heavily stack oriented.
To add two numbers together, you first place them on the stack, then enter the addition
operator. E.g.
5 7 +
would leave 12 on the stack. Then you could enter
4 /
to divide by 4, leaving 3 on the stack. In most modern compilers, there is a set of floating
point operators available if they are needed.
You write your program by adding words to the language. If you need to speed up a word,
FORTH makes it easy to write it in assembly language. Even the assembler uses RPN.
I don't want to turn this into a lesson on the FORTH language, so I'll just summarize by
saying that I can produce better code more quickly using FORTH than with any other language
I've ever used.
7. What school courses did you take that are related to programming?
I don't have a college degree. I'm a high school graduate. I graduated from high school
(12 years) in 1968. In 1968, they didn't have computer related courses in the curriculum,
so none of the courses I took were especially helpful to me when I took up programming as
a career.
8. What is the salary you get for one program done?
I work for a large corporation (now IBM), so I am paid a monthly salary. I don't receive
payments on individual jobs. Sorry, I consider my yearly salary to be proprietary
information. Let me just say that I feel well compensated for the work I do.
9. What other careers did you have?
I enlisted in the United States Air Force right after I graduated from high school. I was
trained as a cook and baker. I spent eight years in the USAF. After I left the Air Force,
I went to work for the phone company and finally IBM.
10. How long does it take to make a good program/game
Hmmm... this question is just too subjective.... I'm tempted to answer it with another
question like "How long does it take to cook a good meal?" I mean, it takes as long as
it takes. I was on an assembly language project that lasted for 8 years. I'm not sure
we ever really did finish that program. I worked on a web app written in perl for 2 1/2
years, and have handed it over to a new programmer for a complete re-write. (I had already
rewritten it 6 times.) Overlapped with that app, I've been working on the current app for
1 1/2 years, and I'm getting ready to rewrite it now. As of this posting, I have NO idea
what application I was working on at that time.)
Here are a few sayings I belive I've coined:
"All programmers have only two types of programs, the ones they are going to write, and
the ones they are going to finish."
"Computers would be perfect if it weren't for hardware."
"Applications would be perfect if it weren't for users."
"Networks would be perfect if... oh forget it... networks can't help but suck... it's just
their basic nature."
This message has been edited by iorr5t on May 18, 2007 1:28 PM