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.
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
- 01.The Art of Electronics - Horowitz and Hill (3rd ed.) - the definitive electronics reference. Dense but readable. Buy it.
- 02.Microchip AVR datasheets - reading a real datasheet is the best embedded systems education available. Free.
- 03.FreeRTOS: Mastering the FreeRTOS Real Time Kernel - the official FreeRTOS book. Free PDF, genuinely good.
- 04.Making Embedded Systems - Elecia White - practical and well-written. Better than most university courses on the topic.
- 05.Embedded.fm podcast - long-running show covering embedded engineering professionally. Good while soldering.
- 06.NXP I2C specification UM10204 - the definitive I2C protocol reference. Free PDF.
- 07.Compiler Explorer (Godbolt) - paste C/C++ and see the assembly output. Invaluable for understanding what the compiler actually does.
Computer Science Fundamentals
- 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.
- 02.Structure and Interpretation of Computer Programs (SICP) - Abelson and Sussman - builds real conceptual foundations. Free online.
- 03.The Algorithm Design Manual - Skiena - practical algorithms with real problems, not just theory. Better than Cormen for most engineers.
- 04.MIT OpenCourseWare 6.004: Computation Structures - digital logic to a working processor from first principles. Free.
- 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
- 01.Designing Data-Intensive Applications - Martin Kleppmann - essential reading for understanding distributed systems. Dense with substance.
- 02.The Pragmatic Programmer - Hunt and Thomas - timeless engineering philosophy more than a technical manual. Re-read it every year.
- 03.High Performance Browser Networking - Grigorik - the most useful reference for understanding the web's underlying protocols. Free online.
- 04.TypeScript Handbook - official documentation, well written and comprehensive. Free.
- 05.ByteByteGo newsletter and YouTube channel - system design breakdowns that are both accurate and approachable.
- 06.Total TypeScript - Matt Pocock - the best TypeScript learning resource available. Goes far beyond the basics.
Security
- 01.OWASP Top 10 - the standard reference for web application security vulnerabilities. Free.
- 02.OWASP IoT Top 10 - same rigour applied to connected devices. Free.
- 03.Cryptopals crypto challenges - learn cryptography by breaking intentionally weak implementations. Free and genuinely fun.
- 04.LiveOverflow (YouTube) - security concepts explained with real CTF challenges. One of the best security educators on the platform.
YouTube Channels Worth Your Time
- 01.3Blue1Brown - mathematics visualised better than any textbook. Essence of Linear Algebra and Calculus series are essential.
- 02.Fireship - short, dense tech explainers and news. Good for staying across what is happening in the industry.
- 03.Theo (t3.gg) - web engineering opinions, TypeScript, Next.js and the full-stack JavaScript ecosystem.
- 04.TechLead - ByteByteGo YouTube channel on system design at scale. Architecture decisions explained clearly.
- 05.Low Level TV - embedded systems, C programming, memory and how hardware-adjacent software actually works.
- 06.Computerphile - academic computer science concepts made accessible. Good depth without oversimplifying.
- 07.Reducible - algorithms and CS theory with some of the best visual explanations anywhere online.
Tools I Use and Recommend
- 01.VS Code - primary editor for most projects. Fast, extensible, excellent TypeScript support.
- 02.JetBrains IDEs - IntelliJ for Java, PyCharm for Python, CLion for C/C++. Better refactoring than VS Code for large codebases.
- 03.Obsidian - local-first notes with bidirectional linking. My second brain for research and learning logs.
- 04.Notion - project planning, meeting notes and anything collaborative. Good for structured reference material.
- 05.Figma - wireframing and UI design before writing frontend code. Thinking visually before committing saves time.
- 06.Excalidraw - fast whiteboard diagrams for system design sketches. No account needed.
- 07.Regex101 - build and test regular expressions with step-by-step explanation of each match.
- 08.Codeforces - competitive programming practice. Consistent practice here builds algorithm intuition faster than anything else.
- 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.
Must Watch
You might also like
Why Every Software Engineer Should Understand Hardware
An argument for why understanding hardware - registers, memory, timing, power - makes you a significantly better software engineer, regardless of whether you ever write firmware.
Bare Metal AVR: Building a Nine-Mode State Machine Without Any Framework
How I built a nine-mode state machine on an ATmega644P from scratch using bare metal C, writing directly to hardware registers with no framework, no HAL and no shortcuts. Still ongoing.
Learning Business Analytics: From Probability to Machine Learning
Notes from working through a structured executive education business analytics course, covering probability, statistics, Python, descriptive analytics, predictive ML and prescriptive optimisation.
React to this post