I gave a talk internally at Electric Square on the development of computer chips.
This is the kind of stuff I feel every programmer should have a basic, grasp and understanding of. Whilst we intuitively understand that Moore’s law should allow for faster computer hardware - the increasingly complex chip designs which do the leg work of using the extra silicon that becomes available to achieve this aren’t often understood by programmers.
Ironically, in a world of increasing abstractions, these complex designs (especially caches and multi-core processing) depend on programs being structured in very specific ways in order to utilise underlying hardware effectively.
Please excuse the facial hair, it was Movember.