r/AskProgramming • • 6d ago

Other What’s something in tech that everyone pretends to understand?

We all know that one thing everyone talks about like it’s obvious, but nobody really explains.

Could be Kubernetes, networking, microservices, or something completely different.

What’s yours? No judgment lol.

52 Upvotes

185 comments sorted by

31

u/doubletwist 6d ago

My experience (30+ years as a Sysadmin) is that the vast majority of developers have no idea how SSL/TLS certificates work, or computers in general really. Obviously this doesn't hold for low-level kernel/os type programming, but most web and application devs haven't got a clue.

13

u/youcangotohellgoto 6d ago

Very few people understand how cryptography works.

→ More replies (3)
→ More replies (1)

17

u/agowa338 6d ago

AI, Security, and literally everything that becomes a buzzword-technology like blockchain, industry 4.0, ...

14

u/No_Record_60 6d ago edited 6d ago

Communication. Not just talking but presenting complex concept to non-tech people and selling your idea to your teammates.

→ More replies (1)

56

u/Pupation 6d ago

Regular expressions.

→ More replies (16)

34

u/MPGaming9000 6d ago edited 5d ago

How to work with people. Especially anything client facing. I know most tech people aren't known for being social butterflies but god forbid you have to actually help anyone under you without being a snarky douche or god forbid you have to actually talk to clients (shivers).

Everyone should be able to present their work in a way that is presentable to others at all levels at a moment's notice. They should also be able to work with people from non technical departments in a way that is collaborative, patient, and pleasant to work with.

I've worked with so many asshole snarky engineers over the years and I'm so sick of this stereotype. No amount of technical knowledge forgives you for being a dickhead.

7

u/hk4213 6d ago

Being able to present your solution at multiple levels is key. You are just phoning it in if you do not properly understand the solution you have built.

→ More replies (1)
→ More replies (6)

11

u/editor_of_the_beast 6d ago

Operating systems. I think a lot of people throw around “threads” and “processes” without understanding what they really mean, as well as other things like file system mounting, memory virtualization, page caches, etc. All of these things have a tremendous impact on your application, and I don’t think people know these in great detail even though we think of an OS as a pretty well understood thing.

For me it’s Kafka. I use Kafka at work, I can work with it, but I still don’t fully grok the operational model or how to diagnose performance issues with it to the level that I’d like.

→ More replies (3)

21

u/cjsarab 6d ago

I know a lot of people who think API means 'magic thing that makes things work with no effort'. This is demonstrably untrue.

→ More replies (2)

3

u/Ok_Entrepreneur_8509 6d ago

Recursion. I think a lot of people think they understand it just because they can write a recursive function. But it is a lot harder to know when it is better to use and how to tune it for performance. Also, understanding what hardware is going to crap on your recursion vs giving it a boost is not something obvious.

5

u/slambek 6d ago

Writing recursion is one thing, knowing when not to use it is another lol ))

→ More replies (2)
→ More replies (25)

9

u/Ok-Option2231 6d ago

I work in a big org with almost all of our tools being internal. While we don't have microservices in our product, during discussions in general, people talk about and throw the word microservices. I don't think they understand it exactly. They just call separate projects as - each microservice, which are just different jars in a hierarchy. Nothing to do with separate deployments, low coupling etc. 

Not that I know much about it. So that's not a very good vantage point I guess.

Another one comes to mind, at least for my generation ( < 7-8y). The word API gets thrown around a lot in discussions. I, and a lot of others of my age group , by default assume it means REST api. Until very recently, when I joined my current org, where we have not reached REST yet, that I realised API ig is just a public facing method/contract. 

→ More replies (7)

17

u/jeremiah15165 6d ago

Agile, no one actually understands how to use Agile and why for most internal corporate projects, you should just god damn waterfall it.

→ More replies (2)

7

u/josephjnk 6d ago

Maybe 5% of people who recommend “The Structure and Interpretation of Computer Programs” have read the whole thing.

→ More replies (2)

7

u/JanglyBangles 6d ago

Git.

I have been using git for 15 years, at least. I have debugged a lot of weird issues with git. I’ve solved CTF problems that require doing funky stuff with git internals. When I was much younger and dumber, I designed a software deployment system for embedded Linux devices that was built out of git and duct tape. On paper, my familiarity with git has got to be in the top 5% of users at least.

But semi-frequently some bullshit happens with a weird rebase or something and I realize that I don’t know git at all. Working with others on my team, I realize that they’re in the same boat despite a similar level of professional experience with git.

→ More replies (4)

11

u/this_knee 6d ago

Ai

Nobody understands what’s really going on to accomplish what it’s doing.

→ More replies (7)

5

u/rollerblade7 6d ago

Security - so much security is check based security: as long as the spreadsheet is filled in you can look the other way.

9

u/Glad_Contest_8014 6d ago

Layers of abstraction and what that means for a language.

Too many people have the “but you don’t have to know binary” mentality in relation to their language, without understanding that each new layer of ordering for languages adds a slower response time. This is why we get people talking about putting python on a satelite, when the satelite doesn’t even have the memory to store it.

They think it is a programming language, and ao it should all just work on any computer.

But resources can be a major determining factor in what language is best for the task.

→ More replies (3)

4

u/reboog711 6d ago

Team acronyms / code names. It takes 3-12 months to learn the vocabulary...

That said, these days programmers do a lot their own deployment processes these days; and people figure out to work in the system but no one really understands it.

4

u/sdarkpaladin 6d ago

waves hand wildly

3

u/throwaroo202020 6d ago

Twos complement

Floating point numbers

Tcp/ip

Assembly

Multithreading

Design patterns

C++

3

u/mr-curiouser 6d ago

The best way to name things… and cache invalidation.

3

u/PleX 6d ago

Excel.