4 ms·
Question for university-trained hackers: do you find your theoretical knowledge of algorithms, data structures, etc. has made you more enlightened? E.g. do you
by brandonhsiao 13y ago
Question for university-trained hackers: do you find your theoretical knowledge of algorithms, data structures, etc. has made you more enlightened? E.g. do you look at a problem and, because of your education, think to yourself, "wow, this problem could clearly be solved by algorithm x" or "that would be so much more elegantly represented as data structure y?"
- danieldk 13y agoYes, that's certainly the case. I often encounter problems that can be solved elegantly using algorithms and datastructures that I learnt in university. E.g. if I were self-taught, I'd probably not recognize when to use, say viterbi decoding or Levenshtein automata. And these are things that I encounter in my day to day work. I don't think university training is the most effective method to 'enrich' yourself. If you have discipline, reading good books on CS theory is far more effective. First, because courses are relatively slow since they tend to be paced for lowest common denominator. Second, because there is some chaff every program, especially when you assume that most people specialize to their interests fairly quickly. The advantages of following a university program are on a different level: many employers won't hire someone without a relevant degree, since it is (for good CS programs) an indicator of knowledge and skill. Secondly, university is a good place to get to meet people, both friends and significant others.
- kalms 13y agoWithout having attended a university, I would assume that one of the many advantages are the possibility for mentorship during self-study. Which is a scenario one could replicate in a daily routine. I think mentors are extremely important, to inspire and to help you, when you hit a dead end. So you avoid many of the negative experiences, and keep a good flow when learning. It's definitely the case for me.
- danieldk 13y agoWithout having attended a university, I would assume that one of the many advantages are the possibility for mentorship during self-study. Which is a scenario one could replicate in a daily routine. Certainly, as Frank Zappa aptly said: “If you want to get laid, go to college. If you want an education, go to the library.” But that is all under the assumption that you have enough discipline.
- Vespasian 13y agoWell for me the university knowledge which I'm (still) gaining is sometimes a good starting point to learn more on my own. The specialised sub field of CS I'm currently into is not that wide spread and it helps to have some of the experts around to ask for advice. As other comments said most of the techniques and technical solutions you can find around the internet or in books and the best way to learn things is to actually look at other peoples code, work with them and discuss problems. Well structured lectures can be a shortcut into a certain topic but personally the most important skills I aquired from university were the abilities focus on my tasks and to structure and plan my work realistically.
- carucez 13y agoYes. There's no denying that. I would not have studied finite automata, nor subjected myself to the horrors of compiler design, or even still, hardware languages such as vhdl or verilog, had it not been for spending 100k+ on some formal education. Why does this matter? Well: All my code is as efficient as possible, to the best of my working knowledge, all while meeting deadlines. How did I do it? Well: Get it to work. Make optimizations. Repeat. Potentially refactor. You'll always have a fallback that works, because you had to in order to get a non-failing grade.
- jsmeaton 13y agoYes. But more importantly, I've worked on code, written by people without formal education, that could clearly have benefited from a different algorithm or data structure. I'm talking really simple stuff, like using a dict instead of a list for a lookup.