This site is best experienced on a laptop or desktop.
All writing
Resources

Resources for Engineering and Technology

A curated list of books, courses, documentation, tools and videos I have found genuinely useful for learning embedded systems, software engineering, computer science and the craft of building things. Updated as I find new things worth recommending.

20 February 20268 min read
Resources
Embedded
Software Engineering
Learning
Tools

These are resources I have actually used, not lists compiled from other lists. Each one is here because it changed how I understood something or how I work. I have grouped them by area with a short note on why each one is worth your time. For a broader view of what I am currently reading and watching, check the consumed page on this site.

Embedded Systems and Hardware

  1. 01.The Art of Electronics - Horowitz and Hill (3rd ed.) - the definitive electronics reference. Dense but readable. Buy it.
  2. 02.Microchip AVR datasheets - reading a real datasheet is the best embedded systems education available. Free.
  3. 03.FreeRTOS: Mastering the FreeRTOS Real Time Kernel - the official FreeRTOS book. Free PDF, genuinely good.
  4. 04.Making Embedded Systems - Elecia White - practical and well-written. Better than most university courses on the topic.
  5. 05.Embedded.fm podcast - long-running show covering embedded engineering professionally. Good while soldering.
  6. 06.NXP I2C specification UM10204 - the definitive I2C protocol reference. Free PDF.
  7. 07.Compiler Explorer (Godbolt) - paste C/C++ and see the assembly output. Invaluable for understanding what the compiler actually does.

Computer Science Fundamentals

  1. 01.Computer Systems: A Programmer's Perspective - Bryant and O'Hallaron - the best single book on how computers actually work. Covers memory, caching, linking, concurrency.
  2. 02.Structure and Interpretation of Computer Programs (SICP) - Abelson and Sussman - builds real conceptual foundations. Free online.
  3. 03.The Algorithm Design Manual - Skiena - practical algorithms with real problems, not just theory. Better than Cormen for most engineers.
  4. 04.MIT OpenCourseWare 6.004: Computation Structures - digital logic to a working processor from first principles. Free.
  5. 05.Nand2Tetris - build a computer from logic gates to a working OS. One of the best learning experiences available online. Free.

Software Engineering and Systems Design

  1. 01.Designing Data-Intensive Applications - Martin Kleppmann - essential reading for understanding distributed systems. Dense with substance.
  2. 02.The Pragmatic Programmer - Hunt and Thomas - timeless engineering philosophy more than a technical manual. Re-read it every year.
  3. 03.High Performance Browser Networking - Grigorik - the most useful reference for understanding the web's underlying protocols. Free online.
  4. 04.TypeScript Handbook - official documentation, well written and comprehensive. Free.
  5. 05.ByteByteGo newsletter and YouTube channel - system design breakdowns that are both accurate and approachable.
  6. 06.Total TypeScript - Matt Pocock - the best TypeScript learning resource available. Goes far beyond the basics.

Security

  1. 01.OWASP Top 10 - the standard reference for web application security vulnerabilities. Free.
  2. 02.OWASP IoT Top 10 - same rigour applied to connected devices. Free.
  3. 03.Cryptopals crypto challenges - learn cryptography by breaking intentionally weak implementations. Free and genuinely fun.
  4. 04.LiveOverflow (YouTube) - security concepts explained with real CTF challenges. One of the best security educators on the platform.

YouTube Channels Worth Your Time

  1. 01.3Blue1Brown - mathematics visualised better than any textbook. Essence of Linear Algebra and Calculus series are essential.
  2. 02.Fireship - short, dense tech explainers and news. Good for staying across what is happening in the industry.
  3. 03.Theo (t3.gg) - web engineering opinions, TypeScript, Next.js and the full-stack JavaScript ecosystem.
  4. 04.TechLead - ByteByteGo YouTube channel on system design at scale. Architecture decisions explained clearly.
  5. 05.Low Level TV - embedded systems, C programming, memory and how hardware-adjacent software actually works.
  6. 06.Computerphile - academic computer science concepts made accessible. Good depth without oversimplifying.
  7. 07.Reducible - algorithms and CS theory with some of the best visual explanations anywhere online.

Tools I Use and Recommend

  1. 01.VS Code - primary editor for most projects. Fast, extensible, excellent TypeScript support.
  2. 02.JetBrains IDEs - IntelliJ for Java, PyCharm for Python, CLion for C/C++. Better refactoring than VS Code for large codebases.
  3. 03.Obsidian - local-first notes with bidirectional linking. My second brain for research and learning logs.
  4. 04.Notion - project planning, meeting notes and anything collaborative. Good for structured reference material.
  5. 05.Figma - wireframing and UI design before writing frontend code. Thinking visually before committing saves time.
  6. 06.Excalidraw - fast whiteboard diagrams for system design sketches. No account needed.
  7. 07.Regex101 - build and test regular expressions with step-by-step explanation of each match.
  8. 08.Codeforces - competitive programming practice. Consistent practice here builds algorithm intuition faster than anything else.
  9. 09.MDN Web Docs - the authoritative web platform reference. Go here before Stack Overflow.

For a broader view of what I am currently reading, watching and working through, visit the consumed page.

  1. 01.Consumed - what I am currently reading, watching and working through

Must Watch

Building a computer from first principles - logic gates to a working OS. The best introduction to how computers actually work.
The most important 15 minutes of career advice ever given. Watch this when you need reminding why you build things.

React to this post