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.
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.
And everyone expects you to know how to make phone apps.
Like, I think I know what to google in order to start learning how.
If you know Java or Javascript you can easily build apps.
But like in every other software field, design is often more important.
deleted by creator
Sometimes I’ll solve a computer problem for someone in an area that I know nothing about by just googling it. After telling them that all I had to do was google the problem and follow the instructions they’ll respond by saying that they wouldn’t know what to google.
Just being experienced at searching the web and having the basic vocabulary to express your problems can get you far in many situations, and a fair bit of people don’t have that.
My neighbour asked me to take a look at her refrigerator because it wasn’t working. I am a software developer.
I used to get a lot of people asking for help with their printer. No, just because I am a software developer doesn’t mean I know how why your printer isn’t working. But, yes, I can probably help you…
“Sometimes when somebody called it shows up up here but normally it covers the screen and I can see the name.” Like I have no idea how those businesses fix people’s phones, when they hear this kind of instructions. Makes me tear my hair out.
I once had a friend who told me, that he finds it interesting that I think and write in 1s and 0s.
Confuse him with “I used to do that but I’m nonbinary now”
That might be true of VHDL / Verilog programmers I guess.
A lot people compleatly overrate the amount of math required. Like its probably a week since I used a aritmetic operator.
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”
On the other hand in certain applications you can replace a significant amount of programming ability with a good undertstanding of vector maths.
We must do different sorts of programming…
Tbf, that’s probably because most CS majors at T20 schools get a math minor as well because of the obscene amount of math they have to take.
Negl I absolutely did this when I was first getting into it; especially with langs where you actually have to import something to access “higher-level” math functions. All of my review materials have me making arithmetic programs, but none of it goes over a level of like. 9th grade math, tops. (Unless you’re fucking with satellites or lab data, but… I don’t do that.)
- 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
I’ve had questions like your 3rd bullet point in relation to why somebody’s friend is having trouble with connecting a headset to a TV.
No idea. I don’t know what kind of headset or what kind of TV. They are all different Grandma.
That there’s something inherently special about me that makes me able to program…
… Yes…patience and interest.
The things that make me a good programmer:
- I read error messages
- I put those errors in Google
- I read the results that come up
Even among my peers, that gives me a leg up apparently.
Don’t underestimate what having the necessary intuitions do engage with mathematics does for you. A significant portion of the population is incapable of that, mostly because we have a very poor way of teaching it as a subject.
Funny you should say that as I was thinking that the idea that math has anything to do with programming is the biggest misconprehension I encounter.
Hey we did all sort of crazy shit with linear algebra, vectors matrices and shit in college programmlng. Now I sometimes do some basic arithmetic in work life. E.g:
n = n + 1
This is very fair. Math has always come fairly easily to me. So math intuition plays a part in my interest and ability to learn to program.
I think most people, even smart people, assume they couldn’t do it though because I’m some kind of genius, which only a few programmers actually are.
Agreed. Few geniuses, it’s mostly driven people with slightly above average intelligence and a good bit of opportunity.
I can’t do math for shit and I failed formal logic in uni. I’m not built for math. I just… Don’t care and can’t make myself care. I’ve taught myself python over the past year and amd have become fairly comfortable with bash. Which has weirdly helped me with python?
Anyway I’m not very good at either yet. And there are huge gaps in my knowledge. But I’m learning every day.
I’ve done it on my own, and dove right into the fucking deep end with it which is probably the hardest way. But if I can do it then anyone can. You just need to want it. Why do I want it? I have no idea. If go crazy doing it for a living.
Learning more languages always helps understanding ime. I’d recommend learning C.
Learning python isn’t jumping in at the deep end. Learning assembly or C would be the deep end. Also programming has little to do with maths anymore, and the maths you use for programming isn’t the kind most people are taught in school.
You’re misunderstanding my use of the phrase.
I’m using it in the context or immersing in something you have no understanding of. I just dove right into and skipped most of the intro type stuff.
You’re using the phrase to talk about relative complexity / difficulty not how I’ve usually heard it used but it makes sense.
Like. Most people learning python start with hello world. I spent too many hours learning to own hot encode a 500gb dataset of reddit porn and tweak stylegan 3 a bit to train it on porn. None of which is remarkable objectively but there were a lot of very basic things I needed to learn to finish the task. That’s what I mean by jumping in the deep end - throwing yourself into something you are probably poorly or il equipped for and just figuring it out as you go.
There is a deep end of coding complexity of course, but, different kind of deep end.
I met a friend of a friend recently and they asked what I did and I told them I’m a computer systems engineer and they were like “oh you must be smart” and I was like “I like to think that I’m good at what I do, but trust me. I am not smart”
Like stoly said above, I think programmers are probably slightly above average intelligence overall, so don’t sell yourself short there. But yeah. We’re not geniuses
i don’t, l’ve met far too many
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.
fuck printers
fuck you. my uncle was a dot matrix.
Especially HP printers and honorable mention to Konica Minoltas.
Yeah I feel this. Fucking huge mechanical boxes of fucking shite that should he lobbed down the stairs and anyone who wants to print should be beaten with toner cartridges till they are black and blue, or cymk
I enjoy your comment so much because your methodical and patient approach to debugging code is exactly what’s required to fix a printer. You literally are really good at computers even if your aren’t armed with a lot of specific knowledge. It’s the absolutely worst because troubleshooting without knowledge and experience is painfully slow and the whole time I’m thinking"they know so much more about this than I do! If they’d just slow down and read what’s on the screen …" But many people struggle to do even basic troubleshooting. Their lack of what you have makes them inept.
I was gonna say, the OP here sounds perfectly good at computers. Most people either have so little knowledge they can’t even start on solving their printer problem no matter what, or don’t have the problem solving mindset needed to search for and try different things until they find the actual solution.
There’s a reason why specific knowledge beyond the basic concepts is rarely a hard requirement in software. The learning and problem solving abilities are way more important.
deleted by creator
I go to excuse now is “I haven’t used windows in 10 years”, when people call me for tech support.
I literally can’t help them lol
“I don’t know anything about your apple device, I prefer to own my devices and not have somone else dictate what I can use it for”
I think the difference is that they don’t know where to even start, and we clearly do and that’s the way to differentiate from perfectly working computer and a basically brick in their minds.
I work in service design and delivery. It’s my job to understand how devices actually function and interact. Can confirm that dev types can learn the stuff if they want to but most have not. Knowing how to set up your fancy computer with all the IDEs in the world is great but not the same as doing that for 5,000 people at once.
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!
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!
That they have any business telling me how complicated something is or how long something should take for me to implement.
Yeah like “Just add a simple button here”. Yeah of course, the button is not the difficult part.
Its like they think we just tell the computer what they asked us to do and we’re done.
I was coming here to talk about that recent post saying how easy it is to make a GUI and every program should already have one…
Command line is a GUI, change my mind
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.
That it’s dry and boring and even I must hate it because there’s no place for creativity in a technical field.
deleted by creator
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
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!
After doing it for 15 years, I must be good at it and everything should be easy.
hidethepainharold.jpg
-
I’m a programmer, so I must know how to get X done in Y software.
-
I don’t use <social media app> or <messaging system> 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.
I live in the second one. On purpose. I’ll never wear my debian tshirt.
Me too.
I found that my 2600 t-shirt keeps them at bay. First, they ask what 2600 is, then they make sure that nobody allows me near their computers.
I’ve lost all faith in tutorials as sources of relevant knowledge. If I’m searching about a specific problem, any from-the-top how-to might as well be Ben Stein reading it aloud at 50% speed, and then a year of my life later, it skips right over the place where something fucked up.
-
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.
I really like the word you used, code smell. I often have a hard time expressing to co-workers in code reviews why something feels off, it just does.
deleted by creator
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.
I might be your sister 😐
Stop that.
High spec machines are a curse 🤔
I also leave every firefox tab open until I run out of RAM, at which point I use the “close tabs to left” button, moving some tabs that I still want to check out to the right beforehand. On firefox, one can simply use the list all tabs button to easily navigate or search through all tabs, so no memorization is needed (or just type the title of the document in the address bar and it will just switch to the tab if you have it open).
check out tab stash extension
This is horrifying lol
I use the tree tab extension and just leave several hundred of tabs open and use the “open upon restart” option to open everything again. Luckily firefox has automatic tab unloading, which means it only uses about 6-8 GiB of RAM. Sadly the mobile app seems to cope less well with this method (I only have 3GB of RAM on it), it sometimes randomly crashes or refuses to open a new tab.














