Practical Debugging at Scale Part 15: Process

preview_player
Показать описание
In academic theory of debugging there's a standardized process for locating an issue and resolving it. This process is something most of us do intuitively and as part of standard corporate process. In this video we will review the steps of this process and why they are important.

This video is a part of the second module covering debugging theory. Here we discuss the process that we need to follow when running into a bug. Ever spent all night on a bug only to find out it was a "stupid" thing that you missed in the beginning? We all have! There's a systematic process for tracking an issue that reduces the chance of this recurring.

By leveraging these tools and techniques you will gain access to the secret weapon of senior developers and consultants. This will make you a better developer and a happier one. Stop treating debugging like throwing out the garbage and treat it as a skill that you should improve.

In the following modules we cover:

* Debugging Theory - Ever spent all night on a bug only to find out it was a "stupid" thing that you missed in the beginning? We all have! There's a systematic process for tracking an issue that reduces the chance of this recurring.

* Tooling - Is your debugging session limited to the IDE? What do you do when there's a dead end or the problem only happens in the release version of your application? That's where external tooling can take you to the next level as a developer.

* Code - This isn't a course on coding. You should know how to do that before you start. But how do you write code that's easier to debug? Code that fails in predictable ways. Code whose failures are easy to understand and track. Code that doesn't drain your bank account because it overuses cloud resources.

* Kubernetes - Not only is Kubernetes hostile to debugging, it does that on a scale that creates its own set of problems. Add the complexity of production debugging to the mix and we've got a new set of problems.

* Serverless - Kubernetes has an ephemeral state problem, serverless takes that problem to a completely new level.

* Fullstack - As we chase a bug we need to venture outside our comfort zone. To tiers and tools we might not be as comfortable with. In this module we'll discuss debugging the frontend and the database to create a tongs motion around the bug.

* Observability - Production debugging is really about observability. Yet so many of us leave these tools to the DevOps team. In this module we'll cover these tools from a developer perspective.

The full course includes more than 5 hours of video material.

00:00 Introduction
00:14 Process
00:49 Issue
01:46 Avoid Chats and Emails
02:55 Daily Meetings
03:52 Test
04:34 Avoid Regressions
04:51 Unit vs. Integration Tests
05:26 Coverage on Integration
05:54 Final Word
Рекомендации по теме