Things I Don’t Know as of 2018
overreacted.io
overreacted.io
I ported a 10kloc F# codebase to a very alien-looking functional-style C#. The project was processing several hundred thousand dollars woth of transactions per month and the go-live went flawlessly. I have since left the employer but am aware the code is still in production two years later and the C# devs over there almost never had to reach out for my help.
The long list of limitations C# has over F# is lead by: lack of first-class algebraic datatypes.
Not a single developers there had bothered (such a bother /s) to learn F# and I wanted to make sure they didn't depend on me. It all worked out perfectly because the math degree turns out to be much more challenging than computer science.
Unfortunately developers overestimate the amount of work required to learn a new programming language. In particular ones on the same platform (say F# on .NET for a C# dev). It turns out that learning the libraries takes years but learning a new PL takes but a couple of days of focused efforts.
Whoa! That’s exactly what I got from my one semester course in Algorithms. (tries to actively hide shame)