Here's a list of some recommended learning materials and some on my current learning path.

Current Learning Material

Talk Python To Me - Michael Kennedy

Talk Python To Me
Type: Video Training
About: Python - Intermediate/Adavanced
Description: Multiple courses on Python best practices and Flask

The Design of Everyday Things - Don Norman

The Design of Everyday Things
Type: Book
About: Design
Description: Not about programming or graphic design but an interesting book about all the concepts of design

Learn Docker in a Month of Lunches - Elton Stoneman

Learn Docker in a Month of Lunches
Type: Book
About: Docker, DevOps
Description: The basics of getting Docker up and running

Refactoring 2nd Edition - Martin Fowler

Refactoring 2nd Edition
Type: Book
About: Programming
Description: Refactor patterns to apply to legacy code

Python Workout - Reuven M. Lerner

Python workout
Type: Book
About: Python - Intermediate
Description: Exercises to improve Python code quality

Recommended Learning Material

I've read, listened and watched a lot of learning material over the years, and the below items I highly recommend.

Code - Charles Petzold

Type: Book
About: Programming, Intro to Computer Engineering
Description: First half is a great intro to how computers work, starts getting a bit complex later on with a deeper dive into CPU and RAM but great initial foray into computer engineering.

The Phoenix Project - Gene Kim, Kevin Behr and George Spafford

The Phoenix Project
Type: Book
About: DevOps
Description: This was a great read, even if you're not working in DevOps it's worth picking up. Opens your eyes to how work silos and miscommunication kills organisations.

Learn Python the Hard Way - Zed Shaw

Learn Python the Hard Way
Type: Book
About: Python - Intro/Intermediate
Description: Just a good thorough Python book.

Eloquent JavaScript - Marijn Haverbeke

Eloquent JavaScript
Type: Book
About: JavaScript - Intermediate/Advanced
Description: A book that goes deep into JavaScript and all modern practices with ES6+ language updates.

Grokking Algorithms - Aditya Y. Bhargava

Grokking Algorithms
Type: Book
About: Programming
Description: This is a great primer to fundamental algorithms and how one would write them in Python.

Effective Python 2nd Edition - Brett Slatkin

Effective Python
Type: Book
About: Python - Intermediate/Advanced
Description: Great lookup resource for Python specific tips and tricks to write cleaner, more Pythonic code.

Learning Progress

Here's some charts built with Whimsical to show some of my learning paths.

I'm currently learning -
PyTest testing framework and MyPy static typing libraries are important to learn to improve my code quality.
Docker to isolate programs to enable simpler distribution.
Node/React/GraphQL/Express to build applications using a modern JavaScript ecosystem.
AWS to deploy and manage systems on the cloud provider.

Below are the main libraries I have been working with in Python. In my current role I am building tools to run on the command line, then build a Flask web front end for end users to use to run these tools.

JavaScript is my next most familiar language, besides website interactions I have built scrape tools using Puppeteer and data maps using Google Map APIs. This blog is built using Ghost a Node.js blog framework.

I've managed and queried various databases, I'm most familiar with relational databases, though intend on utilising document-oriented databases more in the future.

I have been utilising Linux at work and home for years. While my current role is predominantly Windows Server, I maintain a Linux distribution to manage my internal programs and web server. I a previous role we heavily relied on Linux distributions and built bash scripts and cron jobs to automate work flow.