5 ms·
Take an algorithms course, or read an algorithms textbook. You'll probably be surprised at how much better at everyday programming you'll seem.
by caslon 4y ago
Take an algorithms course, or read an algorithms textbook.
You'll probably be surprised at how much better at everyday programming you'll seem.
- anyfoo 4y agoIn my mind this is the only answer (at my time of reading this thread) that hits the nail on the head. Algorithms and Data Structures is something you learn. And disregard everyone who says "I don't actually need this in my job". They may have just forgotten how trivial it is for them to implement a binary search instead of a linear scan at the proper place with a second thought. Or they really don't... and have code out there that does in 15 seconds (or much worse) what could have been happening in the fraction of a millisecond. But, like most "mathy" subjects, this is not something that you usually pick up on the go. At the very least you need a solid foundation, and that only comes through serious studying. Taking a textbook, opening it at the first page, and starting to work through it is one of the better ways to achieve that. "Mathematics, you see, is not a spectator sport." - George Pólya
- dc-programmer 4y agoMy experience lines up with your position that these things can’t be learned passively. An alarming number of new grads I’ve interviewed have a tenuous grasp of the fundamentals (the less likely the material is to show up in an interview the shakier the understanding - looking at you computer org). And a lot of these are graduates of their state’s flagship public university. I can only assume the schools are more than willing to just let students go through the motions. Every new grad filling their electives with AI/ML classes probably doesn’t help either
- yamisobad 4y agoThank you. Do you have any suggestions? I bought a book that was recommended to me, CLRS intro to algorithms. I've tried going through the book, but maybe I'm too dumb (I didn't go to college for engineering) and I find a lot of the math concepts in there confusing.
- caslon 4y agoI very strongly recommend an actual course. As a senior dev, you should be able to afford a bit of travel, and most universities allow walk-ins at no cost. Georgia Tech also has a critically-acclaimed online MS program, which might be worth looking into. That said, if you're not wanting to do an actual course, I'd recommend Sedgewick's book. The trick when reading an algorithms book if you're not presently at its mathematical level is to skip all of the math you can't currently understand. You'll eventually pick up on it, but in the meantime, you'll also get a lot from just reimplementing the algorithms from the book in whatever your favorite language is, and doing whatever exercises you're capable of handling with a bit of effort.
- popularonion 4y agoAs an alternative, you could pick up “Algorithms Illuminated” by Tim Roughgarden. Get the Part 1 book, read it casually a few times to get a sense of what’s in there, then go back to the beginning and start slogging through the exercises. Don’t hesitate to look for stuff on Google and YouTube when you’re stuck, but keep reviewing as much as necessary until you’ve legit learned the material. This is the approach I’m taking. Too soon to say if it’s working out yet. I’m thinking long term rather than getting a job offer at X company in Y months. There might be other books that work better for you than the one I recommended. I’m also in my 30s and have a job I’m more or less satisfied with currently.
- jamra 4y agoI have this book. I found it to be very unnecessary in my leetcode journey. What worked for me is repetition. It’s mostly just pattern matching. I got into three faangs recently so my strategy worked for me.
- technological 4y agowhich book do you recommend ? and can you describe preparation process
- 4y ago