4 ms·
My formal education isn't even close to CS, zero overlap, but I've been paid to write software for the majority of my work history. I'm an autodidact, and I wou
by tal8d 6y ago
My formal education isn't even close to CS, zero overlap, but I've been paid to write software for the majority of my work history. I'm an autodidact, and I wouldn't change the path I took to get where I am, but I am keenly aware of one major point of weakness: it is what Donald Rumsfeld would describe as "unknown unknowns". Yes, I initially saved a lot of time by skipping the breadth and diving right into the depth, but I'm not so sure about the time savings in the long run. I remember one conversation I had with a well lettered friend (working on his second doctorate at the time), I was bragging about a predictive algorithm I'd spent a week or two on - and its remarkable accuracy. After he listened to me describe it in detail, he asked "... so, Poisson regression?"
While I was relieved to find that my implementation still outperformed the off the shell variety, simply being aware of its existence would have saved me a lot of time.
- cpp_frog 6y agoThat is a good point. I am on the other side - excessively academic. One thing I've noticed is that understanding something does not equal having working knowledge of it (knowing how to implement it, etc.), a person with a theoretical background would often try to place a concept within a large framework and then make it owrk, an 'empiricist' or tinkerer would work the way from the bottom which would result in actual useful results. I sometimes ponder about this, and while I don't mean that one should invent the wheel, my conclusion is that In order to have an approach of knowing what would work in many different problems, a person with academic background would need to spend years delving into their discipline. The solution seems to have a combination of both approaches or as Nassim Taleb says, 'street+personal library'.