Think Like A Software Engineer
Software engineering is a lot more than simply writing code - it needs a whole new way of thinking. This video series will help you obtain the mindset that devs typically only pick up after years of experience. Join and level up your dev game!
Watch Promo
With your monthly subscription, you'll get unlimited access to more than 140 episodes, covering topics from debugging to optimizing code and from experimentation to reading documentation. Get of the "junior dev" rut, and develop the meta skills of programming to increase your proficiency as an adept software engineer. These skills usually aren't taught anywhere, and are left for devs to pick up with experience. Until now, that is - as we dive into these concepts head on.
Your Instructor
Writing the code on teaching code • CEO of Actualize Coding Bootcamp • Author of A Common-Sense Guide to Data Structures and Algorithms
Course Curriculum
Think Like A Software Engineer
Available in
days
days
after you enroll
-
PreviewEpisode 1: Thinking About Time Complexity (8:04)
-
PreviewEpisode 2: Dealing With Tricky Errors (9:14)
-
PreviewEpisode 3: Getting to the Bottom of Things (7:50)
-
StartEpisode 4: English Code Isn't English (5:24)
-
StartEpisode 5: How Arrays Work (9:10)
-
StartEpisode 6: The Constraints of the Computer (13:07)
-
StartEpisode 7: Artificial Intelligence (3:04)
-
StartEpisode 8: Hacking the Paywall (4:13)
-
StartEpisode 9: What on Earth is Wrong?! (4:51)
-
StartEpisode 10: Learning Rust Part #1 (9:23)
-
StartEpisode 11: Learning Rust Part #2 (6:44)
-
StartEpisode 12: How to Find Stuff (6:09)
-
StartEpsiode 13: Debugging a Real Website Error (10:27)
-
StartEpisode 14: How to Isolate the Problem (4:02)
-
StartEpisode 15: Automate Everyday Tasks Without Code (7:35)
-
StartEpisode 16: How to Use Stack Overflow (11:58)
-
StartEpisode 17: Reverse-Engineering Documentation (7:47)
-
StartEpisode 18: Installing Stuff! (9:38)
-
StartEpisode 19: Gremlins! (3:37)
-
StartEpisode 20: Google Tips (5:48)
-
StartEpisode 21: Know Thy Data Types! (10:44)
-
StartEpisode 22: Third-Party Duds (6:00)
-
StartEpisode 23: End Early (6:02)
-
StartEpisode 24: Data Dive (6:07)
-
StartEpisode 25: Tradeoffs (3:53)
-
StartEpisode 26: Converting the World into Code (7:16)
-
StartEpisode 27: How to Contribute to Open Source (9:23)
-
StartEpisode 28: How to Contribute to Open Source Part #2 (5:16)
-
StartEpisode 29: How to Contribute to Open Source Part #3 (4:45)
-
StartEpisode 30: JavaScript Hoisting (5:37)
-
StartEpisode 31: console.table (3:29)
-
StartEpisode 32: The Most Misunderstood Error Message (4:49)
-
StartEpisode 33: Whiteboarding Algorithms (12:45)
-
StartEpisode 34: The Speedy Hash Table (10:03)
-
StartEpisode 35: Programs That Hang (6:13)
-
StartEpisode 36: Broken Images (3:41)
-
StartEpisode 37: Looping and Deleting (6:28)
-
StartEpisode 38: Learning React Part #1 (11:19)
-
StartEpisode 39: Learning React Part #2 (13:18)
-
StartEpisode 40: Learning React Part #3 (10:01)
-
StartEpisode 41: The Missing Return (3:09)
-
StartEpisode 42: Use Strict (2:43)
-
StartEpisode 43: How to Quit (5:59)
-
StartEpisode 44: Off By One (4:29)
-
StartEpisode 45: Unmodified Objects (6:09)
-
StartEpisode 46: Count the Steps (4:57)
-
StartEpisode 47: Elegant Hashes (4:36)
-
StartEpisode 48: Computer-Based Technical Interviews #1 (8:42)
-
StartEpisode 49: Computer-Based Technical Interviews #2 (10:24)
-
StartEpisode 50: Edge Cases (6:01)
-
StartEpisode 51: Debugging Some Python (8:58)
-
StartEpisode 52: Claw Machines and Coding (4:11)
-
StartEpisode 53: Are You Multilingual? (9:38)
-
StartEpisode 54: JavaScript Equality (3:25)
-
StartEpisode 55: Isolating a Problem: In Action (9:12)
-
StartEpisode 56: Reserved Keywords (4:33)
-
StartEpisode 57: Thinking About Space (6:58)
-
StartEpisode 58: Unexpected Errors (5:38)
-
StartEpisode 59: Writing Tests (8:36)
-
StartEpisode 60: A Testing Gotcha (4:44)
-
StartEpisode 61: Testing the Sad Path (4:14)
-
StartEpisode 62: Jumping Into a New Technology (9:50)
-
StartEpisode 63: Inverted Thinking (4:18)
-
StartEpisode 64: Short Circuits with Return (5:00)
-
StartEpisode 65: Toggle Logic (3:28)
-
StartEpisode 66: The Errant Semicolon (5:23)
-
StartEpisode 67: Keeping Current (3:34)
-
StartEpisode 68: How to Read a Programming Book (4:20)
-
StartEpisode 69: Inputs, Outputs, and Assembly (8:31)
-
StartEpisode 70: When JavaScript Goes Wrong in the Browser (3:43)
-
StartEpisode 71: Writing Complex Code (6:30)
-
StartEpisode 72: But It Works On My Machine! (5:13)
-
StartEpisode 73: Same Data, Different Formats (3:57)
-
StartEpisode 74: The Matrix (8:29)
-
StartEpisode 75: Finding Text With Grep (6:42)
-
StartEpisode 76: Truthy or Falsy? (9:43)
-
StartEpisode 77: Know Your Text Editor (4:35)
-
StartEpisode 78: Naming Variables (4:31)
-
StartEpisode 79: Save Your Work! A Quickstart Guide on Github (5:45)
-
StartEpisode 80: Exploring Code with a Debugger (6:20)
-
StartEpisode 81: Debugging With The Debugger (7:11)
-
StartEpisode 82: Sorting Algorithms (4:34)
-
StartEpisode 83: Working With Third-Party Libraries (6:18)
-
StartEpisode 84: Don't Do This... Or Else (2:45)
-
StartEpisode 85: Big O Notation (5:57)
-
StartEpisode 86: The Debugging Attitude (3:57)
-
StartEpisode 87: Become a Text Editor Power User: Multi-cursor Selection (5:09)
-
StartEpisode 88: Become a Text Editor Power User: Code Snippets (4:54)
-
StartEpisode 89: Become a Text Editor Power User: Keyboard Shortcuts (5:33)
-
StartEpisode 90: Making a Great README (6:34)
-
StartEpisode 91: Working with Markdown (6:34)
-
StartEpisode 92: Condensing Code (8:41)
-
StartEpisode 93: Sharing Code With Others (7:19)
-
StartEpisode 94: Google the Error Message: Part #1 (5:31)
-
StartEpisode 95: Google the Error Message: Part #2 (7:22)
-
StartEpisode 96: Logic Trick: Verify a Value by Changing It (8:57)
-
StartEpisode 97: Logic Trick: Short Circuit With && (5:56)
-
StartEpisode 98: Logic Trick: Or Equals (7:07)
-
StartEpisode 99: Dangers of Copy and Paste (4:38)
-
StartEpisode 100: Binary Numbers (8:05)
-
StartEpisode 101: How Do Hex Codes Work? (6:58)
-
StartEpisode 102: Integer Issues (4:56)
-
StartEpisode 103: Mistaken Equality Checks (4:35)
-
StartEpisode 104: User-Input Data Types (6:11)
-
StartEpisode 105: Autosave Yourself From Frustration (4:05)
-
StartEpisode 106: Debugging Someone Else's Software (4:10)
-
StartEpisode 107: Prettier (3:18)
-
StartEpisode 108: Prettier + Autosave (5:43)
-
StartEpisode 109: Installation Issues (4:50)
-
StartEpisode 110: Interview Question: FizzBuzz (7:11)
-
StartEpisode 111: Interview Question: Reverse a String (4:31)
-
StartEpisode 112: Interview Question: Palindrome (4:23)
-
StartEpisode 113: Interview Question: Prime Number (12:35)
-
StartEpisode 114: Interview Question: Fibonacci Numbers (11:37)
-
StartEpisode 115: Interview Question: Duplicate Values (10:16)
-
StartEpisode 116: Disconnected Code (6:32)
-
StartEpisode 117: Visualizing Others' Code (7:43)
-
StartEpisode 118: Reading Files (5:22)
-
StartEpisode 119: CSV Files (7:52)
-
StartEpisode 120: Writing to Files (5:44)
-
StartEpisode 121: Languages are Arbitrary (8:09)
-
StartEpisode 122: Refactoring: Naming Values (7:25)
-
StartEpisode 123: Tinkering (8:30)
-
StartEpisode 124: Decomposing a Problem (9:17)
-
StartEpisode 125: Refactoring: Descriptive Variable Names (8:46)
-
StartEpisode 126: Refactoring Safely (9:53)
-
StartEpisode 127: Refactoring: Explaining What Code Does (4:22)
-
StartEpisode 128: Array Pattern: Mapping (8:24)
-
StartEpisode 129: Array Pattern: Reducing (7:12)
-
StartEpisode 130: Array Pattern: Selecting (4:14)
-
StartEpisode 131: Terminal Basics Part #1: Navigating Folders (6:51)
-
StartEpisode 132: Terminal Basics Part #2: Exploring Files (6:29)
-
StartEpisode 133: Terminal Concepts: Piping (5:29)
-
StartEpisode 134: Terminal Concepts: Redirecting Output (6:19)
-
StartEpisode 135: How the Web Works: Part #1 (9:43)
-
StartEpisode 136: How the Web Works: Part #2 (6:31)
-
StartEpisode 137: How the Web Works: What is Back-End Web Development? (8:51)
-
StartEpisode 138: How the Web Works: What is Front-End Web Development? (7:54)
-
StartEpisode 139: Getting A Second Error Message (5:18)
-
StartEpisode 140: Benchmarking Speed (10:51)
-
StartEpisode 141: Error Message: Unexpected End of Input (4:42)
-
StartEpisode 142: How to Find That Missing or Extra Parenthesis (5:28)
-
StartEpisode 143: Error Message: Wrong Number of Arguments (6:38)
-
StartEpisode 144: OOP #1: Why OOP? (8:02)
-
StartEpisode 145: OOP #2: Classes and Instances (14:06)
-
StartEpisode 146: OOP #3: The Constructor (6:00)
Frequently Asked Questions
When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.