Skip to content

The Self-Taught Pathway

A man hiking through the welsh countryside The Journey

I've opted for a self-directed learning path over a traditional degree, aiming for a balance of practical software skills, computer science, and vital life skills like leadership and finance. I publish what I learn, providing a resource for both myself and others.

My curriculum features both structured and unstructured learning and will evolve with me as I learn. This approach ensures a tailored education aligned with my professional goals.

Legend/Key

Symbols used in the rest of this page.

  • : Published Book
  • : Open University Module
  • : YouTube Playlist or Video
  • : Other Online Resources
    • : Unfinished Module/Resource
    • : Finished Module/Resource

Stage 0: A Stage Unstructured

Every resource in this stage is independent and can be completed at any time.

Study Skills

  • A Mind for Numbers: How to Excel at Math and Science

  • How to Improve your Critical Thinking & Reflective Skills

  • How to Write Essays & Assignments

Personal Development

  • Atomic Habits

  • As a Man Thinketh

  • The 7 Habits Of Highly Effective People

  • Maximum Achievement: Strategies and Skills That Will Unlock Your Hidden Powers to Succeed

  • The Pathless Path: Imagining a New Story For Work and Life

  • Thinking, Fast and Slow

  • How to Win Friends and Influence People

Motivation

  • The Obstacle is the Way: The Ancient Art of Turning Adversity to Advantage

  • The 10X Rule: The Only Difference Between Success and Failure

  • The War of Art

  • How to Fail at Almost Everything and Still Win Big

  • Bounce: The of Myth of Talent and the Power of Practice

  • The Chimp Paradox

Agile

  • Scrum: The Art of Doing Twice the Work in Half the Time

  • The Art of Agile Development

  • Accelerate: The Science of Lean Software and Devops

Leadership

  • High Output Management

  • Turn The Ship Around!: A True Story of Turning Followers Into Leaders

  • Start With Why

  • Leaders Eat Last: Why Some Teams Pull Together and Others Don't

Finance

  • Money: Know More, Make More, Give More

  • Money: A User’s Guide

  • The Psychology of Money: Timeless lessons on wealth, greed, and happiness

Business

  • GCSE Business

  • The E-Myth Contractor

  • The E-Myth Revisited

  • Million Dollar Consulting

  • Sell or Be Sold: How to Get Your Way in Business and in Life

  • Rich Dad Poor Dad

Misc

  • Lectures (MIT) The Missing Semester

  • Soft Skills: The Software Developer's Life Manual

  • Pro Git

  • Microsoft Azure AZ-900

  • Microsoft Azure AI-900

  • Touch Typing

  • Give Vim a chance

  • Joel on Software

  • The Mythical Man-Month: Essays on Software Engineering

  • How to Improve your Maths Skills

Stage 1: Primarily Applied Skills

Introduction to Computing

  • Introduction to computing and information technology 1 (TM111)

  • CS50's Introduction to Computer Science

  • Think Like a Programmer: An Introduction to Creative Problem Solving

  • Code: The Hidden Language of Computer Hardware and Software

Programming

  • Automate the Boring Stuff with Python

  • Practices of the Python Pro

  • Publishing Python Packages

  • Fluent Python

DevOps

  • Docker Deep Dive

  • Continuous Delivery

  • The Phoenix Project

  • Understanding Distributed Systems

Software Design

  • A Philosophy of Software Design

  • The Pragmatic Programmer: Your Journey to Mastery

  • The Software Craftsman: Professionalism, Pragmatism, Pride

  • Modern Software Engineering: Doing What Works to Build Better Software Faster

  • Clean Code: A Handbook of Agile Software Craftsmanship

  • Code Complete: A Practical Handbook of Software Construction

  • Designing Data-Intensive Applications

Software Testing

  • Python Testing with pytest: Simple, Rapid, Effective, and Scalable

  • Unit Testing Principles, Practices, and Patterns

  • Test-Driven Development: By Example

Stage 2

Algorithms & Data Structures

  • A Common-Sense Guide to Data Structures and Algorithms in Python, Volume 1

  • Problem Solving with Algorithms and Data Structures Using Python 2nd Edition

  • Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People

  • Cracking the Coding Interview

  • LeetCode: Top Interview 150

Security

  • CS50's Introduction to Cybersecurity

  • Web Application Security: Exploitation and Countermeasures for Modern Web Applications

Further Software Skills

  • Head First Design Patterns

  • Refactoring: Improving the Design of Existing Code

  • Working Effectively with Legacy Code

Distributed Systems

  • Lectures (MIT 6.824): Distributed Systems

Databases

  • Lectures (CMU) Intro to Database Systems

Languages and Compilers

  • Crafting Interpreters