Ask HN: As a senior developer, should I fix my missing CS education? First some context: I'm currently a senior developer (mainly full stack web based experience) and I've been working professionally for 11 years. I've never had a formal computer science education (my degree had plenty of programming but nothing theoretically in depth) but I've picked up a little bit over the years from working on projects with senior developers and asking plenty of questions. I learn pretty quickly, I'll use whatever tool/language is appropriate for the problem and I like to think that my colleagues think highly of me. I can't tell you how to write a bubble sort, I can't tell you differences between different sorting algorithms, I understand Big O notation but can't look at code and instinctively apply the notation, I know no path finding algorithms, and beyond arrays and hashes I don't know data structures like trees, double linked lists, and so on. My not so simple question is this: should I spend time learning these things at this point? Will it help me problem solve but looking at a problem in a new light (or a previous solution in a new light)? Or given that I got this far without needing a formal CS education should I continue picking up what I need as I encounter it? Assume for now that I am not interested in engineering management / leadership roles. |