Node.js
- Node.js and Bun core APIs
- Low level knowledge on the V8 internals
- Express-like server frameworks
- Wizard-level typescript using
@tsconfig/strictest
- Experience using the typescript compiler API for AST manipulation
@tsconfig/strictest
Complexity kill scalability, ignoring standards and APIs lead to tech-debt in the form of reinvented wheels
Maths reduce complexity by providing a mental framework to model your code around
Immutability, idempotency, monoids, semigroups and partial application are all great things to have in mind when coding any function or class
Maths bring predictability and reproducibility to code and with them comes testability, debuggability, extensibility and maintainability
A project must be organized in such a way that it can be easily manipulated via automated tools. Not because of automated tools but because the difficulty of automated code manipulation directly correlates with complexity
Code should be declarative first, functional second and Object-Oriented or imperative last
Data must flow in a clear direction