Yahtzee. I've been in software for 7 years now, and I've never had to write any fiddly dynamic programming code. The most bit twiddling I've needed to do is like if (x & MASK) {...}. I don't think I've ever had to write a graph algorithm more complicated than DFS or BFS (but, to be fair, a lot of graph problems reduce to DFS or BFS).
No, mostly, I just pull stuff out of the database, munge it a little bit, and send it somewhere else; or, receive data via an endpoint, munge it a little, and stuff it back into the database. I wouldn't say it's "just your basic CRUD" programming, but it's not insanely more complicated than that.
I'd be willing to bet my experience is pretty typical, even in Bay Area tech companies.
Man how? I’ve actually been shocked by the number of companies that do use these and have struggled to find jobs that don’t use these. The few that don’t tend to either not pay well, have some other sort of god awful criteria or just never work out.
However I just landed a job at a company whose interview process was very practical, had zero leetcode, and while not FAANGMULA, apparently still considered on par (if not better than some letters) with them in prestige and pay. A lot of my new team/department seems to be alumni from FAANGMULA or other brand name tech companies; I'm the odd man out coming from a boring kludgy old school conservative non-tech company.
Shocking. I literally attribute the experience to an Act of God.
The only downside I can think of is that all those years grinding leetcode proved to be worthless here. That's not to say the overwhelming majority of good companies are still probably gatekeeped with leetcode though, so I'm sure it will still come in handy one day. An Leetcode A Day Keeps Unemployment Away.
This made me wonder, though:
> I can't for the life of me get into a place where interviewing seems natural at all and still after four years of experience struggle to get through medium leetcode problems.
Are you considering a career switch for the right reasons? If you've done OK at your jobs so far (aside form the covid startup thing), and still suck at interview-style algorithms, doesn't that just mean you're not doing those types of algorithms in your day job? Surprise: lots of interview processes are broken. Most of us developers are here to do some basic information transformations and to keep our application's structure from becoming unmaintainable. Not to fizzbuzz a binary tree palindrome.
When I last switched jobs, I didn't reply to companies that wanted me to do irrelevant hackerrank-y assignments, and still got multiple good offers on the table. Don't make something that isn't your job decide whether or not you like the job.