# Resources ## Backend (CPD) [roadmap.sh/backend](https://roadmap.sh/backend) [roadmap.sh/devops](https://roadmap.sh/devops) [roadmap.sh/software-design-architecture](https://roadmap.sh/software-design-architecture) _Clean Code_ (2008) R.C Martin _The Pragmatic Programmer_ (1999) Hunt and Thomas ## C [Everything I wish I knew when I started learning C](https://tmewett.com/c-tips/) ## Computer Science [Welcome to CS](https://runestone.academy/ns/books/published/welcomecs/index.html) [roadmap.sh/computer-science](https://roadmap.sh/computer-science) _Structure and Interpretation of Computer Programs_ (1998) Abelson, Sussman _A Common Sense Guide to Data Structures and Algorithms_ (2017) Jay Wengrow _Cracking the Coding Interview_ (2009) McDowell [for useful algorithm exercises] ## Electronics, hardware, computer architecture _How Computers Really Work_ (2020) Matthew Justice _But How Do It Know? The Basics of Computers for Everyone_ (2009) _The Essential Guide to Computing_ (2001) Garrison Walters _Fundamental Electrical and Electronic Principles_ (2008) Christopher Robertson [Computer Organisation and Design](https://learning.oreilly.com/library/view/computer-organization-and/9781483221182/) (2020) Hennesy and Patterson [O'Reilly] _Computer Systems: A Programmer's Perspective Third Ed._ (2016) Bryant and O'Halloran [How do transistors work, anyway?](https://lcamtuf.substack.com/p/how-do-transistors-work-anyway) ## Linux _How Linux Works: What Every Superuser Should Know_ (2021) Brian Ward ## Mathematics _The Logic Book_ _Foundation Mathematics for Computer Science_ (2015) John Vince _Algebra_ (2004) Gelfand and Shen ## Python [Tiny Python Projects (O'Reilly)](https://learning.oreilly.com/library/view/tiny-python-projects/9781617297519/) [Learning Arduino with Python](https://realpython.com/arduino-python/)