Remix.run Logo
specialist 4 days ago

> ...unnecessarily trying to contrast two orthogonal and separately useful software development concerns.

> ...only do leetcode type challenges and never write software in the real world...

Respectfully, I agree with OC's point about testing vs implementation. (Both are programming.) It's been a (long) while since I've had peers who regularly, usefully tested their own work.

Like this OC, I too have struggled to articulate why leetcode has tiny IRL relevance.

How's this:

A useful distinction may be implementation vs usage.

Of course, a tiny handful of people are entrusted with implementing libraries of algorithms, so should be properly vetted for that work. Ditto crypto, parsing, and other misc arcane arts.

OC's point remains that leetcode hazing ignores the majority of actual work as a programmer. Such as fixing bugs, testing, modeling, documenting, enduring meetings, etc.

--

IIRC, I haven't implemented a sort algorithm, either in anger or for fun, since my BASIC & Pascal days. Why would I?

But I have recast real world problems as a Traveling Sales Person problems a handful of times.

As you well know, modeling using well known data structures, to enable using stock algorithms, is a big part of the job.

I'd rather interviews verified applicable skills. Such as data modeling, sequence diagrams, etc. And maybe some lightweight arch like (from the hip) caching, serialization, indexing, queuing and backpressure, locks, and validation (and whatever other bog standard stuff is immediately relevant).

--

(Oops: I did recently implement topo sort, just to understand it better, even though I was using a ready-baked solution. Just like +25 years ago I implemented (poorly) taboo, simulated annealing, etc. during my brief optimization kick.)