Like many, I started out writing games for a home computer (Spectrum 16K in my case) but I don't think I even touched a computer for a decade after leaving school.
Did all sorts of jobs - office stuff that bored me to tears, labouring which I quite enjoyed and various bits and bobs - with a fair bit of resting between. Lost a job as a a storekeeper which I was quite fond of, got bored of being back on the dole and decided to do a course (C and UNIX).
Thought, "yes, okay, I can do this for a while" and have been doing it for a while for twenty-odd years since.
Next time round, though, I'm going to be something more exciting like a lion tamer or an accountant ...
Whenever you find yourself on the side of the majority, it is time to pause and reflect. - Mark Twain
I saw someone writing a C program and ask them about it. They had my attention and I went and bought a PC and a compiler. I already knew what I wanted to create, so, after that, it was just a matter of learning as I went. Each time I wanted a new feature I had to figure out how to accomplish that goal, so back to the books to learn something new. I ended up with my own windowing system, dbase style database, EGA/VGA compatible graphics library and other useful tools. I programed to learn and for the challenge. Then an engineer I knew ask me to help a company that was in deep trouble, because their programmer walked out with all the code and the deadline was in 3 weeks. Three weeks latter they had a product and I was hired as their full time in house Software Engineer (company title).
30 years latter I am still telling computer what to do.
"Program testing can be used to show the presence of bugs, but never to show their absence." - Edsger Dijkstra
"I have never been lost, but I will admit to being confused for several weeks. " - Daniel Boone
I was a Biochemistry major in college. My last year I had a computer science class (in the Biology curriculum). It was an easy A for me compared to all of my other biology and chemistry courses. So, I had more programming classes in college looking to get a masters degree in CS. When I got my first job as a computer programmer (quite a ways back), I did not look back. No more classes for me, except to pursue a MBA degree a decade later. Now, have combined my biochem experience with programming experience and work with a biotech company where I can use both.
In the 70's my father who was a HS teacher took me to see the mainframes for the city school system. I was fascinated by them, and then getting to play some simple computer games on teletypes on some (probably) PDP-8's cemented it. Later I read a FORTRAN programming book my father had at home (he had tried to learn something about programming but it just didn't click) and thought "this is easy".
Fortunately the high school I later attended had a small mainframe (IBM 1130) and a PDP-8 and offered an introduction to computer programming class, which I took and aced, and then went to work part-time programming for the school district. My boss encouraged me to go to college for Computer Science, and I was off and running.
I was required to take a programming course in order to do the assignments in a Numerical Methods (math) course. Dropped the math course and signed up for a CS101 course. It was love at first sight. Ended up switching majors (and eventually universities) from EE to CS. The love affair continues unabated.
The Junior College school I was attending had just phased out three minors: Audio, Television & Radio - all in favor of two courses: BASIC Programming and Microprocessor Programming - this was 1981 and I was just 14.
I lusted to no end reading Popular Mechanics's articles on the Apple II and Atari 400/800, the school had a lab of TRS-80s, a mix of Model Is and IIIs. My yearning for Radio quickly faded away as soon as we started to do stuff on the machines.
Microprocessors was all Machine Language using the Heathkit ET-3400 Trainers so my first exposure to that level of programming was with the Motorola 6800 and damn glad I am it was that. When done I went back to the TRS-80s to learn the Z80.
I don't earn my living coding, never have. But it keeps me busy as a hobby.
I was a high school exchange student in Minnesota 1975-76, when MECC was established, to provide 1500 Minnsesotan High Schools with access to a huge mainframne computer located in Minneapolis, accessible through 110 bps modem lines to teletype terminals. Rich schools could buy high speed 300 bps modems, but that also required more costly terminals than the teletypes. Wabasso High School never coud afford that.
When the new offer was presented to the students, I was the only one interested. Anyone who has ever heard a real Teletype termninal can imagine how it sounded in the corner of an empty school canteen with concrete walls and nothing but the hard-surface furniture. It is a wonder my hearing was not more ruined than it was. I paid for both the "MECC Basic Manual" and the "MECC Fortran Manual" from my own pocket money; I still have got them. Several of my fellow students was convinced (in 1975!) that I could just type in my homework problems, regardless of course, and the computer gave me a solution ready to hand in.
Programming, even in BASIC, fascinated me immensely! The systematic, orderly way to devise a solution. The strict methodology. Since day one, my approach to teaching people programming has been not on coding but on rigorous methods for problem solving, whether you do it by coding or whatever other method.
Upon returning home, I had no doubt: After completing my Norwegian High School degree, I went to the computer science study at the Technical University. I will say that we kept up the spirit throughout my university years, and a number of years thereafter: We understood what the computer was doing for us, to the same depth as we understood the problem we were solving.
Only in the last 20 years or thereabouts have the computer systems become so complex that we regularly have to admit that we cannot fully explain how the computer is solving the problem for us. We no longer (fully) use the computer to realize our orderly and rigorously developed problem solution. We have to leave an ever increasing part of it to a computer that automagically provides a partial solution - even when that partial problem is at our own problem level. It is not like "how to most efficiently calculate sin(x)", which never bothered me much, but systems that takes my real application problem out of my hands, telling me: There! I solved a third of your problem. If you want to solve the other two thirds, you better do it my way, in my style, or else ...
Many years ago, I rejected MFC because it forced my solution into an infrastructure that simply didn't fit my mental model of a good solution. Gradually I have found that sort of resistance futile. You are tied on hands and feet by the "frameworks". Your task as a problem solver today is no longer to solve teh problem in a systematical, orderly way, but find a way to mould it into something that fits the selcted framework. An the framework selection is usually dictated by your company, by fashions or by young colleagues who more or less refuse to solve the problem without the new and fantastic framework that has just come out, and succeed in convincing the management that the company will go bankrupt if we do not follow the latest trends...
That is not half as mentally rewarding. Not by far. I thought my job would be to solve problems, not to create case studies to prove how fantastic a given framework is.
So I am sick of my job. I look forward to get over with it, retire. The role I was in for a few years (which I was hoping would last), as a true problem analyst and designer of real solution to the problem, doesn't exist anymore. Maybe the break came about fifteen years back, in a library project where I (thanks to earlier library experience) had been talking a lot with the users, the librarians, and tried to bring their requierements and wishes on the table. I was brutally turned down by the project leader: "F**k the librarians!"
I guess that was the day when my fascination for the software development profession finally ended.
I was introduced to computers in Middle School when some business donated a room full of Commodore Pet computers to my school, and saddled the math teacher with them. He offered to stay after school for an hour a day for any student that wanted to pay $50 for the year. I was always a bit of a electronics nut/nerd, so my parents coughed up the $50, and I spent a year figuring out how to write simple programs in Commodore Basic, using some books a friend swiped from his engineer-dad, including reference manuals with all the fun places to peek() and poke().
By High School, the schools still didn't know what to do with the influx of donated computers, so the school offered a computer class where there was no instruction. You earned your 'A' by creating an educational game to teach grade schoolers, that the school district would then send off the the grade schools to use. Most focused on math, but I had fun making spelling and typing tutors. (Fun, considering I have always been a crappy speller, and have never been a fast typist.)
By my Sophomore year, the school offered a Pascal class, where the PE Coach stood in front of the room for the first 15 minutes, and read the lesson from the teacher's manual. The remainder of the time, I, and one of my friends, stood in front of the class and explained what the 'teacher' read, and walked around helping everyone figure it out while the 'teacher' sat at his desk reading his newspaper. I filled my time teaching myself Apple Assembly on the Apple IIe computers that were now being donated.
Later that year, having the most successful class in the district (imagine that), the coach was asked to consult the district on "computerizing the attendance system". He recommended that they deal with me. I was "hired" to create an attendance system that would let the schools update the district office and generate reports. After setting them up and training secretaries on how to use the system, they informed me that state education policy would not allow them to hire a student for pay, but assured me that they would speak with my computer teacher to ensure that I got an 'A' for my efforts. (Gee. Thanks. I guess that was where I learned to make sure to get it in writing before starting any work.)
Since then, I continued with my love of electronics geekery, but kept getting pulled back to computer support, networking, and of course coding. Electronics has fallen by the wayside, and I am an all-out computer geek now. Although over the last year, I have been pulled away from networking and coding, and now have more of a focus on Cyber Security and Information Privacy. We'll see where it goes from there.
Money makes the world go round ... but documentation moves the money.
... required classes in assembler and BASIC. I fell in love, and taught myself further--and created and sold a couple of successful BBS games--while I worked on computer maintenance for the next 10 years, then went back to a 4 year college and earned a CompSci degree. Now I leave the hardware to others while I make 'em do things.
If you think 'goto' is evil, try writing an Assembly program without JMP.
In 1969 I joined the Navy and I was supposed to be an air traffic controller (according to the recruiter). In Boot camp the aptitude test they give you showed I scored very high in both Math and Mechanical skills. They told me I was going to be a computer tech in an air wing, and sent me to computer school in Memphis.
I then joined an A6 squadron as a weapons system specialist, the heart of said system, being a digital computer. When I left the Navy in 1973, I got married, and went back to college and then on to law school. I needed to support my family and had to work as well.
With a computer skill on my resume', I went from one IT position to another. Having taken a 3 hour course in basic in college, I was gradually asked to start writing programs for various employers. My first program was a payroll app in Apple basic.
From there I moved to a RadioShack TRS80 and Bill gates had just released Dos and GW-Basic. (The "GW" standing for "Gates, William")
Having graduated from Law school and passed the Bar, I was working as a lawyer and had a small software business for PC's on the side which kept growing.
Finding out that being a lawyer really sucks, I left the law firm I was working at and went at my company full time. I have made a good living at it ever since.
Back in 1980 my dad (high school chemistry teacher) brought home a Sinclair ZX80. Being 13 years old, I became fascinated by it and soon self-taught on assembly language to create a program to compute grade point averages for his students. The rest, as they say, was history.
My father was a Programmer -> Sr Sys Analyst for a big earthmoving co. I grew up seeing yellow cards, green bar, flowchart templates. I got to see a massive card sorter as a kid, and go into the glass palace. But did NOT want to do anything like that - ya right.
BASIC in high school - keypunch on cards, teacher took to the local community college and receive your output 3+ days later.
Picked up an Apple 2 EuroPlus whilst stationed in W.Germany. Pascal gave me a taste of a structured language.
Learned COBOL at the community college, went to work.
Now working as an application administrator - so not much programming.
Currently scripting with Eggplant for application testing.
Injured at work as a heavy equipment operator. Management put me in front of a computer hoping I would quit. I realized I was good at it and used my three years of disability to go to school. Thought I would go into networking or hardware support but my first job was programming.
Working in QA, 1969, was sent to Field Engineer School (in house) for the OCR Page Reader System. System was controlled by Varian Associate 620i 16 bit mini-computer. We were going to be taught the circuitry in the computer, but instructors decided to start with the assembly language lesson before the circuitry. That way the instruction affect could be followed through the circuitry. Later had formal training in assembly, Fortran-B, Basic, and others.
My studies at school were had IT as a component but I chose programming
You've got an extra additional word here.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
I have a B.S. degree in computer engineering. The curriculum struck a balance between hardware and software. Students could concentrate in one area or another based on their preference. For me, I have spent the majority of my career writing software for process control and data acquisition applications in real-time and near real-time environments.
None of my academic work related to "IT". Even my operating systems course was more in terms of implementation than in management. The implication in the survey is that academic training concentrates on IT. If that's the case now, no wonder Q&A is full of "gimme the codez" posts.
Wow, I hope that's not the case. I went to a major research university where all my professors had PHDs and were heavily involved in CS research. So I had a LOT of theory in my schooling which was hard to transition out of when I got my first programming job. Most of my programming knowledge came from self study even though I was in a CS degree program at a university
I worked part-time as a programmer through most of my college education. The work complemented the classes. In class I learned basic principles, algorithms, and techniques. At work I learned practical skills. It was to my advantage that Wright State University[^] is right next door (literally) to Wright-Patterson Air Force base[^], which has a large role in Air Force R&D. A lot of my instructors were adjunct professors whose day jobs were as engineers at WPAFB.