This page is just going to be a bunch of resources that you should absolutely know about as a programmer. Some will be talks, others books, others just random helpful tools.
Talks
Chandler Carruth (Perf, data structures, security)
Chandler Carruth has worked at Google for over 11 years on compilers and C++. He has done talks at CPPCon every year since 2014, and every single one of them is worth giving your full attention:
- Efficiency with Algorithms, Performance with Data Structures (2014): A great look at the concepts of how to think about optimization.
- Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!Efficiency with Algorithms, Performance with Data Structures (2015): A lot about micro-benchmarks and low level programming.
- High Performance Code 201: Hybrid Data Structures (2016): Special data structures they use in LLVM!
- Going Nowhere Faster (2017): Measuring and optimization.
- Spectre: Secrets, Side-Channels, Sandboxes, and Security (2018): All about spectre and meltdown. This really makes it understandable!
David Sankel (Project Management)
David Sankel is a senior software engineer at Bloomberg and is on the C++ standards committee. His talks are about project management and best practices, and both of them are more than worth it!
- Building Software Capital: How to write the highest quality code and why (2016): A talk about writing code that will help you in the future, rather than hurt you.
- So, you inherited a large code base… (2017): How to take a bad codebase and turn it into a good codebase.
Benchmarking C++ Code – Bryce Adelstein-Lelbach
This is a great talk on benchmarking code, statistics and performance analysis. If you want to learn deeply how to optimize and analyze code, this is a great place to start!
JavaScript Wat – Gary Bernhardt
JavaScript was built in 10 days. If you’re wondering if it shows; yes. Yes, it does. If you’re going to work in JavaScript, this is absolutely required.
Template Metaprogramming – John Edwards
The AutoLister code was heavily inspired by code from this talk. This is a great resource to learn about reflection in C++, and it’s just an overall amazing talk.
Tutorials
Derek Banas
Derek has a YouTube channel where he does no nonsense videos that just go over an entire language as quickly as possible. If you already know a language, this is the place to go to learn another one. You won’t know the nitty gritty or best practices, but you’ll get the syntax and features quickly to get started. This is especially useful for internships!
LearnOpenGL.com
It’s absolutely incredible how effective this tutorial is.

Resources
GodBolt – View Assembly Code
Ever wonder exactly what assembly a piece of code turns into? Ever get into a fight about a micro-optimization? Well, God Bolt is here to settle the argument. This will accepts multiple languages and will display the assembly that they generate. You can even add in flags for optimization to see if your code would even exist when optimized.
Regex101 – Regular Expression Tester
It’s really easy to write bad regular expressions that don’t actually work. Throw them into this first to get quick feedback about what would be captured and found. You can also see exactly what each character or sequence would be so you don’t forget to escape certain words!
C++ Online Compiler
Want to know if something works without having to go through the trouble of setting up an entire project? Just run it online. I run all my code through this before putting it up here.
Leet Code – Interview Problems from Real Companies
A major reason I did well in interviews was because of this website. It has hundreds of programming problems and if you get an account, you can get ones specifically for major companies. The best part is when you look at other people’s solutions after you try your best to do it. Some of their solutions completely changed how I think about programming and interview questions!
FireCode.io – Calibrated Interview Problems
This is a great reason that does a quick quiz to see what level you’re starting at first and slowly increases the difficulty of questions. It also covers a lot of the basics, so it’s great for anyone just starting with interview practice!
Project Euler – Math Style Programming Interview Questions
Do you struggle with math related programming problems? Project Euler has a ton of programming problems that focus in on math topics!
Books
Cracking the Code Interview
There is no better book to learn about technical interview questions than this book. I’ve never had Big O explained to me better than this book’s tutorial on it. It also has a range of different interview questions that span different topics (arrays, C++, multithreading, strings) and different difficulties.
Let me be clear, the earlier you start reading this book the better you will be when you finally have to do your first technical interview. Start as soon as possible!
The Orange Book – OpenGL Shading Language
This is a pretty classic book when it comes to programming graphics, especially at DigiPen. It comes from an industry veteran and is even used in CS 300.