There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

programmerhumor

This magazine is from a federated server and may be incomplete. Browse more on the original instance.

Bishma , in question, When were programmers supposed to be obsolete?
@Bishma@discuss.tchncs.de avatar

The earliest I can think of (from personal experience) is 4GL languages; the early low-code platforms that first started to get traction in the early 80s. They wouldn’t have replaced programmers but some thought/hoped they would usher in an age of “low skill” programmers that companies could get away with paying minimum wage to.

Ephera ,

Oh yeah, low-code platforms in general are pretty much always a thing, in every industry for various tasks.

I’ve also never seen any of them that were not horribly abused with ridiculous workarounds or custom code snippets, which effectively made them as complex as a real program.

tacosplease , in The C++ learning process

The image doesn’t open for me. But I guess the joke still works in a way.

unionagainstdhmo OP ,
@unionagainstdhmo@aussie.zone avatar

Does Ignatius in the post body?

dejected_warp_core , (edited ) in The C++ learning process

Last time I did anything on the job with C++ was about 8 years ago. Here’s what I learned. It may still be relevant.

  • C++14 was alright, but still wasn’t everything you need. The language has improved a lot since, so take this with a grain of salt. We had to use Boost to really make the most of things and avoid stupid memory management problems through use of smart (ref-counted) pointers. The overhead was worth it.
  • C++ relies heavily on idioms for good code quality that can only be learned from a book and/or the community. “RAII” is a good example here. The language itself is simply too flexible and low-level to force that kind of behavior on you. To make matters worse, idiomatic practices wind up adding substantial weight to manual code review, since there’s no other way to enforce them or check for their absence.
  • I wound up writing a post-processor to make sense of template errors since it had a habit of completely exploding any template use to the fullest possible expression expansion; it was like typedefs didn’t exist. My tool replaced common patterns with expressions that more closely resembled our sourcecode^1^. This helped a lot with understanding what was actually going wrong. At the same time, it was ridiculous that was even necessary.
  • A team style guide is a hard must with C++. The language spec is so mindbogglingly huge that no two “C++ programmers” possess the same experience with the language. Yes, their skillsets will overlap, but the non-overlapping areas can be quite large and have profound ramifications on coding preferences. This is why my team got into serious disagreements with style and approach without one: there was no tie-breaker to end disagreement. We eventually adopted one after a lot of lost effort and hurt feelings.
  • Coding C++ is less like having a conversation with the target CPU and more like a conversation with the compiler. Templates, const, constexpr, inline, volatile, are all about steering the compiler to generate the code you want. As a consequence, you spend a lot more of your time troubleshooting code generation and compilation errors than with other languages.
  • At some point you will need valgrind or at least a really good IDE that’s dialed in for your process and target platform. Letting the rest of the team get away without these tools will negatively impact the team’s ability to fix serious problems.
  • C++ assumes that CPU performance and memory management are your biggest problems. You absolutely have to be aware of stack allocation, heap allocation, copies, copy-free, references, pointers, and v-tables, which are needed to navigate the nuances of code generation and how it impacts run-time and memory.
  • Multithreading in C++14 was made approachable through Boost and some primitives built on top of pthreads. Deadlocks and races were a programmer problem; the language has nothing to help you here. My recommendation: take a page from Go’s book. Use a really good threadsafe mutable queue, copy (no references/pointers) everything into it, and use it for moving mutable state between threads until performance benchmarks tell you to do otherwise.
  • Test-driven design and DevOps best-practice is needed to make any C++ project of scale manageable. I cannot stress this enough. Use every automated quality gate you can to catch errors before live/integration testing, as using valgrind and other in-situ tools can be painful (if not impossible).

1 - I borrowed this idea from working on J2EE apps, of all places, where stack traces get so huge/deep that there are plugins designed to filter out method calls (sometimes, entire libraries) that are just noise. The idea of post-processing errors just kind of stuck after that - it’s just more data, after all.

7uWqKj , in question, When were programmers supposed to be obsolete?

SQL

Phen , in question, When were programmers supposed to be obsolete?

If a tool were created that properly converted an UML diagram into a project without any need for code, all the programmers that lost their job to this tool would then be hired by the company that offered it, in order to give maintenance and support to everything the customers want in their programs.

It would be removing programmers from they payroll of some companies but they would still be working for them, just further down in the chain.

The same is true for AI. If AI could completely replace programmers in some area, it would need a lot of programmers itself to keep dealing with all the edge cases that would show up from being used everywhere that a programmer was needed before.

SzethFriendOfNimi ,
@SzethFriendOfNimi@lemmy.world avatar

Besides. Somebody has to convert customer needs into the diagram. Account for what they’re not saying, etc.

That’s the real essential skill in software dev, not spitting out lines of code.

MrPoopyButthole ,
@MrPoopyButthole@lemmy.world avatar

Yup. Business logic for things that cost millions or billions should not be run by an approximation machine.

corsicanguppy ,

Thanks. I’m remembering the relevant scene from Office Space. ;-)

SzethFriendOfNimi ,
@SzethFriendOfNimi@lemmy.world avatar

I HAVE PEOPLE SKILLS!!!

leisesprecher ,

To be fair, a lot of roles simply disappeared over the years.

Developers today are much more productive than 30 years ago, mostly because someone automated the boring parts away.

A modern developer can spin up a simple crud app including infrastructure in a day or so. That’s much much more productive than 1995. We just cram a lot more of the world into software, so we need 20x the amount of developers we needed back then.

litchralee , in question, When were programmers supposed to be obsolete?

I know this is c/programmerhumor but I’ll take a stab at the question. If I may broaden the question to include collectively the set of software engineers, programmers, and (from a mainframe era) operators – but will still use “programmers” for brevity – then we can find examples of all sorts of other roles being taken over by computers or subsumed as part of a different worker’s job description. So it shouldn’t really be surprising that the job of programmer would also be partially offloaded.

The classic example of computer-induced obsolescence is the job of typist, where a large organization would employ staff to operate typewriters to convert hand-written memos into typed documents. Helped by the availability of word processors – no, not the software but a standalone appliance – and then the personal computer, the expectation moved to where knowledge workers have to type their own documents.

If we look to some of the earliest analog computers, built to compute differential equations such as for weather and flow analysis, a small team of people would be needed to operate and interpret the results for the research staff. But nowadays, researchers are expected to crunch their own numbers, possibly aided by a statistics or data analyst expert, but they’re still working in R or Python, as opposed to a dedicated person or team that sets up the analysis program.

In that sense, the job of setting up tasks to run on a computer – that is, the old definition of “programming” the machine – has moved to the users. But alleviating the burden on programmers isn’t always going to be viewed as obsolescence. Otherwise, we’d say that tab-complete is making human-typing obsolete lol

leviticoh OP ,

@litchralee
Thank you!
i didn't expect serious answers here, but this was a nice read,

so the various jobs around computers were kind of obsoleted, but the job description just shifted and the title remained valid most of the times,

now i'm interested to see what we'll do 20 years from now rather than just being annoyed by the "don't learn ${X}, it's outdated" guys

python , in question, When were programmers supposed to be obsolete?

Dude I WISH an AI would do all the dumb AWS crap for me so that I could just hang out and build React frontends all day

lord_ryvan ,

I wish it could build front ends fornme so I could focus on database, backend and devops

Bishma , (edited )
@Bishma@discuss.tchncs.de avatar

The thing that made me laugh when I saw the article that OP mentions is that it was coming from AWS.

In my testing AWS’s Titan AI is the least useful for figuring out how to do things in AWS. It’s so terrible that Amazon just announced they’re using Claude for Alexa’s upcoming “AI” features.

brbposting , in My debugging experience today: Quantum Debugging
mosiacmango ,

He worked for the gmsin site/podcast “Giant bomb” years ago. Pretty sure the image macro is pulled from one of their podcast videos.

WhiskyTangoFoxtrot ,

I always thought it was Cary Elwes.

scrubbles , in question, When were programmers supposed to be obsolete?
@scrubbles@poptalk.scrubbles.tech avatar

It’s happened a few times in my career where people tell me I’ll be obsolete, but it’s always been some company hyping their new product and suits frothing at the prospect of not having to pay me anymore.

So far they’re like 0 for 8 or so.

Now I will say the goalposts move. What I’m doing now is for sure not what I was doing 10 years ago. I’m definitely heavier in devops and infra than where I was before (ironic because they said we’d never have to worry about that stuff again if we moved to the cloud). AI is still basically machine learning, just in a while loop, so I’ve spent time learning that. So, in a way, yes we’re obsolete in the sense that if I was the same engineer I was 10 years ago I wouldn’t be worth nearly this much, I had to grow and evolve with technology.

UnsavoryMollusk , (edited )

“Don’t worry the salesman told me I would not need an infra team anymore ! Also do you know what is a vpc ?”

scrubbles ,
@scrubbles@poptalk.scrubbles.tech avatar

Oh don’t worry, you can just pay <<cloud provider>> 30x what you were your infra team before, or if that’s too expensive just pay a consulting form 10x what you would have before. Then they can go dine on steaks while they have the same infra guy you had hired before doing the same stuff just now in “teh cloud”, but making less money

leviticoh OP ,

@scrubbles
cool

but it's always been some company hyping their new product and suits frothing at the prospect of not having to pay me anymore

i half expected it, after all it's what's happening right now

What I'm doing now is for sure not what I was doing 10 years ago.

that's right, i guess some aspects of programming have really been made obsolete

corsicanguppy ,

some aspects of programming have really been made obsolete

I’d agree that some specifics have been made obsolete. Some habits and routines are currently being ignored or skipped, but the amount of skill that’s gone away is very small.

As mentioned before, we downsized brutally after Y2K. The people most affected were the highest-paid who weren’t the best code-grinders, and these were the documenters, the programme people, and the mentor types. We lost our guides, our structure, and our historians. We’ve been growing again like feral children rebuilding society from the wasteland like it’s Mad Max, and there’s a LOT of the Why that we either don’t know, that we ignore, or that we skip in the interests of (insert manufactured urgency here).

We are re-learning some of the whys, but we haven’t yet seen the half-assedry chickens come home to roost on that. The symptoms are there: Boeing’s Gilligan’s Island in Space, supply-chain sploits in waves, personal information lost weekly, all these things that are clipboard hassles we stopped doing that pelrevent massively expensive things later.

Crowdstrike may die now, mainly because they were marauding leopards we allowed to eat our face. Solarwinds before that, same issue but they seem to be okay. There are dozens of ohShit moments that could lead to similarly preventable problems, that we knew not to do … once.

Well get there again but we’ll be rediscovering a lot of what some techbro will claim is obsolete, old-practice, too-cautious, hand-wringing in our neu and moderne go-hard/break-lives paradigm.

themoonisacheese ,
@themoonisacheese@sh.itjust.works avatar

DevOps was a lie pushed on devs to make them become sysadmins, unfortunately.

corsicanguppy ,

It was a fancy lie about their spare time, but especially in dotcom, there IS no spare time to learn architecture.

What I’ve seen of dev AND ops is that their knowledge is focused well on their own things. And when it comes to the other half of devops they just want the shortest path back to doing their thing. This has caused absolute princess devs to be nearly screaming about the hassle of security and change control and infrastructure and proper code deployment and testing and … Well, a lot of things.

It doesn’t pay to have people learning to half-ass dev because ops is your thing. You need advocacy on both sides of that line, still.

leisesprecher ,

And DBAs. I’m currently working on a project where I said from the very start, I can set up this DB in k8s and I can get it to work decently, but I have neither the knowledge nor the time to get it right. Please give me someone who knows how this works.

No, don’t worry, it’ll be fine, we don’t need that, this kuverneles thing I keep hearing about handles that!!!

Six months of hard contact with the enemy on production later:

Well, we’re currently looking for someone who actually knows how DBs work, because we have one of those issues that would cost a proper DBA 5min and me 5 months.

scrubbles ,
@scrubbles@poptalk.scrubbles.tech avatar

I feel like there is a lost art of DBAs, where in their mystical knowledge rests how to make perfect cheap and scalable databases, and business cast them away because “Why not pay Google twice that amount?”

astro_ray , in question, When were programmers supposed to be obsolete?

In Neolithic era I guess?

TheSlad , in My debugging experience today: Quantum Debugging

Just run your prod env in debug mode! Problem solved.

MultipleAnimals , (edited )

You can imagine how many node projects there are running in production with npm run. I have encountered js/ts/node devs that don’t even know that you should like, build your project, with npm build and then ship and serve the bundle.

AlecSadler ,

I just died a little inside. Thank you.

Swedneck ,
@Swedneck@discuss.tchncs.de avatar

i have absolutely seen multiple projects on github that specifically tell you to do “npm run” as part of deploying it.

lupec ,

Lol my workplace ships Angular in debug mode. Don’t worry though, the whole page kills itself if a dubious third-party library detects the console is open. Very secure and not brittle at all! Please send help

Barbarian ,
@Barbarian@sh.itjust.works avatar

Blink-blink-blink. Blink. Blink. Blink. Blink-blink-blink.

No, I don’t have something in my eyes, I swear I’m fine looks nervously at boss.

slacktoid ,
@slacktoid@lemmy.ml avatar

Hang tight help is on the way.

InFerNo ,

Now I’m curious how this detection would work.

SteveTech ,

I’ve seen some that activate an insane number of breakpoints, so that the page freezes when the dev tools open. Although Firefox let’s you disable breaking on breakpoints all together, so it only really stops those that don’t know what they’re doing.

bassdruminphonebox , in My debugging experience today: Quantum Debugging
mindbleach , in My debugging experience today: Quantum Debugging

One of the worst words in the English language is “intermittent.”

uranibaba , in My debugging experience today: Quantum Debugging

I once had a bug in a C# program I wrote. It made a HTTP request and if the user agent was left to default (whatever that was), the server just gave back an empty string as a reply. I took way to long until I understood what was going on and I kept chasing async, thinking I had messed it up some how.

mvirts , in My debugging experience today: Quantum Debugging

I found the solution, we’re running debug builds in prod from now on

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines