TechSkillup icon indicating copy to clipboard operation
TechSkillup copied to clipboard

Curated list of free resources covering a wide range of technologies.

:rocket: Learn Something New

This repo contains a directory of highly rated, free learning materials, for various tech topics. Ranging from Full Stack development, to DevOps and System design.

Table of Contents

  • Ansible
  • Artificial Intelligence
  • AWS
  • Blockchain
  • Computer Science
  • Devops
  • Docker
  • Fullstack Development
  • Git
  • Golang
  • Javascript
  • Kubernetes
  • Linux
  • Machine Learning
  • Monitoring & Observability
  • Networking
  • Python
  • React
  • Rust
  • Security
  • Site Reliability
  • System Admin
  • System Design
  • Terraform

Ansible

  • https://www.youtube.com/watch?v=goclfp6a2IQ&list=PL2_OBreMn7FqZkvMYt6ATmgC0KAGGJNAN I like to refrain from putting youtube videos, but this is a playlist from Jeff Geerling that's absolutely excellent.

Jeff Geerling (geerlingguy) introduces Ansible in the first episode of a new live-streaming series "Ansible 101 with Jeff Geerling."

Artificial Intelligence

  • https://buildingai.elementsofai.com/

Building AI a flexible online course for anyone who wants to learn about the practical methods that make artificial intelligence a reality. You will get a solid introduction to for example machine learning and neural networks, and you will learn where and how AI methods are applied in real life.

  • https://course.elementsofai.com/

An Introduction to AI is a free online course for everyone interested in learning what AI is, what is possible (and not possible) with AI, and how it affects our lives – with no complicated math or programming required.

  • https://www.deeplearning.ai/courses/generative-ai-with-llms/

In Generative AI with Large Language Models (LLMs), you’ll learn the fundamentals of how generative AI works, and how to deploy it in real-world applications.

  • https://www.cloudskillsboost.google/journeys/118

This learning path guides you through a curated collection of content on generative AI products and technologies, from the fundamentals of Large Language Models to how to create and deploy generative AI solutions on Google Cloud.

  • https://github.com/openai/openai-cookbook

The OpenAI Cookbook shares example code for accomplishing common tasks with the OpenAI API.

  • https://github.com/mrsaeeddev/free-ai-resources

A massive list of free machine learning and AI courses. Frequently maintained and updated.

AWS

  • https://workshops.aws/

This website lists workshops created by the teams at Amazon Web Services (AWS). Workshops are hands-on events designed to teach or introduce practical skills, techniques, or concepts which you can use to solve business problems.

  • https://aws.amazon.com/builders-library

How Amazon builds and operates software. Collection of detailed articles from AWS regarding their various internal practices and system processes.

Blockchain

  • https://cryptozombies.io/

CryptoZombies is an interactive school that teaches you all things technical about blockchains. Learn to make smart contracts in Solidity or Libra by making your own crypto-collectibles game.

  • https://hackmd.io/@1LsqLgZ9SFyvmF1L1suBIw/dapp-dev

So you want to get started in Ethereum? I get several requests for info and resources and roadmaps every week so I decided to make this collection. I hope this helps and provides some more direction and is less overwhelming than other giant lists.

  • https://www.youtube.com/watch?v=gyMwXuJrbJQ&t=80915s

An excellent 32 hour course from the legend Patrick Collins. This course will give you a full introduction into all of the core concepts related to blockchain, smart contracts, Solidity, ERC20s, full-stack Web3 dapps, decentralized finance (DeFi), JavaScript, TypeScript, Chainlink, Ethereum, upgradable smart contracts, DAOs, the graph, moralis, aave, IPFS, and more.

  • https://solana.com/developers

A manual for joining the Solana ecosystem. By builders for builders.

Computer Science

  • https://online-learning.harvard.edu/course/cs50-introduction-computer-science?delta=0

An introduction to the intellectual enterprises of computer science and the art of programming.

  • https://github.com/ForrestKnight/open-source-cs-python

This is a curated list of free courses from reputable universities like MIT, Stanford, and Princeton that satisfy the same requirements as an undergraduate Computer Science degree, minus general education.

  • https://www.edx.org/course/introduction-to-computer-science-and-programming-7

An introduction to computer science as a tool to solve real-world analytical problems using Python 3.5.

  • https://www.coursera.org/learn/build-a-computer?courseSlug=build-a-computer

Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course)

DevOps

  • https://github.com/bregman-arie/devops-exercises

This repo contains questions and exercises on various technical topics, sometimes related to DevOps and SRE :)

Docker

  • https://docker-curriculum.com/

Learn to build and deploy your distributed applications easily to the cloud with Docker

Fullstack Development

  • https://fullstackopen.com/en/

Learn React, Redux, Node.js, MongoDB, GraphQL and TypeScript in one go! This course will introduce you to modern JavaScript-based web development. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js.

  • https://www.theodinproject.com/paths/full-stack-javascript

This path takes you through our entire JavaScript curriculum. The courses should be taken in the order that they are displayed. You'll learn everything you need to know to create beautiful responsive websites from scratch using JavaScript and NodeJs.

  • https://www.theodinproject.com/paths/full-stack-ruby-on-rails

This path takes you through our entire Ruby on Rails curriculum. The courses should be taken in the order that they are displayed. You'll learn everything you need to know to create beautiful responsive websites from scratch using Ruby on Rails.

  • https://www.frontendinterviewhandbook.com/

Front end interview preparation materials for busy engineers - trivias, coding, algorithms, front end system design and more!

  • https://refactoring.guru/

Refactoring.Guru makes it easy for you to discover everything you need to know about refactoring, design patterns, SOLID principles, and other smart programming topics.

Git

  • https://www.udacity.com/course/version-control-with-git--ud123

This course covers the essentials of using the version control system Git.

  • https://git-scm.com/book/en/v2

The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress, is available here.

  • https://trunkbaseddevelopment.com/

Learn about trunk based development, a common git workflow used at scale by Google, Facebook and more, from small startups to large enterprises. This site attempts to collect all the related facts, rationale and techniques for Trunk-Based Development together in one place, complete with twenty-five diagrams to help explain things. All without using TBD as an acronym even once twice.

Golang

  • https://go.dev/doc/effective_go

A document that gives tips for writing clear, idiomatic Go code. A must read for any new Go programmer. It augments the tour and the language specification, both of which should be read first.

  • https://quii.gitbook.io/learn-go-with-tests/

Explore the Go language by writing tests. Get a grounding with TDD. Go is a good language for learning TDD because it is a simple language to learn and testing is built-in. Be confident that you'll be able to start writing robust, well-tested systems in Go

  • https://go101.org/

A collection of free updated books on learning Golang basics and fundamentals.

Javascript

  • https://eloquentjavascript.net/

This is a book about JavaScript, programming, and the wonders of the digital. You can read it online here, or buy your own paperback copy.

  • https://addyosmani.com/resources/essentialjsdesignpatterns/book/

Design patterns also provide us a common vocabulary to describe solutions. This can be significantly simpler than describing syntax and semantics when we're attempting to convey a way of structuring a solution in code form to others. In this book we will explore applying both classical and modern design patterns to the JavaScript programming language.

  • https://exploringjs.com/es6/index.html

This book is about ECMAScript 6 (whose official name is ECMAScript 2015), a new version of JavaScript. This book covers ECMAScript 6 in depth, but is structured so that you can also quickly get an overview if you want to. This book not only tells you how ES6 works, it also tells you why it works the way it does.

  • https://javascript.info/

How it's done now. From the basics to advanced topics with simple, but detailed explanations.

Kubernetes

  • https://github.com/kelseyhightower/kubernetes-the-hard-way (Freeish, costs for GCP or AWS environment)

Kubernetes The Hard Way is optimized for learning, which means taking the long route to ensure you understand each task required to bootstrap a Kubernetes cluster.

  • https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615

This course is designed to teach you about managing application containers, using Kubernetes.

  • https://www.youtube.com/watch?v=IcslsH7OoYo&list=PL2_OBreMn7FoYmfx27iSwocotjiikS5BD

An excellent youtube playlist from Jeff Geerling

  • https://sookocheff.com/post/kubernetes/understanding-kubernetes-networking-model/

A surprisingly thorough article going over the core Kubernetes networking components & modeling

  • https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/docs/vmware-kubernetes-up-running-dive-into-the-future-of-infrastructure.pdf

Whether you are new to distributed systems or have been deploying cloud-native systems for years, containers and Kubernetes can help you achieve new levels of velocity, agility, reliability, and efficiency. This book describes the Kubernetes cluster orchestrator and how its tools and APIs can be used to improve the development, delivery, and maintenance of distributed applications.

  • https://book.kubebuilder.io/

Users of Kubernetes will develop a deeper understanding of Kubernetes through learning the fundamental concepts behind how APIs are designed and implemented. This book will teach readers how to develop their own Kubernetes APIs and the principles from which the core Kubernetes APIs are designed.

  • https://cluster-api.sigs.k8s.io/introduction.html

Cluster API is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters.

  • https://100daysofkubernetes.io/overview.html

This book provides a list of resources from across the cloud native space to learn about and master Kubernetes. Whether you are just getting started with Kubernetes or you are already using Kubernetes, I am sure that you will find a way to use the resources or contribute :)

  • https://aws.github.io/aws-eks-best-practices/

Welcome to the EKS Best Practices Guides. The primary goal of this project is to offer a set of best practices for day 2 operations for Amazon EKS.

  • https://www.eksworkshop.com/docs/introduction/

This workshop guides you through a set of hands-on lab exercises to learn and explore the various features provided by EKS and how it integrates with the broader set of services offered by AWS.

Linux

  • https://github.com/0xAX/linux-insides/blob/master/SUMMARY.md

A book-in-progress about the linux kernel and its insides. The goal is simple - to share my modest knowledge about the insides of the linux kernel and help people who are interested in linux kernel insides, and other low-level subject matter.

  • https://www.linuxfromscratch.org/lfs/index.html

Linux From Scratch (LFS) is a project that provides you with step-by-step instructions for building your own customized Linux system entirely from source.

  • https://www.sadservers.com Test your Linux and DevOps troubleshooting skills on real Linux servers in a "Capture the Flag" fashion. Very similar to KodeKloud or even Leetcode but for DevOps.

  • https://tldr.sh/

Community effort to simplify the beloved man pages with practical examples. Powerful cheat sheat or use as a reference for Linux.

Machine Learning

  • https://www.udacity.com/course/machine-learning--ud262

Machine Learning is a graduate-level course covering the area of Artificial Intelligence concerned with computer programs that modify and improve their performance through experiences.

  • https://developers.google.com/machine-learning/crash-course/

Learn and apply fundamental machine learning concepts with the Crash Course, get real-world experience with the companion Kaggle competition, or visit Learn with Google AI to explore the full library of training resources.

Monitoring & Observability

  • https://learn.datadoghq.com/courses/dd-101-sre

Datadog’s core suite of tools gives SREs the ability to view their entire infrastructure at a glance as well as zoom in on individual components such as processes. This course teaches you how to use these capabilities effectively.

  • https://learn.datadoghq.com/courses/dd-101-dev

Learn the Datadog features and capabilities that are most fundamental to the application developer role, such as working with integrations, configuring your services for APM and log collection, synthetic API and browser testing, and RUM.

  • https://training.promlabs.com/

Learn how to monitor your systems and services more effectively with online trainings created by the co-founder of Prometheus.

  • https://samber.github.io/awesome-prometheus-alerts/

Collection of useful alerting rules for Prometheus.

  • https://www.brendangregg.com/overview.html

Brendan Gregg is the author of Systems Performance, and previous engineer at Netflix. This site is a collection of his work, including articles and books. Extremely rich in content and must know for anyone working with monitoring and systems engineering.

Networking

  • https://hpbn.co/

Performance is a feature. This book provides a hands-on overview of what every web developer needs to know about the various types of networks (WiFi, 3G/4G), transport protocols (UDP, TCP, and TLS), application protocols (HTTP/1.1, HTTP/2), and APIs available in the browser (XHR, WebSocket, WebRTC, and more) to deliver the best—fast, reliable, and resilient—user experience.

  • https://beej.us/guide/bgnet/

Hello, one and all! This is my little how-to guide on network programming using Internet sockets, or "sockets programming", for those of you who prefer it. The sockets API, though started by the Berkeley folk, has been ported to many many platforms, including Unix, Linux, and even Windows.

Python

  • https://www.notion.so/095503041d6a46ddb6986f488e578778?v=1df9edcba1ca4d34a606d95b897f6025

I wrote a syllabus for learning Python and Django. Four people have gone through it, two are interviewing and one got a job. It's based on using a somewhat even mix of coding challenges, personal projects and books.

  • https://www.udemy.com/course/automate/

A practical programming course for office workers, academics, and administrators who want to improve their productivity. Although Udemy courses aren't usually free, this particular one goes completely free quite frequently

  • https://www.udacity.com/course/introduction-to-python--ud1110

In this course, you'll learn the fundamentals of the Python programming language, along with programming best practices.

  • https://pythonbasics.org/

This site contains materials and exercises for the Python 3 programming language. In this course you will learn how to write code, the basics and see examples.

  • https://www.coursera.org/professional-certificates/google-it-automation

This beginner-level, six-course certificate, developed by Google, is designed to provide IT professionals with in-demand skills -- including Python, Git, and IT automation -- that can help you advance your career.

React

  • https://nextjs.org/learn/react-foundations

Welcome to the React Foundations course! This beginner-friendly, example-led course will guide you through the prerequisite knowledge for Next.js. You will build a simple project step-by-step; starting with a JavaScript application, then migrating it to React and Next.js.

  • https://nextjs.org/learn/dashboard-app

Welcome to the Next.js App Router course! In this free interactive course, you'll learn the main features of Next.js by building a full-stack web application.

Rust

  • https://doc.rust-lang.org/book/ch00-00-introduction.html

Welcome to The Rust Programming Language, an introductory book about Rust.

Security

  • https://github.com/OWASP/CheatSheetSeries

Welcome to the official repository for the Open Web Application Security Project® (OWASP) Cheat Sheet Series project. The project focuses on providing good security practices for builders in order to secure their applications.

Site Reliability

  • https://sre.google/sre-book/table-of-contents/

Members of the SRE team explain how their engagement with the entire software lifecycle has enabled Google to build, deploy, monitor, and maintain some of the largest software systems in the world.

  • https://dropbox.github.io/dbx-career-framework/ic1_reliability_engineer.html

The Site Reliability Engineer career path over at Dropbox.

  • https://sre.google/workbook/how-sre-relates/

The Site Reliability Workbook is the hands-on companion to the bestselling Site Reliability Engineering book and uses concrete examples to show how to put SRE principles and practices to work. This book contains practical examples from Google’s experiences and case studies from Google’s Cloud Platform customers. Evernote, The Home Depot, The New York Times, and other companies outline hard-won experiences of what worked for them and what didn’t.

System Admin

  • https://github.com/trimstray/test-your-sysadmin-skills

This project contains 284 test questions and answers that can be used as a test your knowledge or during an interview/exam for position such as Linux (*nix) System Administrator.

System Design

  • https://github.com/donnemartin/system-design-primer

Learning how to design scalable systems will help you become a better engineer. System design is a broad topic. There is a vast amount of resources scattered throughout the web on system design principles. This repo is an organized collection of resources to help you learn how to build systems at scale.

  • https://google.github.io/building-secure-and-reliable-systems/raw/toc.html

Can a system be considered truly reliable if it isn't fundamentally secure? Or can it be considered secure if it's unreliable? Security is crucial to the design and operation of scalable systems in production, as it plays an important part in product quality, performance, and availability. In this book, experts from Google share best practices to help your organization design scalable and reliable systems that are fundamentally secure.

  • https://github.com/karanpratapsingh/system-design

System design interviews can be quite open-ended and intimidating as it is a very extensive topic. There can be multiple solutions to even the most basic system design problems. The objective of this book is to help you learn the fundamentals and explore the advanced topics of system design.

  • https://www.designgurus.io/course/grokking-system-design-fundamentals

Grokking System Design Fundamentals is designed to equip software engineers with the essential knowledge and skills required to design large complex systems. This course covers a wide range of key concepts, including caching, load balancing, data partitioning, proxy servers, and more, that are crucial for designing efficient, scalable, and reliable distributed systems.

Terraform

  • https://learn.hashicorp.com/tutorials/terraform/associate-study?in=terraform/certification

This guide lists resources you should study if you are preparing for the Terraform Associate Certification exam from scratch. We've listed the resources in order of difficulty so that you should be able to progress through the list in order.

  • https://www.terraform-best-practices.com/

This document is an attempt to systematically describe best practices using Terraform and provide recommendations for the most frequent problems Terraform users experience.