I had a long and intresting conversation with my therapist just now. I'm not comfortable sharing exactly what we were talking about but I can rephrase it: basically I was complaining that tech companies don't want to innovate.
I've been trying to bring new technologies to my boss because I thought it would give him a better opportunity to realize value from the products I'm creating/maintaining for him. That's what I understand is my purpose in the workforce. I'm a programmer not a salesman I can't go out to the market and get him the money so he can pay me with something, I can only make things put things in his hands for him (or hire someone to) to go out and collect the money we deserve (deserve within the limits of market demands and the nature of the product, not the labor invested). But he doesn't want them... well he does when he needs them but I miss way more times than I hit which is making my professional feelings feel less valuable. And if I'm not valuable enough then I can't work doing what I love.
When I started working I went in with a plan to upgrade and modernize everything I touch. I still believe that to be the case, or like... my "purpose"(as an employee not a person). But every company I've worked for so far has been running old ass shit. Springboot apps, create-react-apps, codebases in c and c++, no kubernetes, little to no cloud. And it feels like everything that tech companies want me to do is maintain and expand old existing codebases. And I understand why, I know that its expensive to rewrite entire code bases just for a 20% efficiency boost and to make it easier to add upgrades every once in awhile. But noone is taking advantage of innovative technology anymore and that's what's concerning me.
In my therapist's opinion he thinks we as a soceity are not taking 100% advantage of technology we have. I can't go into too many details bc our conversations are private but at the end I agreed with him. I'm seeing it now in my working day but he convinced me that it's everywhere. Are people actually benefitting from technology enough such that nobody actually needs to work to maintain a long and healthy life?
Lets say that no, technology is underutilized in our soceity. Does that mean that if we use technology more we'd have enough value in the economy to pay everyone a UBI? Could we phase out the human workforce to some extent? Or do we actually need more workers to do work to make the value, in which case we can't realistically do UBI because people need to get paid competitivily to do the work.
Lets say that yes, we are taking all advantages of technology. If so than there should be enough value to pay a UBI. But we don't have a UBI, so why? If the value exists than where is it? I don't believe its being funnelled into the pockets of some shadowy deep-state private 4th branch of government. If it was than there'd be something to take, is there? Are we sure that its enough?
Basically I don't know if technology generates value.
Think about it like this
If its cheaper to use technology to grow an acre of corn than to use people, is that subsequent output of corn more valuable or less valuable because of the technology. And if you believe that scaling up corn production to make the corn just as valuable as if we didn't have technology then you agree that the corn is now less valuable. If self-checkout machines are replacing cashiers, does that mean that the cashiering work being done by the machine is more valuable to soceity or less?
This is basically end stage capitalism. We need to recognize if the work we do for soceity (whether you derive personal fulfillment or not) is actually adding to soceity or not. I'd rather not give up my job as a programmer just so I can do something more valuable, but I might have to if that's the case. And I feel like most people in the world are thinking like that too. Is soceity trying to hang on to the past, or do we just not understand the future?
Sorry for the wall of text. I feel like this might be to philosophical for this community but I couldn't find a better place to post this. If you know of a better community for this discussion to take place then I'll consider moving this post based on the comments already posted. Thank you for reading this and I'd love to answer any question you'd have about my opinions/feelings.
How is create react app or spring boot outdated? These are well-maintained frameworks. What would you replace them with?
There is a new framework every 6 months. Newer isn’t necessarily better, as plenty of new frameworks don’t catch on and die. Companies cannot just change their stack every 5 years even. It is not only expensive and time consuming, it requires hiring people with special skill sets that aren’t transferable to other apps in the company.
CreateReactApp was actually declared deprecated in favor of Next.js. I guess I think of springboot as outdated because we have much better ways of routing an HTTP request through buisness logic, going maximum k8s ingress is my preferred way, it scales way better than a springboot monolith.
Edit: the source of why I know CRA is deprecated
"Newer isn't better" is exactly the reason we have so many frameworks and technologies. When filtering a liquid you have to put pressure on it to push it through the filter. Just the same with technology, it's more like an idea, you need lots of ideas to put pressure on the others to find which one is the best one. Springboot came from a time when there were less framworks to choose from, that's the only reason its big, not by merit.
I don't agree that that's the case anymore. Most softwares deployed today are so platform agnostic that the only thing limiting where it can run is the nature of the software itself. It doesn't make sense to run an android app on a cloud vpc because litterally why would you? But since the advent of React, 99% of all UI components we see on screen can have their source in a library the app pulls from, then it could be an phone app, or a website, or a desktop program. Docker revolutionized how code runs on computers so now you can write any buisness logic in any language and then shop around for the cheapest cloud host or onprem hardware you want, you no longer have to consider the computer when writing code*.
I don't believe programmers should be specalized, this litterally only comes from my experience and my opinion, but frankly whether its code to display things on screen or get data from a database or do some deep introspective calculation, it's all the same code, even if its a different language. There's a difference between buisness logic and implementation, any programmer should beable to put together any sort of buisness logic they're asked to do.
That post about why CRA is depreciated was a great read, thanks!