Comment by bkcooper

Comment by bkcooper 11 hours ago

0 replies

The recommendations in this thread so far do suggest a lot of nice books - CS:APP and SICP - but given your description of previous struggles with more academic stuff, along with the request for "practical examples or projects", I'm not sure they are right for you. By all means take a look, but don't be discouraged if they don't fit what you're after. An algorithm book with a somewhat different tone that you might check out is Skiena's Algorithm Design Manual. I've been reading Ousterhout's A Philosophy of Software Design recently and that might also be something that would interest you.

However, I might suggest that books and theoretical knowledge are not the main things you need right away. I moved into software engineering after a long time in science. I had done plenty of coding, and had a pretty decent amount of theoretical knowledge, but there was still quite a bit of practical adjustment. I really like Rzor's suggestion of https://missing.csail.mit.edu to start with.

Beyond that, I think maybe I would find some specific codebases that you'd like to understand better, and start with reading more of those. I feel like that's often better than books for picking up idiomatic usage and patterns in given domains. As you hit specific barriers, I think it will be much easier to pick up the intrinsic motivation to dip back into theoretical knowledge at that point.