What's the #1 Most Painful Thing About Coding?

Getting stuck!

Have you ever banged your head against the keyboard for hours feeling like you are wasting your life away? Have you ever furiously googled for the solution to your immediate problem and tried executing any code snippet on the internet that could potentially be a quick fix? Have you ever littered your code with copious log statements and then to comb through the output line by line to try to figure out what is going on. Have you ever to asked your question on StackOverflow and IRC chat rooms, and felt helpless when the internet fails to be of help? Does any of these sound familiar?

Getting stuck can be frustrating, and because of this, the word "debugging" is often associated with unpleasant thoughts, but it doesn't have to be this way. Debugging is simply a know-how to be learned, a skill to be honed, a practice to be mastered.

Enter Debug School

You can learn time-tested debugging techniques from Debug School, and once you do, you will face bugs with optimism, not fear. When you encounter a difficult problem, you are intrigued, not discouraged. You feel in control of the programs you write. You feel free to experiment with different ideas. You find optimal solutions to problems and you don't go for duck-tape solutions. You will learn new things more quickly. Coding will be fun again!

Debug School is a series of 6 lessons that will teach you battle-tested debugging and troubleshooting techniques. Luckily for you, the author of Debug School has decided to release these lessons free of charge, and free of you having to jump through any hoops what-so-ever to get them. You can access the lessons right now at the course catalog below.

Course Catalog

  1. 1. Taking Small Steps

    Don't let bugs pile up on you! Make your programming experience smooth and enjoyable by taking smaller steps.

  2. 2. Reading Error Messages

    Reading the error message is the most productive thing to do when starting to debug a problem. Yet many developers avoid it. This lesson will teach you how to read error messages so you won't be afraid of them ever again.

  3. 3. Reading Stack Traces

    Stack traces! They may look scary, but they will give you insight into what happened when an error or exception occurred. This lesson will teach you how to get the most out of them.

  4. 4. The Scientific Method

    Stop letting your own biases and assumptions thwart your debugging efforts. Track down bugs systematically with the scientific method.

  5. 5. Test Case Simplification

    What do you do when you have no idea what to do? Use Test Case Simplification! Test Case Simplification works by eliminating where the problem is not, and it always helps you get to the bottom of it.

  6. 6. The Bug Sandwich

    You swear it should work - because you've seen it work - but it doesn't! This is so frustrating. But what if you can use this fact to your advantage? The Bug Sandwich will help you do just that!