For 23 years, every time a discussion like this the same answers come up:
- People aren't craftsmen like the used to be. (new gen is worse)
- Young people learn faster. (youthful vigor has advantages)
- The industry changes so fast. (tech is like that)
- People are only in it for the money. (as always)
The older I get the more I feel like nothing actually changes besides the colors of our IDE.
It's complicated... again. I've been at this for close to 3 decades now. When I started, there was so much to learn and understand. Then as I learned and understood, I had a better footing and knew there was more still. From the mid 90's through now, it's continued to get complicated and there's still more to learn.
All said, some things are easier. There will be restarts/reboots/refactors/refreshes and new tooling that makes the old tooling easier to live with. Docker made LXC better... Rust makes WASM easier (and so much more).
I do think that too many places have jumped too many sharks along the way. You don't always need kubernetes and five 9's of up time. You also don't always want to break every minute action into a separate lambda/function. I feel so much for the gray beards from when I was in my 20's. Keep it as simple as you can. If you must add complexity, make sure you wrap it in such a way that makes everything else simpler. Don't create a large application for what you can do with a small script. Automate anything you have to touch more than a couple times.
There will be times where you are slogging, and times where it is easy. You will work with brilliant people and certifiable idiots along the way. Such is life.
If you are passionate about the work, and love to constantly learn. You'll be okay. If you aren't, then find that balance in life, and do what you need to in order to keep up.
For the last decade or so, I've been growing increasingly unhappy about the field in general. It's grown disturbingly mercenary. People are increasingly getting into the field for the pay rather than for a love of programming, the quality of the software being produced is decreasing, and the most visible parts of the industry have some serious ethical issues that nobody seems worried about enough to even start to talk about addressing them.
Honestly, I think it's time for me to find another line of work.
> Honestly, I think it's time for me to find another line of work.
Count me in when you find it!
What I miss from technology is the group of people I used to collaborate with during my university years. We used to work on one thing and one thing only (UNIX Philosophy anyone?) and there was no way we would not master our craft back then or the subject we were given to work on.
Nowadays everything feels like work on bleeding edge and don't care about the quality of code nor the security of your own libraries.
I feel so awful with myself for choosing such a wrong direction.
There's nothing wrong with programming for the pay. Your motivations shouldn't have an effect like that on the quality of your work. Even if you love programming, do you really love the programming you do at work every day?
There are lots of great reasons to pursue work in computers, and not wanting to clean toilets for a living is a perfectly valid one.
> [...] the most visible parts of the industry have some serious ethical issues that nobody seems worried about enough to even start to talk about addressing them.
Thanks for sharing. What kind of "ethical issues" are you referring to?
I feel trapped to be honest with you...on one side is young developers that their mind is a sponge comparing my old grumpy half-burned brain-cells (lol) and on the other is the AI that does incredible things that could easily replace us one way or another.
I don't know anything else apart from technology and I feel doomed -_-
I feel similarly. I've loved computers and programming from an early age, and I was inspired by the stories of researchers like Dennis Ritchie, Ken Thompson, Marshall Kirk McKusick, Alan Kay, and others. However, after graduate school and after spending nearly a decade in industry, I discovered that the world today is very different from the world these researchers lived in during their heyday. There are no groups today that have the ethos of 1970s Xerox PARC or Bell Labs. There seems to be less room for long-term exploratory work; instead there's immense pressure to quickly deliver short-term results and produce deliverables such as papers and code. The trailer of the documentary "Message Not Understood: Profit and Loss in the Age of Computing" (https://messagenotunderstood.com) summarizes how I feel. I'm also disillusioned by the state of personal computing today and by the overt attempts by platform companies to squeeze their users as much as possible.
Even so, quite frankly I love computing and I don't want to leave it behind, even if I feel disillusioned about the tech industry. Some of my thoughts include becoming an independent researcher and also starting a non-profit software company that is devoted to improving the personal computing experience, but I have to figure out how to make a living while pursuing these ideas, and it seems that the cost of living is outpacing my ability to keep up (especially housing costs, which jumped over 30% since 2020 where I live).
Yeah I really regret going into the field now, especially the way I did it.
There’s just no where else to go that isn’t just less of the stuff I like about it and more of the stuff I hate about it. I had a plan to go back to school and switch fields, but the more time passes, the more I realize this isn’t going to happen. Everything keeps getting more and more expensive, both in terms of money, and more notably time.
I'm getting bored with web development. It feels like so much of my job is just accounting for the shortcomings of the frameworks we use, and we chose our frameworks so that our bootcamp grads can write javascript on the backend and don't have to learn java or C# or something which would make our backends a lot easier to work with.
I do DirectX Graphics and native programming for fun on the side, but it doesn't seem like there's any good money in it. I look up DirectX jobs but a lot of them are AI using GPU pipelines, and AI is really uninteresting to me
Newb feelings: stuff is changing really fast and hopefully it's good! Old people who don't even know anything about programming are running everything and refuse to retire and let us get on with actually doing stuff.
Young dudes are way more respectful of other engineers' actual skill, and less likely to ask female coworkers on dates or do other weird things that drive them away. My mom has actually seen a few younger guys step up and defend her after like forty years of handling these dickbrains on her own. The social side of things, at least in most companies we've seen, has become moderately better for everyone who isn't at work to get a date.
> Old people who don't even know anything about programming are running everything and refuse to retire and let us get on with actually doing stuff.
and
> Young dudes are way more respectful of other engineers' actual skill
Directly contradict each other. Those "old people" you're insulting probably know more than you think. I'll admit that I'm biased, being a graybeard myself, but I don't know of any engineers my age that are still working who don't have a modern skillset.
Wonderful. After doing it for 15 years I finally feel like I am becoming good at it. There are so many amazing tools, services, and resources out there to take advantage of.
hate the profession, but the money/benefits are good ... on most days, i'd rather be digging holes or raking leaves. a good day is no, or limited meetings, as little facetime as possible with sociopathic middle management and career ladder climbers, and an absence of non-work related conversation (i am so sick of managers leading team meetings with fluff about what everyone did over the weekend or ice breakers/strange trivia).
I've been a programmer since the 1980s. I feel that the peak of the field was somewhere between 1995 and 2000. We had Windows 95/98, the Internet, and all programs were local applications run on a desktop, that people had gotten very productive on.
The existence of Visual Basic and VBA support in the Microsoft Office Suite made it possible, and even practical, for most domain experts to build usable applications that allowed everyone to get their jobs done. If there were performance problems, or it needed to be made more reliable, professional programmers would be brought in to rebuild things in a more properly designed manner.... it was at this point that we almost shifted to being actual Software Engineers, and professionalized.
Since then VB was cast into the pyre as a sacrifice to the very unnecessary migration to .Net, and the bloat that ensued as desktop programming lost a decade of productivity, people decided to just shove everything onto the web.
It was only as this was starting to happen that Steve Jobs further crippled programming by introducing the iPhone, and suddenly GUI applications were expected to work on tiny screens (in either orientation) without proper input hardware like 3 button mice and keyboards, connected across a slow and unreliable network connection.
Needless to say, the last 2 decades have been a total loss as far as programmer productivity goes, with one shining exception.... GIT. Git has its flaws, mostly arising when people don't realize it's a set of snapshots that fake storing deltas, and not the other way around.
GIT/GitHub, et al... are fantastic. The ability to just keep multiple machines up to sync without hassle in seconds is sooooo good. I used to keep stacks of floppy disks with ZIP files of source code, all manually managed.
In the future, we need to recover to the point where you can drag/drop GUI elements and have them work anywhere, like we were with VB/Delphi/Hypercard.
When we get there, we'll let users build basic applications, and we can finally professionalize and apply actual engineering practices to the art of programming.
Until then, please stop calling it engineering. We don't put in anywhere near the effort that Margaret Hamilton (the first actual Software Engineer) and crew did, in safely getting men to the moon. We're programmers, not Engineers. As Uncle Bob said, we don't profess anything. We certainly don't use engineering practices as described by The Engineer Guy.
---
Example: You can plug a lamp into an outlet, and in the US, it can draw up to 15 amperes, and under almost all circumstances, you can't damage the wiring in the house via a fault in the load.
We have no equivalent in software. Chroot, sandboxes, etc... are far too unsafe. We have no standard way of letting the user choose resources to give to applications at run time.
The worst part is, most people don't even see the deficiency. Imagine the current power grid with no fuses or circuit breakers.... the first wiring mistake would crash civilization.
[+] [-] jf22|2 years ago|reply
For 23 years, every time a discussion like this the same answers come up:
- People aren't craftsmen like the used to be. (new gen is worse) - Young people learn faster. (youthful vigor has advantages) - The industry changes so fast. (tech is like that) - People are only in it for the money. (as always)
The older I get the more I feel like nothing actually changes besides the colors of our IDE.
[+] [-] JohnFen|2 years ago|reply
But it wasn't a common one earlier than that.
[+] [-] tracker1|2 years ago|reply
All said, some things are easier. There will be restarts/reboots/refactors/refreshes and new tooling that makes the old tooling easier to live with. Docker made LXC better... Rust makes WASM easier (and so much more).
I do think that too many places have jumped too many sharks along the way. You don't always need kubernetes and five 9's of up time. You also don't always want to break every minute action into a separate lambda/function. I feel so much for the gray beards from when I was in my 20's. Keep it as simple as you can. If you must add complexity, make sure you wrap it in such a way that makes everything else simpler. Don't create a large application for what you can do with a small script. Automate anything you have to touch more than a couple times.
There will be times where you are slogging, and times where it is easy. You will work with brilliant people and certifiable idiots along the way. Such is life.
If you are passionate about the work, and love to constantly learn. You'll be okay. If you aren't, then find that balance in life, and do what you need to in order to keep up.
[+] [-] JohnFen|2 years ago|reply
Honestly, I think it's time for me to find another line of work.
[+] [-] 908B64B197|2 years ago|reply
> the quality of the software being produced is decreasing
I feel these two are related. I mean, one could say the same looking at companies like Boeing post McDonald Douglas merger.
[+] [-] stefanos82|2 years ago|reply
Count me in when you find it!
What I miss from technology is the group of people I used to collaborate with during my university years. We used to work on one thing and one thing only (UNIX Philosophy anyone?) and there was no way we would not master our craft back then or the subject we were given to work on.
Nowadays everything feels like work on bleeding edge and don't care about the quality of code nor the security of your own libraries.
I feel so awful with myself for choosing such a wrong direction.
[+] [-] schwartzworld|2 years ago|reply
There are lots of great reasons to pursue work in computers, and not wanting to clean toilets for a living is a perfectly valid one.
[+] [-] atmosx|2 years ago|reply
Thanks for sharing. What kind of "ethical issues" are you referring to?
[+] [-] mbm|2 years ago|reply
[+] [-] stefanos82|2 years ago|reply
I don't know anything else apart from technology and I feel doomed -_-
[+] [-] linguae|2 years ago|reply
Even so, quite frankly I love computing and I don't want to leave it behind, even if I feel disillusioned about the tech industry. Some of my thoughts include becoming an independent researcher and also starting a non-profit software company that is devoted to improving the personal computing experience, but I have to figure out how to make a living while pursuing these ideas, and it seems that the cost of living is outpacing my ability to keep up (especially housing costs, which jumped over 30% since 2020 where I live).
[+] [-] the_only_law|2 years ago|reply
There’s just no where else to go that isn’t just less of the stuff I like about it and more of the stuff I hate about it. I had a plan to go back to school and switch fields, but the more time passes, the more I realize this isn’t going to happen. Everything keeps getting more and more expensive, both in terms of money, and more notably time.
[+] [-] JohnFen|2 years ago|reply
[+] [-] shortrounddev2|2 years ago|reply
I do DirectX Graphics and native programming for fun on the side, but it doesn't seem like there's any good money in it. I look up DirectX jobs but a lot of them are AI using GPU pipelines, and AI is really uninteresting to me
[+] [-] thensome|2 years ago|reply
Young dudes are way more respectful of other engineers' actual skill, and less likely to ask female coworkers on dates or do other weird things that drive them away. My mom has actually seen a few younger guys step up and defend her after like forty years of handling these dickbrains on her own. The social side of things, at least in most companies we've seen, has become moderately better for everyone who isn't at work to get a date.
[+] [-] JohnFen|2 years ago|reply
> Old people who don't even know anything about programming are running everything and refuse to retire and let us get on with actually doing stuff.
and
> Young dudes are way more respectful of other engineers' actual skill
Directly contradict each other. Those "old people" you're insulting probably know more than you think. I'll admit that I'm biased, being a graybeard myself, but I don't know of any engineers my age that are still working who don't have a modern skillset.
[+] [-] Spinnaker_|2 years ago|reply
[+] [-] _ank_it|2 years ago|reply
[+] [-] unknown|2 years ago|reply
[deleted]
[+] [-] Eumenes|2 years ago|reply
[+] [-] mikewarot|2 years ago|reply
The existence of Visual Basic and VBA support in the Microsoft Office Suite made it possible, and even practical, for most domain experts to build usable applications that allowed everyone to get their jobs done. If there were performance problems, or it needed to be made more reliable, professional programmers would be brought in to rebuild things in a more properly designed manner.... it was at this point that we almost shifted to being actual Software Engineers, and professionalized.
Since then VB was cast into the pyre as a sacrifice to the very unnecessary migration to .Net, and the bloat that ensued as desktop programming lost a decade of productivity, people decided to just shove everything onto the web.
It was only as this was starting to happen that Steve Jobs further crippled programming by introducing the iPhone, and suddenly GUI applications were expected to work on tiny screens (in either orientation) without proper input hardware like 3 button mice and keyboards, connected across a slow and unreliable network connection.
Needless to say, the last 2 decades have been a total loss as far as programmer productivity goes, with one shining exception.... GIT. Git has its flaws, mostly arising when people don't realize it's a set of snapshots that fake storing deltas, and not the other way around.
GIT/GitHub, et al... are fantastic. The ability to just keep multiple machines up to sync without hassle in seconds is sooooo good. I used to keep stacks of floppy disks with ZIP files of source code, all manually managed.
In the future, we need to recover to the point where you can drag/drop GUI elements and have them work anywhere, like we were with VB/Delphi/Hypercard.
When we get there, we'll let users build basic applications, and we can finally professionalize and apply actual engineering practices to the art of programming.
Until then, please stop calling it engineering. We don't put in anywhere near the effort that Margaret Hamilton (the first actual Software Engineer) and crew did, in safely getting men to the moon. We're programmers, not Engineers. As Uncle Bob said, we don't profess anything. We certainly don't use engineering practices as described by The Engineer Guy.
---
Example: You can plug a lamp into an outlet, and in the US, it can draw up to 15 amperes, and under almost all circumstances, you can't damage the wiring in the house via a fault in the load.
We have no equivalent in software. Chroot, sandboxes, etc... are far too unsafe. We have no standard way of letting the user choose resources to give to applications at run time.
The worst part is, most people don't even see the deficiency. Imagine the current power grid with no fuses or circuit breakers.... the first wiring mistake would crash civilization.
We can do better, we must do better.
[+] [-] whateveracct|2 years ago|reply