this post was submitted on 26 Feb 2024
189 points (95.7% liked)

Programming

17669 readers
257 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
 

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.
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 183 points 10 months ago (4 children)

The notion that creating a half-decent application is quick and easy enough that I would be willing to transform their idea into reality for free.

[–] [email protected] 73 points 10 months ago (5 children)

I'm pretty sure that government software always blows because they think software can be written according to a fixed schedule and budget

It's tempting to think it's like building a house, and if you have the blueprints & wood, it'll just be fast and easy. Everything will go on schedule

But no, in software, the "wood" is always shape shifting, the land you're building on is shape shifting, some dude in Romania is tryna break in, and the blueprints forgot that you also need plumbing and electric lines

[–] [email protected] 43 points 10 months ago* (last edited 10 months ago) (1 children)

Well, that’s probably true for the most part but by far the reality is that it comes down to lowest bidder 9/10 times. Unrealistic budgets and unrealistic time frames with as cheap labor they can find gets you a large amount of government funded projects throughout all the years.

load more comments (1 replies)
load more comments (4 replies)
[–] [email protected] 52 points 10 months ago

That's absolutely true. What's hard and what's easy in programming is so completely foreign to non-programmers.

Wait, you can guess my password in under a week but you can't figure out how to pack a knapsack?

load more comments (2 replies)
[–] [email protected] 130 points 10 months ago* (last edited 10 months ago) (13 children)

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.

[–] [email protected] 46 points 10 months ago (1 children)

And everyone expects you to know how to make phone apps.

[–] [email protected] 26 points 10 months ago (1 children)

Like, I think I know what to google in order to start learning how.

load more comments (1 replies)
[–] [email protected] 38 points 10 months ago

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.

load more comments (11 replies)
[–] [email protected] 126 points 10 months ago (13 children)

The worst and most common misconception is that I can fix their Windows issues from a vague description they give me at a party.

[–] [email protected] 27 points 10 months ago (1 children)

Or some stupid Facebook “””issue”””

load more comments (1 replies)
[–] [email protected] 22 points 10 months ago (1 children)

My favorite is "and there was some kind of error message." There was? What did it say? Did it occur to you that an error message might help someone trying to diagnose your error?

[–] [email protected] 21 points 10 months ago* (last edited 10 months ago) (2 children)

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.

load more comments (2 replies)
load more comments (11 replies)
[–] [email protected] 107 points 10 months ago (3 children)

I once had a friend who told me, that he finds it interesting that I think and write in 1s and 0s.

[–] [email protected] 76 points 10 months ago (1 children)

Confuse him with "I used to do that but I'm nonbinary now"

load more comments (1 replies)
load more comments (2 replies)
[–] [email protected] 104 points 10 months ago (8 children)

"Just"

That one word has done a fuck ton of lifting over my career.

"Can't you just make it do this"

I can't "just" do anything you fuck head! It takes time and lots of effort!

[–] [email protected] 37 points 10 months ago (1 children)

It's a meme to say "can't you just" at my workplace

load more comments (1 replies)
[–] [email protected] 29 points 10 months ago (15 children)

Also “simple”. “It’s a simple feature.”

load more comments (15 replies)
load more comments (6 replies)
[–] [email protected] 86 points 10 months ago* (last edited 10 months ago) (11 children)

A lot people compleatly overrate the amount of math required. Like its probably a week since I used a aritmetic operator.

[–] [email protected] 73 points 10 months ago (1 children)

Sometimes when people see me struggle with a bit of mental maths or use a calculator for something that is usually easy to do mentally, they remark "aren't you a programmer?"

I always respond with "I tell computers how to do maths, I don't do the maths"

[–] [email protected] 28 points 10 months ago (4 children)

Which leads to the other old saying, "computers do what you tell them to do, not what you want them to do".

As long as you don't let it turn around and let the computer dictate how you think.

I think it was Dijkstra that complained in one of his essays about naming uni departments "Computer Science" rather than "Comput_ing_ Science". He said it's a symptom of a dangerous slope where we build our work as programmers around specific computer features or even specific computers instead of using them as tools that can enable our mind to ask and verify more and more interesting questions.

load more comments (4 replies)
[–] [email protected] 38 points 10 months ago (7 children)

At the same time, I find it amazing how many programmers never make the cognitive jump from the "playing with legos" mental model to "software is math".

They're both useful, but to never understand the latter is a bit worrying. It's not about using math, it's about thinking about code and data in terms of mapping arbitrary data domains. It's a much more powerful abstraction than the legos and enables you to do a lot more with it.

For anybody who finds themselves in this situation I recommend an absolute classic: Defmacro's "The nature of Lisp". You don't have to make it through the whole thing and you don't have to know Lisp, hopefully it will click before the end.

load more comments (7 replies)
[–] [email protected] 31 points 10 months ago

On the other hand in certain applications you can replace a significant amount of programming ability with a good undertstanding of vector maths.

load more comments (8 replies)
[–] [email protected] 63 points 10 months ago (3 children)

They can't possibly judge what is trivial to achieve and what's a serious, very hard problem.

[–] [email protected] 38 points 10 months ago (1 children)

As always, there is an XKCD for that.

[–] [email protected] 21 points 10 months ago* (last edited 10 months ago) (2 children)

The example given in the comic has moved from one category to the other. Determining whether an image contains a bird is a fairly simple "two hour" task now.

Plot twist: The woman in the comic is Fei-Fei Li, she got the research team and five years and succeeded 🤯

load more comments (2 replies)
load more comments (2 replies)
[–] [email protected] 53 points 10 months ago (2 children)
  • 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
[–] [email protected] 23 points 10 months ago (1 children)

If it’s on the screen, it’s production ready

"I gave you a PNG, why can't you just make it work?"

[–] [email protected] 19 points 10 months ago (1 children)

I actually get that somewhat often, but for 3D printing. People think a photo of a 3D model is "the model"

load more comments (1 replies)
load more comments (1 replies)
[–] [email protected] 44 points 10 months ago (14 children)

That there's something inherently special about me that makes me able to program....

... Yes...patience and interest.

[–] [email protected] 37 points 10 months ago

The things that make me a good programmer:

  1. I read error messages
  2. I put those errors in Google
  3. I read the results that come up

Even among my peers, that gives me a leg up apparently.

load more comments (13 replies)
[–] [email protected] 44 points 10 months ago (5 children)

People think I can hack anything ever created, from some niche 90s CD software to online services

load more comments (5 replies)
[–] [email protected] 43 points 10 months ago (12 children)

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!

[–] [email protected] 20 points 10 months ago

"But why? It both has to do with computers!" - literally a project manager at my current software project.

load more comments (11 replies)
[–] [email protected] 40 points 10 months ago* (last edited 10 months ago) (11 children)

I mean the classic is that you must be "really good at computers" like I'm okay at debugging, just by being methodical, but if you plop me in front of a Windows desktop and ask me to fix your printer; brother, I haven't fucked with any of those 3 things in over a decade.

I would be as a baby, learning everything anew, to solve your problem.

[–] [email protected] 19 points 10 months ago (5 children)
load more comments (5 replies)
load more comments (10 replies)
[–] [email protected] 36 points 10 months ago (3 children)

That they have any business telling me how complicated something is or how long something should take for me to implement.

load more comments (3 replies)
[–] [email protected] 30 points 10 months ago (2 children)

That it's dry and boring and even I must hate it because there's no place for creativity in a technical field.

load more comments (2 replies)
[–] [email protected] 29 points 10 months ago

That the business idea, the design, the architecture, and code for the next multimillion dollar app is just sitting in my head waiting for the next guy with enough motivation to extract from me.

[–] [email protected] 27 points 10 months ago (6 children)

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.

load more comments (6 replies)
[–] [email protected] 25 points 10 months ago

After doing it for 15 years, I must be good at it and everything should be easy.

hidethepainharold.jpg

[–] [email protected] 24 points 10 months ago (2 children)

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.

load more comments (2 replies)
[–] [email protected] 24 points 10 months ago

Doesn't happen as much, but family and non tech friends would present me to other people that "worked with computers" thinking I could take new job opportunities. They were always wildly unrelated to my field.

I know I know,.. they acted in good faith, and probably could have adapted a bit, but like 30 years ago there was a lot of overlap and systems where somewhat similar, but now somebody trained in Linux kernel maintenance isn't going to learn how to create SharePoint SPFx webparts. Development is very specific now!

[–] [email protected] 22 points 10 months ago (2 children)

The speed at which it takes to make something. We had a vulnerability with a JavaScript library in an old app that I do minimal support on, I said that it only uses like 3 or 4 libraries, so depending on what it is the whole frontend may need to be re-written. IT: "Ok well we have to get that expensed." Sure bro let me just bill the client that is paying for it and error support 20k for new dev time. Nah, the fix is gonna have to be a workaround on your end, we do not have the bandwidth and they don't have the capital.

load more comments (2 replies)
[–] [email protected] 22 points 10 months ago (3 children)
  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.

load more comments (3 replies)
[–] [email protected] 20 points 10 months ago (7 children)

Not programming per se but my sister thinks it's okay to have 300+ Chrome tabs open and just memorize the relative locations of them whenever she needs something. She's lucky she has a beefy computer.

load more comments (7 replies)
[–] [email protected] 20 points 10 months ago (3 children)

It has been a long time since I've interacted with people who are largely tech ignorant, but back in the day people always assumed I could hack anything since I'm a website developer. It wasn't uncommon for people to ask me if I can hack Facebook. I mean the answer is "probably not, but maybe", but they think that means furiously typing for 20 seconds and yelling "I'm in!", when the reality would be months worth of snooping and social engineering.

load more comments (3 replies)
[–] [email protected] 19 points 10 months ago

Based on some places I used to work, upper management seemed convinced that the "idea" stage was the hardest and most important part of any project, and that the easy part is planning, gathering requirements, building, testing, changing, and maintaining custom business applications for needlessly complex and ever changing requirements.

[–] [email protected] 19 points 10 months ago (4 children)

I think that non-tech people think that tech just goes. Like you pull it out of a box and turn it on and it just works. They have no idea how much jenk is in everything and how much jenk was eradicated before a user came went anywhere near.

load more comments (4 replies)
load more comments
view more: next ›