Carl's Required Reading
a day ago
- A list of articles recommended by an engineering leader for their team, covering coding practices, platform design, frontend development, databases, async programming, encoding, and books.
- Key coding principles include avoiding complexity, being cautious with abstractions, understanding complexity budgets, valuing locality of behavior, avoiding speculative features (YAGNI), and using parse-don't-validate techniques.
- For platforms, the recommendation is to think about exposing services programmatically to other teams, as highlighted in Steve Yegge's Google Platforms Rant.
- Frontend advice emphasizes declarative over imperative coding, purity of components and hooks, proper use of useMemo and useCallback, and understanding hypermedia systems for better HTML usage.
- Database guidance warns against ORMs due to performance issues, recommends learning PostGIS for geospatial data, using EXPLAIN ANALYZE for performance tuning, and considering alternatives to LIMIT/OFFSET for pagination.
- Async programming resources explain asyncio's conceptual model and highlight fundamental limitations, as discussed in 'What Color is your Function?'.
- Essential encoding knowledge is provided in the article about Unicode and character sets to avoid common data parsing issues.
- Recommended books include 'The Design of Everyday Things', 'Designing Data-Intensive Applications', 'Crafting Interpreters', 'Category Theory for Programmers', and 'The Mythical Man-Month', each offering valuable insights into design, data, programming, and project management.