I've been programming for about 40 years now, and most of that time was spent developing "high performance" code where speed and memory consumption was very important. Over time, that allowed me to develop a lot of techniques for estimating code performance, and also analyze and fixing unexpected performance problems.
This experience often gives me an advantage even against very skilled programmers when it comes to figuring out which algorithm will work best in practice in the real world. Knowing what's likely to work and what's likely to fail, without having to go down the wrong path first, is really beneficial when it comes to coding because it saves a lot of time, and time is always at a premium.
As far as blockchain coding goes, my relative experience is much shorter: I started blockchain coding back in 2013. But the fundamentals of high performance coding (e.g. selection of proper data structures, algorithms for working with parallel threads, efficient memory management) are applicable to most of blockchain-related programming , so the primary new things I had to learn were concepts associated with cryptography. And while the low-level math for this is complex, the higher level conceptual understanding needed to employ cryptographic algorithms as a blockchain programmer isn't that hard to gain.
Long story short: while there are certainly high-profile cases where blockchain projects have failed due to cryptographic mistakes, most of the scaling problems are due to a lack of experience in fundamentals of high performance computing. And while "fundamentals" may imply something that is easy to learn, it's not.
RE: 11th update of 2022 on BlockTrades work on Hive software