My background is odd, unlikely. Maybe everyone's is. I learned C (and started learning C++) because I got a job in 1984 at Bell Labs and they told me to. Before that, I had done a little Fortran, Snobol, Pascal, and some assembler. I had designed a little hardware and a bit-slice microprocessor. I was interested in technology and had repaired telephone switchboards for a couple of years (my first exposure to a "computer" actually), I had studied radio engineering, and I had worked on the software and hardware for the very first Positron Emission Technology (PET) scanner ever built, but mostly I had been living in poverty. I was lucky enough to claw through public college with a combination of scholarships, work study, and assistantships, working side jobs in factories and restaurants, borrowing textbooks, and not owning a car. I was motivated by fear of being 40 years old if I did not find a profession that would earn a living wage.
I could easily have ended up homeless, and I still feel enormous compassion for people who do.
At Bell Labs, I knew I had been hired to fill a quota (being female), not because they thought I would be the best choice. But I found enough generous mentoring to become as good as I needed to be. I would say that there, I soon became slightly above average in performance, not a star, and it was definitely the school of hard knocks. You don't even want to know some of the gender discrimination that I encountered, and it didn't matter all that much because I had been raised among boys and I could take it. I did take it and survived, if not thrived.
I typically spent at least half my waking hours learning new stuff, and I didn't always do exactly as expected in small things, but I usually got the needed results on time, if in some unorthodox way. When I did fail at something, I agonized, because I often could not easily tell whether I had truly failed through stupidity or whether the deck had been stacked against me. Eventually, I got mad enough about that to accept that it was impossible to know for sure.
For years, I have kept a daily log of what I got done. I used to keep it in a notebook, and now I keep it in a wiki. I look at this log when I am discouraged, to give myself the courage to go on. An old telephone repairman gave me the advice to keep this log. He said it would be useful when management tried to blame me for "dang", as he called it. It has served me well, and I'll pass that along to any young people who ever read this. The log consists of one single line describing something I completed. Okay, maybe, occasionally 2 lines.
I lasted a dozen years at Bell Labs as it slowly downsized. Two years of microprocessor programming for consumer products (some 4-bit chip). Two years of C programming for SONET systems on Motorola 68000 controllers. I learned to make a PC do polling instead of interrupts, so that I could guarantee nothing would ever block. I learned weird realtime tricks like software debouncing for a shared memory item. They tried to teach me C++ but I hated it. After that, I got shunted into writing requirements for transmission and network operations systems. As
@yungman noted, the "software" profession requires one to constantly learn the latest new thing, and it was always one huge crap shoot to see if I had chosen the right new language to learn to keep myself employed. I embraced the WWW. I liked Microsoft and bought and studied PC's although Bell Labs officially hated it. I made enemies there by solving problems quickly on Windows that were going to take two years to solve using UNIX. I left Bell Labs after a dozen years and became an independent consultant. I negotiated my own contracts, worked short term jobs for high pay, and kept moving here and there. I worked in big pharma until 9-11 shook the world up. Jobs in software got very lean in the early 2000's due in part to outsourcing, and I became a college professor (non tenured) and that lasted for about 10 years. I taught computer architecture to grad students, Java programming (had to learn it myself first, and quickly), and software engineering. I learned Ruby and various other programming languages so that I could teach them. After that, I worked for biologists where I was the only programmer, sysadmin, web developer, chief cook and bottle washer. Became good at database design and programming (mentored by biologists who are fearless about databases and statistics). The pay was low but the work was interesting and my boss sometimes actually said thank you. Around 2010, I refused to commute any more and started working remotely from home, which I loved. My boss snuck around and allowed it because he didn't want to lose me. So the pandemic hasn't bothered me as much as it has some people; my home office was already in good shape.
My formal training was to program close to the metal--and I liked it and was good at it
@yungman--but I left it behind because the level of gender harassment in that field was just not worth putting up with. Over the years, I kept clawing my way back to actually writing code. I have worked extensively with both Linux and Windows whereas most programmers ever only learn one . This became an advantage. I would string things together to make something happen that could only be done using four different technologies at once, or I would get something done by some unorthodox approach that no one else thought would work.
I stayed employed, but I had to take what was available to me, not particularly what I wanted. Many good technologists left the field during those bad economic downturns. I only know maybe two women my age who survived in the tech trenches throughout their entire lives. I am proud to have survived. I grew to like the work and be good at it, but unfortunately, most of the people who are in my day to day life have no idea what I have accomplished. They look down on me because I am not a good quilter or a good whatever that women are expected to be good at, and they don't see or appreciate my accomplishments. That frustrates me sometimes.
So that's my war story.
I've enjoyed reading your war stories. Keep them coming.