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

MajorHavoc, in Should I quit engineering?

I could use some honest advice from experienced programmers and engineers.

Old man programmer checking in.

if you sat me down and asked me about algorithms or anything else I did to get my job in the first place I would be clueless.

Don’t sweat it. No one knows how the fuck computers work.

Anyone who thinks they actually know, isnt educated enough to understand about the bits they don’t understand.

I can solve problems and always get my work done, but I don’t even know the language/framework I use daily well enough to explain what’s going on, I can just do things.

Nice. You’ve got the important part. Ride that until the end.

I don’t think I have imposter syndrome, I think I really might have let any skill I had atrophy.

It’s not impostor syndrome when you’re only 2 years into your career.

If you feel like you don’t know jack shit compared to what I know, after decades… that’s because you don’t know jack shit compared to what I know. There’s nothing wrong with that. Someday I’ll be pissing myself in a nursing home run by automation you maintain. We all get our turn.

I’m the meantime, lucky for you, I can’t be arsed to work more than 40 hours in a week, so there’s plenty of work left to do while you learn.

And I’ll retire soon, and I’l promise I’ll do you a solid and leave decades of my own mistakes and missteps out there for you to earn $$$$ cleaning up after. You’re welcome… I guess.

I used to enjoy programming as a hobby in my spare time, but in two years I’ve opened the IDE on my personal machine no more than twice.

This is very normal. Welcome to the big leagues. If you do something you love for your job, eventually it’s still just a job.

People talk about all the side projects they have, but I have none. I feel too stressed out from the job to do any programming outside of work, even though I love it.

This is very normal for your current stage of your career.

If you stick with it, it gets better when you get to someday become a self-important lob like me who only works on really interesting problems.

And how do I only work on really interesting problems? I make my boss hire a few junior developers and I delegate all the boring stuff to them.

It’s a pretty sweet deal for at least one of us. (Who for, varies by the day, really.)

I feel like I can’t level up from a Junior to Senior because I either don’t have the headspace or the will to do so.

I guarantee that you’ve learned way more than you think. If you stick with it, you’ll have a random moment sometime soon when someone else just can’t wrap their head around a concept you take for granted.

It doesn’t help that the job I’ve had has taught me very little and my dev team has been a shitshow from the beginning.

That sucks, sorry. There are more shitty developer teams than good ones. If you stick with it, and do some strategic job hopping, you can find the good ones.

This is a tough time to switch jobs in tech, I wouldn’t blame you for not wanting to mess with it.

At the moment I have an offer on the table to do a job that isn’t engineering (but still tech) and it surprisingly pays more.

Hell yes! Fuck your current employer for underpaying you!

And you already admitting your current team is shit.

Go take that money!

but I fear I might go down this route and never be able to come back to engineering. Not that I’m sure I want to.

Your developer skills won’t vanish. Trust your future self.

If someone asks why you spent time as a non-developer “those assholes weren’t paying a fair wage” is a fine answer.

It might sound defeatist but I don’t think I’ll ever be a top 5% or even 25% engineer.

As a top 5% engineer (with a trophy for humility), it’s not all they promised.

It turns out there’s still plenty I don’t know, and I spend much more of my time confused and frustrated than I did before. The cool part is that I’m now confused and frustrated by really interesting problems.

I could be average with a lot of work, but not great.

I pay top dollar for average programmers. I’m not hiring right now, but let’s stay in touch.

There’s a lot of coders out there without the self awareness to realize what they don’t know. Those programmers never get any better, and never reach average.

(Contrasted with myself, who, as I said, have several awards for excessive humility in spite of my undeniable genius. /s)

I could potentially be great in the new field I’m being recruited for, but that’s also hard to say without being in the job.

Go find out!

Beware though, when they find out you can code, they will find a way to add that to your job duties.

I know that some people just aren’t cut out for being engineers.

True. Some people’s ego or laziness blinds them to what they need to learn.

I have a huge ego, and I am deeply lazy, but I occasionally put both in check for just long enough to learn.

Maybe I have the aptitude but not the mentality to do this for 30+ years.

Take it a year at a time. Once in awhile, take out some cash and spread it on the ground and sort of roll in it.

Hopefully you’ve noticed, but while this job is usually a pain in the ass, it also pays really fucking well.

I want to know if that’s what it sounds like to people who’ve seen that before.

I’ve had this conversation with all of my very top people, if that’s any consolation.

If you were in my position, would you walk away and just be a hobbyist programmer or stick it out and hope to be a mediocre engineer one day?

If you told my younger self how much money I could make as a mediocre engineer, I would be all over that deal.

I would’ve agonized about the trade-off if I knew I would stop loving my hobby, but taken comfort that I would later love it again.

Everything happens in seasons. Some seasons I code for fun. Some I don’t.

A cool side effect of being paid to code is that when I do find the mind space to hobby code, I am a fucking badass hobby coder.

I think you should take this job because your current employer is running a shitty team, and underpaying you. Then take another programming job later when the next opportunity arrives (and it will…it really will.)


It turns out there’s still plenty I don’t know, and I spend much more of my time confused and frustrated than I did before. The cool part is that I’m now confused and frustrated by really interesting problems.

This is spot on. Your whole response ist just a trove of insight, I wouldn’t have been able to articulate so eloquently.

tkohldesac, avatar

Not to hijack from the OP, but would you change your reply if someone was feeling similarly but wasn’t yet in their first role yet? I’m coming out of 2 years of private mentorship and have spent the last almost 3 months applying with barely a whisper of a reply from a fraction of these jobs so I’m a bit down on myself. I felt confident a month ago but now I’m slinking back applying to jobs in my old industry.


ODelay42 said it all.

I saw a 20 year veteran programmer have a 3 month job search last year. I haven’t seen that since Y2K. Both in Y2K and the 2008 recessions, it was tough to break into the industry.

It sucks, but it will pass. Hang in there.

a1studmuffin, avatar

Once you’re in the industry and see the typical shitshow that goes on in most companies and teams, you won’t think twice about not hearing anything for 3 months. There’s a million reasons why you won’t get a job or not hear back for a really long time that have nothing to do with you. Stick with it, times are tough right now but your luck will eventually change.


it’s a bad time to be looking for work in tech.

Be patient, keep your head up. Keep applying. You’ll get something soon.

Sorry you’re seeking in a down market. It happens every now and again in this industry. You’ll get through the eventually.


Couldn’t have said it any better.


Are you guys both my colleagues? This feels so unbelievably relatable. Seems like a universal issue with junior devs. OP, hang in there if you want to, or don’t if you don’t want to. Your journey seems normal to me :)

Yearly1845, in Stack Overflow Just Announced Their Own AI OverflowAI


  • Loading...
  • jibz,

    Future is now old man

    TheGiantKorean, in Stack Overflow Just Announced Their Own AI OverflowAI avatar

    Does it tell you to Google the problem and then downvote you?


    Hence recursion since Google just takes you back, which leads to stack overflow because there is no exit condition.

    TheGiantKorean, avatar

    Which would be especially messed up if your original question was about recursion.


    This bullshit happens too often lmao

    “Googles problem, finds post”

    “Why are you asking this use Google”

    Gee, thanks

    AnonymousLlama avatar

    "to keep the quality of answers high, we may arbitrarily close questions, regardless of how many upvotes it gets and how helpful it is" - stackoverflow


    That sounds so StackOverflow

    harmonea, in The Fall of Stack Overflow
    harmonea avatar

    Most of the comments here seem to be arguing whether it's better to get help now from SO or ChatGPT, but this is a pretty short-sighted mindset.

    What happens when the next new standard comes out that ChatGPT hasn't been trained on? If SO tanks and dies, where will you go?

    I'm not saying use a lesser resource, I'm saying this is kinda tragic and I hope they can sustain themselves; AI is propped up by human input and can't train itself.

    topinambour_rex, avatar

    We will go to the documentation.


    Oh god, oh no.

    Do you realize what that will mean? My coworkers will have to learn how to understand documentation standards that rely on anything but “self documenting code.”

    I am already “an expert (lol @ my salary)” because I read shit they don’t bother looking up. We’re truly doomed.


    That’s a pipe dream thinking all the documentation is complete and well detailed

    I can’t count the times where I read the documentation for the tutorial to get started and the steps described in the official documentation by the official maintainer fails early.

    Documentation is 99% an afterthought (slight exaggeration here)


    We go back to expertsexchange


    very good point! I find myself using ChatGPT more for references and I am also afraid what will happen if there isn’t enough “human generated content” to train on. I can picture an edge case a chunk of the internet is AI generated content (with even users at the wheel). The the next wave of AI will train on previous gen AI output


    Hey, if people are going to go back to reading manuals like we’re in the 1980’s again is it such a bad thing? /s

    It’s insane how a single tool managed to completely destroy the value collectively created by people in over a decade.


    That single tool is still propped up by that collective decade of knowledge. ChatGPT would be nothing without sites like stackoverflow


    Yeah but will people still care about contributing that information if they’re not going to be compensated for it in any way? Like people get something out of contributing to stack overflow, even if it’s just recognition. This is gone with ChatGPT.


    Isn’t that the FOSS model since ever?


    With the FOSS model you get credited at least, so you are getting something out of it even if it’s not monetary. With ChatGPT you don’t even get that. You’re feeding an AI that’s being monetized by someone else, what possible incentive could people have to contribute anymore?


    Not everyone is motivated by money and recognition, are you aware of that? Since humans were humans, cooperation has been an integral part of society and still is today.

    Some people will always try to monetize everything, but still, people continue to develop FOSS.

    ChatGPT will be no different in that regard.


    When a single entity reaps all of the rewards of that cooperation, people are much less motivated to do that.

    Some people are politically motivated, there are tons of reasons, but it’s a two way interaction in all of these cases.

    pgetsos avatar

    AI should be trained by itself though. I just wouldn't call LLMs "AI" as a term

    Also, it shall be possible in the future to just feed it the documentation and have answers. Obviously we are still nowhere near yet


    Crazy idea, what about a “federated” search. Hook up the websites’ internal search engines to an aggregator. Stop allowing random indexing spiders to scrape.

    gosling, avatar

    Does it really though? It seems to me that once you nail the general intelligence, you’ll just need to provide the supplemental information (e.g. new documentations) for it to give an accurate response.

    Bing already somewhat does this by connecting their bot to internet searches


    We’re not able to properly define general intelligence, let alone build something that qualifies as intelligent.

    gosling, avatar

    I can think of four aspects needed to emulate human response: basic knowledge on various topics, logical reasoning, contextual memory, and ability to communicate; and ChatGPT seems to possess all four to a certain degree.

    Regardless of what you think is or isn’t intelligent, for programming help you just need something to go through tons of text and present the information most likely to help you, maybe modify it a little to fit your context. That doesn’t sound too far fetched considering what we have today and how much information are available on the internet


    I can think of four aspects needed to emulate human response: basic knowledge on various topics, logical reasoning, contextual memory, and ability to communicate; and ChatGPT seems to possess all four to a certain degree.

    LLM’s cannot reason, nor can they communicate. They can give the illusion of doing so, and that’s if they have enough data in the domain you’re prompting them with. Try to go into topics that aren’t as popular on the internet, the illusion breaks down pretty quickly. This isn’t “we’re not there yet”, it’s a fundamental limitation of the technology. LLM’s are designed to mimick the style of a human response, they don’t have any logical capabilities.

    Regardless of what you think is or isn’t intelligent, for programming help you just need something to go through tons of text and present the information most likely to help you, maybe modify it a little to fit your context. That doesn’t sound too far fetched considering what we have today and how much information are available on the internet.

    You’re the one who brought up general intelligence not me, but to respond to your point: The problem is that people had an incentive to contribute that text, and it wasn’t necessarily monetary. Whether it was for internet points or just building a reputation, people got something in return for their time. With LLM’s, that incentive is gone, because no matter what they contribute it’s going to be fed to a model that won’t attribute those contributions back to them.

    Today LLM’s are impressive because they use information that was contributed by millions of people. The more people rely on ChatGPT, the less information will be available to train it on, and the less impressive these models are going to be over time.


    What if the documentation is lacking? Experienced users will still know how a library works because they’ve tried some things, but that information won’t be available if they never talk about it online

    WheeGeetheCat, avatar

    how do people still have this much faith in the tools humans build after seeing the climate change caused by the industrial revolution.


    It seems to me that once you nail the general intelligence

    That’s not happening anytime soon.


    I was working on a hobby project where I used a niche framework in a somewhat uncommon way. I was stuck on a concept that I think the documentation didn’t explain well enough, at least for me, and I couldn’t find any resource on it aside from the docs.

    I asked Bing to write a piece of code that does what I wanted and explain each line. It was perfectly working and the explanation was also understandable. All it did was search for its official documentation. It really blew my mind.


    LLMs do not relate to general intelligence in any manner.

    muttley, in What are some examples of xkcd 2347?
    muttley avatar

    The core-js library is used by 1000s of top websites and is maintained by one guy


    He also went to prison

    Highsight avatar

    It's honestly a fascinating read. We count so much on these kinds of people to keep our way of life intact, but when they ask for a little help in their own life, they get spat on.


    It's really, really sad that this sort of stuff doesn't get picked up and funded for the greater good. Stuff like the NLnet Foundation exists, which has helped fund some pretty major projects (including the development of Lemmy), but something this critical I feel should be consistently funded by even larger entities in order to keep things working right.


    This story got me sad. But also, the guy should know better as not to dedicate all of his time on that. This article talk a bit about this issue.


    That feels it went seriously bad

    fubo, in What are some examples of xkcd 2347?

    Public NTP time servers have occasionally been that piece of infrastructure.

    NTP is used for synchronizing computer clocks, ultimately using highly-accurate time sources such as atomic clocks. The most authoritative public time servers tend to be run by research universities, national labs, and so on.

    Multiple home router vendors have sold devices configured to poll university NTP servers vastly excessively; effectively running a denial-of-service attack against public infrastructure. In a few cases, public time servers have closed down because of abuse by misconfigured consumer devices.

    vzq, in Microsoft opens a "high priority" bug ticket in ffmpeg, attempting to leech the free labour of the maintainers

    FFMPEG is a core technology. You literally cannot do anything with video without touching FFMPEG at multiple places in the stack.

    The fact that we have billions of dollars of revenue flowing through that software every day, but we rely on VOLUNTEERS to maintain it shows exactly how hollow the whole SV entrepreneur culture really is.

    Bunch of fucking posers wouldn’t know performance code if it kicked them in the face.


    They’re not going to invest in it if they don’t own it, and frankly I’m happy they don’t.


    Those same companies tell you that their products that you paid for don’t belong to you. You are just buying a license to use them. Sadly, this asinine concept is spreading even to hardware markets.

    I think it’s fair to ask them to take their own bitter pill. They should also invest without owning.


    QuickTime has entered the chat

    avidamoeba, avatar

    Bunch of fucking posers wouldn’t know performance code if it kicked them in the face.

    You mean JavaScript right?


    These days it’s all about Python, with AI being the hype and all. JS can at least try to compete.


    The fact that we have billions of dollars of revenue flowing through that software every day, but we rely on VOLUNTEERS to maintain it shows exactly how hollow the whole SV entrepreneur culture really is.

    Exactly: I’m not mad about important things being run by volunteers – arguably, that’s a good thing because it means project decisions are made uncorrupted by profit motive – but I am mad about the profit being reaped elsewhere on the backs of their free labor.

    dalias, avatar

    @grue @vzq The key is that these folks are supposed to have both freedom & power to set direction independent of corporate shit, and compensation for their labor.

    jrthreadgill, avatar

    @grue @vzq this is such an interesting space. The general public has no idea how much of their software relies on open source code and voluntary community contributions. There have been so many attempts to figure out a way to compensate these maintainers, but it doesn't seem like anything has really become the defacto solution. Open Collective and Tidelift are the closest things I can think of.

    helenslunch, (edited )

    OBS seems to be funded by the likes of Meta, Google, Amazon, AMD, Nvidia, etc. despite being unaffiliated.


    arguably, that’s a good thing because it means project decisions are made uncorrupted by profit motive

    Argue-er here, chiming in. This statement could be interpreted as considering only half of the central relationship of capitalism. (Capitalism isn’t just about deriving profit from the control of surplus, it’s about the relationship between surplus and scarcity. Surplus doesn’t mean shit if no one wants what you have.)

    The decisions that volunteers make may not be motivated by the desire/ability to make profit, but they can be (and often are) motivated by the opposite; they have to account for the fact that their volunteer work is labor that isn’t contributing to their survival – aka, their day job. The demands placed on them by their other responsibilities will have to take precedence over the volunteer project.

    In practice, this means they have to take shortcuts and/or do less than they would like to, because they don’t have time to devote to it. It’s not exactly the same end product as if it was profit-seeking, since that can tempt maintainers into using dark patterns etc, but they’re similar.

    Ideally, they would have all the money they needed, didn’t have to have regular jobs, but also had families/friends/hobbies that would keep them from over-engineering ffmpeg.

    To say this in a simpler/shorter way (TD;DR), their decisions can be motivated by the fact that they aren’t making money from it, don’t have enough time or resources to do everything they might want.

    (Why is this so long?? I’m bored in the train, gotta kill the time somehow…why not say in 1000 words what I could have said in 100)


    Interesting point! I’m not sure that that motivates the quality or type of decisions so much as the mere quantity, though. (In other words, I agree the pace of development suffers, but I’m not sure the quality of the end result does.)

    AFKBRBChocolate, in Can one be too dumb for programming?

    Title question first: yes, you absolutely can be too dumb to program.

    But as others have mentioned, being bad at math isn’t necessarily a deal breaker, especially if you’re taking about the actual arithmetic part of math.

    What turns out to be key to programming is breaking down a problem into steps and figuring out the logic to do what you want to do. The computer is going to do the actual arithmetic, but you’ll need to tell it what you want to do step by step.

    WetBeardHairs, in Introducing Wikifunctions: first Wikimedia project to launch in a decade creates new forms of knowledge – Wikimedia Foundation

    Neat. I don’t like that the implementations have to name the function by some cryptic identifier, though. Real words matter in source code.

    Who can tell me what this function is?

    <span style="color:#323232;">def Z10096(Z10096K1):
    </span><span style="color:#323232;">    return Z10096K1 == Z10096K1[::-1]

    How about this?

    <span style="color:#323232;">def isPalimdrone(myString):
    </span><span style="color:#323232;">    return myString == myString[::-1]

    It looks to me like they did it this way so that it could have natural-language names in many languages. So, the function Z10096 is called "is palindrome" in English, but if you're coding in Japanese you can call it "回文の判定". I don't think the idea is for people to refer primarily to the alphanumeric soup version; I think that's just the unique identifier for the database.

    It does look like it's leading to some issues, though. E.g., someone added a test for the "is palindrome" function which uses a somewhat common example: "Straw? No, too stupid. I put soot on warts." Now, a human would probably say that this is a palindrome, because it's got the same letters forwards and backwards, but most of the implementations disagree, because they consider the spaces, capitalization, and punctuation to be part of the string; that is, they test whether the input string and its reverse are equal. So someone (possibly the same person) has added a second python implementation which ignores spaces, capitalization, and punctuation, and mentions that in its name on the page.

    Fundamentally this function is solving a different problem than the others (as demonstrated by the differing results on the relevant test), so should it get its own number and page? should there be a "palindrome disambiguation" page? This seems like something the site will have to figure out how to handle.


    I think you’re absolutely correct about them choosing those awful identifiers so the functions are not language specific. It just hurts to read and thoroughly makes it harder to understand because my brain doesn’t tokenize “Z10096” and “Z10096K1”.

    S410 avatar

    "Our goal is knowledge, so we're going to obfuscate everything to fuck and make things unreadable"


    No. Details and scope limitations please


    Tbf it wasn’t so much the names that tripped me as the weird Python operator. I would’ve never guessed that’s a string reversal if you hadn’t told me (I don’t know much Python beyond recognizing the syntax). If I had to guess I would’ve said it’s an array pop.


    When I originally typed it, I made a function for string reversal and called that. But I didn’t include it since I didn’t want to define that too.

    Honestly… this wiki has a seriously difficult path ahead of it. I mean - it’d be fantastic if it did simplify things like that to let you write simple, elegant, and easy to read functions while linking to other functions.

    But it’d also have to lint those and make sure that contributors don’t implement recursive dependencies.

    uniqueid198x, in So Much for ‘Learn to Code’ - In the age of AI, computer science is no longer the safe major.

    Scare pieces like this are created by people who have no actual understanding of software.

    Software is the automation of conceptual tasks. Some of these, like taxes or text editing, were fairly procedural and automated early. Others, like identifying birds or deepfaking celebreties, are dificult and were done later.

    Creating software is another conceptual task, and it might be possiple to automate it. But once we have automated creating software, automating any other task becomes trivial as well.

    If this ever comes to pass, there are no safe majors.

    Jaysyn, in Unity Silently Deletes GitHub Repo that Tracks Terms of Service Changes and Updated Its License
    Jaysyn avatar

    The internet is forever, Unity.

    Kwdg, in What programming languages aren't too criticized here?

    There is a good quote from Bjarne Stroustrup for that “There are only two kinds of languages: the ones people complain about and the ones nobody uses”. I think for hobby projects it’s the best to use languages that interest you


    This for sure. At work (fe dev), I need to get things done quickly and reliably, so I use Svelte. At home, I’m just playing around, so I’ll try things that are out of my wheelhouse or strange, eg rn I’m rebuilding the site I always rebuild in Qwik, Go, and Surrealdb - why? Because they seem neat. (Though I might just rm rf that to build something on Bun, because is there anything is can’t do?)


    There are two types of programmers, those who write buggy code and those who never do anything.

    Romkslrqusz, in Bored of using Lorem Ipsum for your mockups? Check out Hipster Ipsum!

    Add Samuel L Ipsum to your list!


    This site sometimes returns a hard-R quote from Pulp Fiction, careful


    Oh no did we kill it?



    m_randall, in How do you wrap your head around large established software projects in order to contribute to them?

    It’s easy! Don’t. It’s not possible to do.

    Focus on one small area instead of the whole project. If there isn’t a “beginner” ticket selection then find one (or give yourself a goal). Figure out where that code is and start playing around with it.

    As you branch out and work on more and more tickets you’ll gain more and more experience. You’ll understand how different blocks and systems interact and gain a better overall understanding of the code base in general but you’ll never be able to keep everything in your head. It’s just not needed.

    And I don’t think it’s been said yet but as a former vi guy a good IDE was a huge boost to productivity. Ease of navigation around the code, intelligent searching, etc really helped out in the exploratory phase.

    kibiz0r, in Why is the Node ecosystem so demanding?

    So many reasons. JS has a small standard library, a history of competing standards for things like asynchrony and modules, there are tons of different implementations against tons of different specs, running in tons of different environments (whose constraints and opportunities are also changing all the time), it tends to be the first language to receive an SDK for many services, packages tend to be almost-excessively granular because optimizing for size can be so important on certain platforms (tree-shaking and minification works, but takes time), there are many add-on languages like JSX and TS, there are tons of bundlers and transpilers which each have their own quirks… and also due to its unique position as the lingua franca of client-side web, it tends to be the primary battleground for researchers, tech firms, VC, FOSS, malicious users, and everything else.

    To stay alive in an ecosystem like that, any project must become a “ship of theseus” kind of deal.

    You may be interested in yarn’s “zero-installs” option:

  • All
  • Subscribed
  • Moderated
  • Favorites
  • DreamBathrooms
  • magazineikmin
  • InstantRegret
  • mdbf
  • Youngstown
  • slotface
  • osvaldo12
  • khanakhh
  • thenastyranch
  • rosin
  • kavyap
  • Durango
  • GTA5RPClips
  • Backrooms
  • anitta
  • ethstaker
  • everett
  • cisconetworking
  • modclub
  • hgfsjryuu7
  • tester
  • cubers
  • tacticalgear
  • provamag3
  • Leos
  • normalnudes
  • JUstTest
  • lostlight
  • All magazines