Saturday, April 6, 2024

Lets talk about Programing VS Software Engineering

 

This is written in a time of mass IT layoffs filling the news right alongside promises that AI will replace humans as coders just like robotic automation replaced the factory worker and maybe just as the factory worker replaced the skilled craftsmen.

 

I love programming. I know that. I love writing strings of code that mimic the way my brain is organized to make a computer do something. Letting my brain spill out onto the page and then MOVE is an incredible satisfaction. I think it would be amazingly fulfilling to do that as a job for a few years, and so I've been perusing a degree in Computer Science and applying for software development jobs I'm honestly not qualified for, yet. (I'd love to apply for junior programmer jobs, but I haven't found any.)

 

But the reality of me getting that kind of job feels bleak. Layoffs imply that those kinds of jobs aren't as widely available as they once were. Layoffs definitely increase the competition for those jobs. And what even are those jobs? So far I've talked about programing as basically a code-monkey - just someone minding their business in the corner writing their assigned code and really nothing else. As YouTuber "Internet of Bugs" says, if that's all you can do, then yes, you are going to be replaced by AI and you deserve it. (I can't remember which video he says it, but I think it comes up in all his AI videos. You can check him out here https://www.youtube.com/@InternetOfBugs)

 

So, what's a gall to do? Be more than a code monkey. I've always kind of known this. I currently work in TIER 1 IT and from what I can tell, my 10+ years of customer service being forced try and get strangers to stop yelling at me gave me far more points in charisma than I expected and an above average charisma modifier than most people I interact with in IT. Being able to talk to people, to gather requirements for reporting, being able to drill down from the surface of what they said to translate those needs between teams is something that I've already seen in myself that will be a likely differentiator for me in the future, but I have to get to that future. I have to accept that's going to be a big part of what I hopefully will be doing eventually.

 

What brought this to a head today is reading the introduction for Software engineering (Sommerville, 2016) for class. Even in this text from before the recent AI surge, the push is the same, Software Engineering isn't about the individual making up a program for themselves, it's a part of something bigger and much more structured. That programing that I love so much, just code-monkeying around, those skills are going to be relevant, but as the baseline. I have to accept that "everyone" can do that. If I want to get paid, I'm going to have to be something bigger, do something bigger.

 

I want to trust that my education will see me through, but I've seen that fail, very up close and personally. My mom was a paralegal in AZ working on monopoly-busting cases, and when we moved to CO, she went to school there to qualify as a paralegal in CO. Job after job rejected her after she graduated, never getting back into her chosen field. 20 years later, she's got surprise student debt that she can't prove she paid off because she didn't keep the paperwork and is now one of the millions of Americans just paying away at that debt probably until she dies.

 

Education did not grant her anything. Education does not promise me anything either. As they say, you can't win if you don't play. What I do "know" is that 10 years from now, one way or another I will be fine. My education is currently being paid by my employer so I'm not going to get the debt surprise, but if I loose that employer, my education would likely stop.

 

This is a lot looming before me, and I've gotten a little off subject. But this is what it is to consider the future. A passion for programming started me down this road and I see it bending towards software engineering with it's greater complexities, duties, and responsibilities. I accept this expansion with open arms, even if I still have a ways to grow my grasp.

 

---

 

Sommerville, I. (2016). Software engineering (10th ed.). Pearson.