top | item 37236679

(no title)

bkirkby | 2 years ago

Ten years into my self-taught software engineer career I ran across a statement "if you aren't seeing problems in your work that can be solved by graphs (or any advanced algorithms really), then you are likely avoiding those problems."

I thought he may be right, picked up an algorithm book and started a "coding club" at the company I was working at where we'd meet and go over the details of a specific algorithm.

I became a better programmer for it.

discuss

order

IKantRead|2 years ago

This is a great comment. I was self-taught and then went back to school, so I have pretty good experience with both paths.

I hear a lot of time from developers "I never use those fancy algorithms!" or "I've never needed any math beyond HS algebra!" but I find that very often it's precisely because programmers aren't familiar with those solutions that they don't see the areas they can be applied to.

One of the biggest insights from my after-self-taught CS degree was that one class in particular stands out as a the dividing line between feeling knowledgable and not: Compilers.

To anyone wanting to improve their CS background: If you can't get back to school full time, try to audit a course on compilers (this is one area where having a structured course really helps). Pretty much all aspects of Computer Science are touched on in that one area: algorithms, data structures, graph theory, theory of computation etc. Plus it's just a lot of challenging programming to be done.

But once you see a high level program that you wrote compiled to assembly by a compiler that your wrote every piece of, you really feel like you understand both CS and software.

andrewstuart2|2 years ago

Also, check out all the free MIT OpenCourseWare CS classes. I listened/watched through a bunch of them a few times and then did some online exercises (leetcode, advent of code, hackerrank, et al) and it really helped me understand algorithms better and I also became a much better programmer for it.

I'd also suggest going through Network+ and Security+ study guides too. IDK if the certs are worth it because I haven't actually taken the tests, but the books alone taught me a ton of the important concepts at a high level.