My programming history is a lot more standard.
I started in high school, my junior year. We were unusually fortunate in having a roughly refrigerator-sized "minicomputer" at the school. We had four ASR-33 teletypes hooked up to it, and most students stored their programs on paper tapes punched and read by the teletypes. We also had one CRT dumb terminal that the more advanced students got to use, along with storing programs on 8" floppy.
I then went to college as a CS major and afterwards went to work as a programmer for a defense contractor. After a few years, I got sick of the "spook" business and went to private industry.
I've kind of run the whole gamut - defense contractor, independent consultant, real-time OS developer, commercial application developer, web application developer, teacher - you name it, there's a pretty good chance I've done something in that vein.
It's now 30 years since I started programming in high school, and my job responsibilities ever since my junior year in college have primarily been programming - writing code or teaching about writing code. Even when I started moving into "team leader" roles, I always adopted agile programming practices, which largely let a good team lead itself, so I spend more time programming than many team leaders do.
I've professionally written code in several dialects of BASIC, in FORTRAN, C, C++, Modula-2, FORTH, Pascal, Java, Haskell, Ruby, Flex, JavaScript, and a couple of assembler languages and shell scripting languages.
I also tend to be reflective - I think a lot about programming in general, not just about the specific program I'm writing. I've put in a lot of effort to learn about various development methodologies (Booch, UML, CMM, PSP/TSP, Extreme Programming, the Crystal Method, and Scrum) and trying to understand how this whole thing works.
Most recently, I've gone back to fundamentals - "pure" CS, and all the math that goes with understanding it - category theory, domain theory, various forms of logic, and so on.
Computers and programming have been a fairly central part of my life, and I really love what I do. Sure, there are periods where the day-to-day aspects of the job aren't particularly what I want to be doing, but even then if I'd still probably be doing something with a computer.

Add a Comment
Email This
Statistics

RSS


gnifyus's Rambling Programming History
I answered "self taught", because even though I did have some programming classes in high school (BASIC) and college (FORTRAN and Pascal), they only had minimal bearing on what I finally taught myself.
I am of the age where when I look back; I feel I was really on the crest of the wave of the PC generation. This post is going to read like a trip down dinosaur lane to anyone who lived through this time. In high school, we programmed BASIC on a Data General mainframe with 6 ASCII terminals on it. Even when I went to an engineering college (Wentworth Institute in Boston), they still had a Wang word processor in the library that clunked around with giant floppy disks. A couple of years into it, the library ditched that for 2 or 3 PC's in which we had to supply our own software in order to run. I still remember having all my files and the word processing software (WordStar) all on one 5-1/4 floppy disk. Now you would think by only having 3 PC's the lines would be long to use them, but remember, no one had it in their mind back then that this was the thing to do. I was one of the few people who actually turned in typed papers back then. (This actually gave an advantage at the time.)
It wasn't until I started working in industry that I had a use for programming. The first "programs" I made for my greater (actually lazier) productivity was making macros for a Lotus 123 spreadsheet report that I had to create everyday. It was almost comical when I think about that thing jumping around the screen sorting and formatting everything on the 6mhz 286 powerhouse computer for a couple of minutes every morning. It beat doing it manually though.
The next "language" was making database utilities for myself using Ashton Tate Dbase. I swear this stuff was easier, faster and more versatile to use than most modern PC oriented database software that shall remain nameless.
At the time, the company I worked for made multilayer PC boards. A part of our group's job was to create instructions (hand written) for each circuit layer based on quality, customer and manufacturing requirements. One day as I was drudgingly performing this duty on a 16 layer backplane, I suddenly made a resolve that this would be automated or I would die trying. I began teaching myself the C language, and slowly but surely my program grew and grew (spaghetti coming out of every unsustainable crack) until I had a Dos based graphical program with mouse support and everything which reduced our departments time considerably and cut way back on mistakes due to the error checking I coded. It even had embedded HPGL so the paperwork came out all fancy-like on the printer.
And so I became the part time rogue programmer and the scourge of the MIS department which wanted nothing to do with knowing anything about what we were using.
It was fun being able to do all that because it was all cutting-edge at the time, and sort of forced the company to embrace technology in the office faster than they would have, once they saw how useful and productive it was compared to writing everything by hand.
Later, as I joined my family's plastic mold making operation I forayed into C++ and writing programs for the 3D CAD software, SolidWorks API.
Now I'm afraid I'm just getting rusty.
.
View Full Discussion