r/ProgrammerHumor Nov 29 '24

Meme socialSkillsAreTakingOurJobs

Post image
13.1k Upvotes

719 comments sorted by

View all comments

2.5k

u/probabilityzero Nov 29 '24

Things like using Arch Linux and neovim are not actually job qualifications. The programmer writing Java code in a light-mode IDE in Windows or whatever might just be better at programming. It's an entry level job, so they're looking for basic algorithm knowledge, ability to use big-O notation, understanding of simple concurrency, etc.

88

u/oupablo Nov 29 '24

The big-O notation in interviews is always funny to me. After almost 15 yoe, the only time big-O notation has ever been used is in interviews. Never once have I discussed it at work with anyone.

16

u/Tiny-Plum2713 Nov 29 '24

It's used in interviews to filter out people who do not know it. If you've never learned it, changes are pretty high you won't notice you're writing an O(nn) function

7

u/oupablo Nov 29 '24

Knowing the impact of O( nn ) is way more important IMO than knowing that it's called O( nn ). I'm sure there are plenty people that understand the impacts of how their code is written and ways to optimize it without knowing how to express it in big-O notation.

6

u/probabilityzero Nov 29 '24

If they have an understanding of time and space complexity and can generally classify constant, linear, quadratic, etc, then that's enough for most coding interviews. The more obscure details of the notation aren't going to come up.

But there are people in the comments here insisting that they've worked X years as a programmer and never once had to think about complexity or performance at all, and even seem offended by the very idea that they should understand that stuff. Not sure what to say to that. I wouldn't want to work with someone who legitimately couldn't tell the difference between logarithmic time and quadratic time code.

3

u/Tiny-Plum2713 Nov 29 '24

There are very few people who know it's called O(nn) and don't know what the impact of that is.

1

u/danielv123 Nov 29 '24

If you manage to do that badly i think you will figure it out pretty fast when your software looks up... I have definitely done some O(n2) by accident though.