>3. I still get imposter syndrome because I can barely solve leetcode questions in interviews and feel like I'm missing something. Would a degree resolve that issue? No idea. But fact or fiction there is a part of me that believes it would've at least give me a bit more confidence in my abilities.
It likely wouldn't. What would help you with solving leetcode questions is just grinding leetcode questions. Taking an algorithm class years ago wouldn't help beyond your first attempt at the problems.
That said for all the other reasons you listed, getting a college degree is usually a good idea.
Even grinding the questions is pointless imo. Look at the solutions and determine the patterns that are present. Once you've seen the answer to a category it's trivial to ID and reproduce the solution.
This approach will save you hours if not days and you can still do more practice problems later if you really feel like that's important.
Sure. True. However you do need to get good at thinking about these things.
For instance, practicing by knowing the type of problem (e.g. two pointer) then thinking, “alright, how do I apply a two pointer algorithm to this?” Not just looking at the answer and copy+pasting. You’re gonna end up having a bad time doing that. It won’t get committed to memory.
AFAICT you need to go through the physical exercise of typing things out and not typing them out as a computer but typing them out with mental thoughts involved.
This is the key - they're repackaging a bunch of the same exercises with slightly different language. Once you have a collection of the tools they expect you to have (or did, in the 70's!) and can recognize where they're called for, you're good to go. And the set of tools isn't really _that_ expansive, and they're often very old school techniques.
I'm sure some of those tools would be useful in industry, it's just I haven't really seen that in 23 years ... but you never know! It's got an acedemic curiosity that I appreciate, it's just its utility is so low generally.
It's bizarre the roadbumps we put in front of new devs. I'd rather see:
- someone hack on a big but unknown piece of code. Open source even, and map out what it would take to add a feature, what tests they would write, where the touchpoints are, etc.
- pair with someone - are they able to work with people?
- fix a bug: go through methodically, especially on non-deterministic failures
- lay out a system using objects / functionally / whathaveyou
Or just have me implement towers of hanoi again, ick.
I agree on this approach. It's essentially the same strategy that was touted for scoring high on the LSAT back when I took. The key was being able to identify the solution strategy from the finite set of problem types then quickly apply it with muscle memory.
Can confirm. I started messing with leetcode and brushing up on some algorithm stuff lately. It's been about 4-5 years since I took an algorithm class and I've lost nearly all of my knowledge because it's just not something used in the kind of programming I do. I do feel myself regaining those skills, but I don't know if having a degree is exactly the reason why I am regaining those skills, because it has still been difficult reacclimating myself.
It likely wouldn't. What would help you with solving leetcode questions is just grinding leetcode questions. Taking an algorithm class years ago wouldn't help beyond your first attempt at the problems.
That said for all the other reasons you listed, getting a college degree is usually a good idea.