Why I Became a Software Engineer
nicotsou.com
nicotsou.com
This isn't me saying your way is wrong and my way is right, just offering a different approach to job search.
Thinking about work in terms of objective drudgery that one doesn't mind doing (or even better, that one enjoys doing) is one way to avoid the mental dichotomy of drudgery-vs-reward since then the work itself is either its own reward, or it just doesn't tip the scales negatively, philosophically speaking. In a way, it's a form of taking pleasure in small things, like feeling accomplished after cleaning the kitchen even though cleaning a kitchen is almost universally considered drudgery.
A woodworker has a new cabinet or something at the end of the day. It's a real thing that is useful in the world and even if you stopped enjoying woodworking you at least see real tangible results from your work. This is much harder to get from IT/software dev. That's why I try to focus on whether my work makes someone else's drudgery less awful. It gives me the feeling that I did a real thing that accomplished something (however small) in the world.
This also happened in other romance languages.
My own path was convoluted as hell. I was an Army officer commanding tanks and wanted to become an ORSA and began studying Applied Math to that end. When I moved onto grad school, Computer Science ended up being easier to do because my Colonel told me about Georgia Tech beginning to offer a fully online program identical to their in-residence program. The Army will send you to school, but you owe them two days more in active duty obligation for every day they send you. If you do it remotely, no obligation. So I did it remotely.
With a background in Applied Math, I specialized in Machine Learning in grad school, and after that, initially ended up in a hedge fund doing algorithm research. Catastrophic spine injuries sent me into a period of surgeries, pain, downtime, wanting to kill myself, and all in all definitely not working. When I finally came around, my first two offers were with L3 for a pure data analysis role developing some Air Force program doing human movement pattern detection, and with Raytheon in a software engineering role working on ground processing algorithms for satellite imaging.
Well, I still couldn't drive thanks to the spine problems, and Raytheon's campus was right next to a train station, so I chose that.
So here I am, years later, a software engineer (no longer with Raytheon). I doubt this exact story is prevalent, but a bunch of people I worked with had originally been physicists and electrical engineers. We all got sucked in because software is eating the world and the roles are much more prevalent than other roles. I could have stuck with machine learning but that limits you to a tiny number of huge players that are making any meaningful headway and impact in that space. Sticking with software more generally allows you to work anywhere doing nearly anything.
That I found it "easy" was probably because I live and breathe computers, so when something was hard, it was not hard, it was just interesting. I was always fascinated by computers, by what was behind, how stuff showed up on screen and how someone could do such magic, so I had to find out.
Also, when it crashed or went wrong, I wasn't fazed by "X big thing may not happen now". I was already trying to figure why it did that.
And often I fixed it, ran it again and then people around would relax again as "X big thing could resume".
But man, large business sure knows how to suck the fun out of things with bureaucracy...
(This was a philosophy credit that was completely elective - people only really had 1-2 slots for these "Elective: Any" kinds of classes since most of your electives were like "Elective: Chemistry" or something like that. So people in these kinds of classes purely self-selected. Most people just took one of the well-known blow-off classes, which honestly I don't fault them for, this wasn't an easy school).
Grew up learning BASIC on Commodore 64. Went to college right after high school studying computer science. Dropped out after 1.5 years joined the Air Force as aircraft mechanic.
After 4 years left AF, back to college but now studying aerospace engineering. 5 years later graduate and start job jumping for the next 6 years because engineering was boring to me (more of the jobs req'd an engineering degree but no real engineering involved.)
Became a firefighter-paramedic. The first few years noticed a lot of people leaving because of back injuries. Wanting to make sure if I got injured or sick I'd be able to find a job. Did remote on-line master's from DePaul. Started working part time while still full time ff/pm.
Covid hit, I had enough after 14 years and found a remote full time job. No regrets. Firefighting-paramedic is the best job in the world but a young man's game. Also a consistent sleep schedule is awesome.
I often think about where I would be had a stuck to programming from the get go. Or, while in the AF if I had studied programming more instead of drinking and trying to get laid. But, here I am, over all no regrets with my path. I like seeing the looks on people's faces when they try to wrap their heads around a person with an engineering degree that becomes a FF/PM and then a programmer. My twists and turns weren't planned and almost spur of the moment actions at the time but it worked out well.
I still get recurring nightmares about op amps though.
And I knew that crawling inside the test track to unstick things sound like hard work and computers seemed to be a field with more opportunities.