As someone who spends time programming, I of course find myself in conversations with people who aren’t as familiar with it. It doesn’t happen all the time, but these discussions can lead to people coming up with some pretty wild misconceptions about what programming is and what programmers do.

  • I’m sure many of you have had similar experiences. So, I thought it would be interesting to ask.
      •  KISSmyOS   ( @KISSmyOS@feddit.de ) 
        link
        fedilink
        13
        edit-2
        7 months ago

        What did it say?

        I’ve had users who legitimately did not understand this question.
        “What do you mean, what did it say? I clicked on it but it still didn’t work.”

        Then you set up an appointment to remote in, ask them to show you what they tried to do, and when the error message appears, they instantly close it and say “See, it still doesn’t work. What do we even pay you for?”
        I’ve had remote sessions where this was repeated multiple times, even after telling them specifically not to close the message. It’s an instinctive reflex.

        • Or it won’t happen when you’re watching, because then they’re thinking about what they’re doing and they don’t make the same unconscious mistake they did that brought up the error message. Then they get mad that “it never happens when you’re around. Why do you have to see the problem anyway? I described it to you.”

          • When that happens, I’m happy. Cause there is no error when the task is done right.
            I mail them a quick step-by-step manual with what they just did while I watched.
            When the error happens the next time I can tell them to RTFM and get back to me if that doesn’t solve the issue.

    • Lol! My mum still asks both me and my husband (“techy” jobs according to her) to solve all her problems with computers/printers/ the internet at large/ any app that doesn’t work… the list is endless. I take it as a statement of how proud she is of me that she would still ask us first, even if we haven’t succeeded in fixing a single issue since the time the problem was an old cartridge in the printer some 5-6 years ago.

  •  popcar2   ( @popcar2@programming.dev ) 
    link
    fedilink
    English
    76
    edit-2
    7 months ago

    That just because I’m a programmer that must mean I’m a master of anything technology related and can totally help out with their niche problems.

    “Hey computer guy, how do I search for new channels on my receiver?”

    “Hey computer guy, my excel spreadsheet is acting weird”

    “My mobile data isn’t working. Fix this.”

    My friend was a programmer and served in the army, people ordered him to go fix a sattelite. He said he has no idea how but they made him try anyways. It didn’t work and everyone was disappointed.

    • He said he has no idea how but they made him try anyways.

      Uh, I’ve been present when such a thing happened. Not in the military, though. Guy should install driver on a telephone system, despite not being a software guy (he was the guy running the wires). Result: About as bad as expected. The company then sent two specialists on Saturday/Sunday to re-install everything.

    • Don’t pretend you suck at these things. You know very well you are fucking equipped to fix this kind of thing when you work with programming. Unless you’re, like a web developer or something ofc

        • I worked in a post office once. I once had a customer demand some package delivery option, if I remember correctly. He was adamant that it was “only a few lines of code”, that I was difficult for not obliging, and that anyone in the postal service should make code changes like that on the whims of customers. It felt like I could have more luck explaining “wallpaper” to the currents in the ocean…

        • I used to work on printer firmware; we were implementing a feature for a text box for if you scanned a certain number of pages on a collated, multi-page copy job. The text box told you it would print the pages it had stored to free up memory for more pages; after those pages had printed, another text box would come up asking if you wanted to keep scanning pages, or just finish the job.
          The consensus was that it would be a relatively simple change; 3 months and 80 files changed — with somewhere in the ballpark of 10000-20000 lines changed, — proved that wrong.

    • I like to say:

      We have a half finished skyscraper, and you’re asking me to Just add a new basement between the second and third floor. Do you see how that might be difficult? If we want to do it, we have to tear down the entire building floor by floor, then build up again from the second floor. Are you prepared to spend the money and push back the release date for that new feature?

    • I would have written that comment if you hadn’t already done it.

      I don’t know exactly why people think that we can “just” do whatever they ask for.

      Maybe it has something to do with how invisible software is to the tech-illiterate person but I’m not convinced. I’m sure there are other professions that get similar treatment.

    • A friend asked me to atempt data recovery on some photos which ‘vanished’ off an USB stick.

      Plugged it in, checked for potential hidden trash folders, then called it a day. Firstly I havenever done data forensic and secondly: No backup? No mercy.

    • You’re a hacker (only if you count the shit I program as hacks, being hack jobs)
    • You can fix printers
    • You’re some sort of super sherlock for guessing the reason behind problems (they’ll tell you “my computer is giving me an error”, fail to provide further details and fume at your inability to guess what’s wrong when they fail to replicate)
    • If it’s on the screen, it’s production ready
  • That it’s mostly sitting behind a computer writing code. More than half my time is spent in the exploration phase: math, research, communication and developing a concept. The actual writing of code is typically less than 1/3.

    Also as someone mentioned before, that it’s considered something ‘dry’. I honestly wouldn’t be able to code properly without my intuition. Take for example code smell. I don’t know why the code is bad, I just feel that it’s off somehow, and I keep chipping away until it feels just right.

  • That IT subject matter like cybersecurity and admin work is exactly the same as coding,

    At least my dad was the one who bore the brunt of that mistake, and now I have a shiny master’s degree to show to all the recruiters that still don’t give my resume a second glance!

    • Idk I’m not sure I’d trust any dev who doesn’t consider cyber security in their coding. So much development is centered around security whether that’s auth or input sanitization or SQL query parameterization…

      If you’re working on an internal only application with no Internet connectivity then maybe you can ignore cybersec. But only maybe.

      •  Mesa   ( @Mesa@programming.dev ) 
        link
        fedilink
        9
        edit-2
        7 months ago

        No one’s saying to ignore it.

        If I own and run a sandwich shop, I don’t need to be on the farm picking and processing the wheat to make the flour that goes into my bread. I could do that, but then I’d be a farmer, a miller, and a sandwich maker. All I need to know is that I have good quality flour or bread so that I can make damn good sandwiches.

        • I’m confused where cybersec sits in your sandwich analogy. If every time you sold a sandwich someone could use it to steal all the money in your business you’d probably need to know how to prevent reverse sandwich cashouts.

          I’m not talking about advanced, domain specific cybersec. I don’t expect every developer to have the sum total knowledge of crowd strike… But in a business environment I don’t see how a developer can not consider cybersec in the code they write. Maybe in an org that is so compartmentalized down that you only own a single feature?

          • In a few words, I’m reiterating the point that a professional software developer =/= professional cyber security expert. Yes, I know that I should, for example, implement auth; but I’m not writing the auth process. I’m just gonna use a library.

      • Well, at least I know from this that some folks give my résumé the first look! Not exactly more than cold comfort though, especially when I’ve already built a career in business management after a family friend gave me a leg up when the “I don’t want to do my job!” HR sorting bots kept discarding my resume for not having gone to Harvard for either my Bachelor’s or Master’s.

        •  huginn   ( @huginn@feddit.it ) 
          link
          fedilink
          1
          edit-2
          7 months ago

          My part of the hiring cycle they’ve already gotten past the pipeline / bots. I’m there to do architecture and design questions 😉

          But I do read every resume.

      • … You know not all development is Internet connected right? I’m in embedded, so maybe it’s a bit of a siloed perspective, but most of our programs aren’t exposed to any realistic attack surfaces. Even with IoT stuff, it’s not like you need to harden your motor drivers or sensor drivers. The parts that are exposed to the network or other surfaces do need to be hardened, but I’d say 90+% of the people I’ve worked with have never had to worry about that.

        Caveat on my own example, motor drivers should not allow self damaging behavior, but that’s more of setting API or internal limits as a normal part of software design to protect from mistakes, not attacks.

        • It’s fair to point out that not all development is Internet connected, but ~58% of developers work in web dev.

          5% in desktop apps

          3% in mobile

          2.4% in embedded

          And then of the remaining I’d be shocked if few of their domains excluded Internet facing devices.

          https://survey.stackoverflow.co/2023/#section-developer-roles-developer-type

          But you’re right to point out development isn’t a monolith. Professionally though: anyone working in a field where cybersecurity is a concern should be thinking about and knowledgeable of cybersec.

          • I didn’t realize just how siloed my perspective may be haha, I appreciate the statistics. I’ll agree that cyber security is a concern in general, and honestly everyone I know in industry has at least a moderate knowledge of basic cyber security concepts. Even in embedded, processes are evolving for safety critical code.

    • That IT subject matter like cybersecurity and admin work is exactly the same as coding,

      I think this is the root cause of the absolute mess that is produced when the wrong people are in charge. I call it the “nerd equivalency” problem, the idea that you can just hire what are effectively random people with “IT” or “computer” in their background and get good results.

      From car software to government websites to IoT, there are too many people with often very good ideas, but with only money and authority, not the awareness that it takes a collection of specialists working in collaboration to actually do things right. They are further hampered by their own background in that “doing it right” is measurable only by some combination of quarterly financial results and the money flowing into their own pockets.

      • Doesn’t help that most software devs don’t have the social IQ to feel comfortable saying “no” when they’re offered something that they don’t feel comfortable with and just try making it work by learning it on the fly, even learning a company enforced format of code layout is often left for new hires to just figure out. If it weren’t for how notepad++ has an option to replace tabs with spaces, I’d have screwed my internship over when I figured out that IBM coding (at least at the time) requires all spaces instead of any tabs after a stern talking to from my supervisor!

    •  Lojcs   ( @Lojcs@lemm.ee ) 
      link
      fedilink
      2
      edit-2
      7 months ago

      I’ve been listening to stuff you missed in history class pod from the beginning and whenever something about computers, science or tech comes up they start being like hush hush don’t worry we won’t actually talk about it; as if the mere mention will scare away listeners

    1. I’m a programmer, so I must know how to get X done in Y software.

    2. I don’t use or so I’m some kind of Luddite and can’t possibly know anything useful about computers.

    One thing that fascinates me about #1 is that the absolute raw dependency people have on Google doesn’t seem to ever lead to searching for a tutorial.

  •  lemmyvore   ( @lemmyvore@feddit.nl ) 
    link
    fedilink
    English
    147 months ago

    I found it useful when explaining programming to lay people to try to put various programming paradigms in everyday terms.

    Imperative programming is like a cooking recipe. You need specific ingredients in certain amounts and you need to perform actions in a very specific order, or the recipe won’t turn out right.

    OOP is like a bicycle. Lots of pieces interconnected and working together, hopefully interchangeable and standardized. It can also be used to explain unit testing to juniors. Clock mechanisms or engines can also work but people tend to relate better to bicycles.

    Declarative programming (SQL) works like ordering at the restaurant. You still need to know how restaurants work and about meal courses and how to read the menu etc. but you don’t need to know how the sausage was made, only if it’s good or not.