Hacker News new | past | comments | ask | show | jobs | submit login

Hey, I made that meme.

It was based on a similar story the one in OPs blogpost. At my first job I used to work with some really talented fresh grads that wanted to show off their algorithms skills and ended up over-engineering stuff.

One of them implemented a trie and stored it in SQL lite to implement some string autocomplete where the number of strings was something like 100.

The other implemented a 2D segment tree for doing some grid updates where the size of the grid was small. This inspired the first part of the meme. Segment trees and sqrt decomposition are topics that are popular at programming contests and nowhere else really.

Regarding the triple nested loop, I just wrote the simplest pseudocode that represents nested loops, not necessarily something a "senior" developer would write.




New hires showing up at work and doing the one thing they were tested on in the interview. How strange of them!


I like to ask interviewees to imitate the sound a computer would make over an AM radio while executing different algorithms.

Nested for loops go brrrrrrrrrrrr, munching squares go bweep bweep bwweeeep bwweeeep bwweeeep bwweeeep bwwwweeeeeeep bwwwweeeeeeep bwwwweeeeeeep bwwwweeeeeeep bweep bweep bweep bweep...

https://www.youtube.com/watch?v=V4oRHv-Svwc

Life goes shlup shlup shlup shlup shlup...

https://www.youtube.com/watch?v=hB78NXH77s4

If they use any Don Martin sound effects, I hire them on the spot.

https://www.madcoversite.com/dmd-alphabetical.html

>CHK CHK CHA-GONK BRBBRBBRING! -- Man's Eyes Being Poked Like A Cash Registers' Keys And Jaw Popping Open Like A Till Drawer -- Mad #61, Mar 1961, Page 18 -- Kitzel's Department Store


Thanks for sharing the DEC PDP videos. I find them fascinating and the sound gives them a new dimension


beautiful analog phosphorus naturally fading


Many people can write brute force implementations. But while the meme is funny and great, it only shows a part of reality: sometimes you do have to optimize things. Just don't do it too early and only if there is a clear use case that requires the speed. Then you should be able to write fast code, or at least know which library to use that has a good implementation of the algorithm you need.

Some companies like GAFAM probably put too large focus onto algorithmic questions, but they can afford to lose otherwise good engineers who are bad at algorithmic questions. They need something to filter the masses of applicants they receive.


Goodhart’s Law-Driven Development


Thanks for the context. The example you describe supports the meme better.

Sorry for being harsh, I got triggered by that code inside the printer, because I've dealt with a lot of dumb "I don't know how SQL joins work, so I'll use my ORM to do it and filter the data in code" cases early in my career, and I have sort of an allergy to that now.


I see this so much in Rails codebases that at this point the two are nearly synonymous in my mind. But maybe I’ve been cursed to work only on bad Rails projects or something and there’s a universe of them out there that aren’t full of that sort of thing.


There are rails codebases written by people who love both ActiveRecord and SQL and try to optimize both performance AND developer productivity. ;)


But this is war. Pick a side!


Well thanks for inspiring the post! It triggered a pleasant trip back to a simpler time for me.


Wow it was based on a real world story. Makes the meme even better.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: