Debugging: Software engineering perspective

▼Click below to enroll▼

Debugging: Software engineering perspective


What you'll learn Debugging as a deductive process Things to consider in production system analysis Methods to isolate root cause without rushing to attaching debuggers Understanding systems as permuatation of components Factors to consider while dealing with systems with components owned by different teams Different engineering communication channels that dictate the scope for debugging Debugging is more than just attaching a debugger to a running program. Identifying the correct root cause is a skill. In addition, the complexity of distributed systems and multi-language stacks makes debugging even harder. The key to a long career in software is the ability to build large systems. Large-scale systems cannot be created on a single machine using a single programming language. Hence one has to evolve into a generalist engineer to lead such efforts. Irrespective of role, understanding complexity and ability to navigate it during production fire fighting is a growth accelerator in the industry.  The course takes a generic view of workflows leading to frequently occurring debugging problems in large systems. Intentionally no tool details or deep dives are included. Instead, a guidance framework is provided for the students to explore ...