3 ms·
Debugging requires an extremely thorough understanding of the project, so much that you can not only find each responsibility in the code, but anticipate their
by closeparen 7y ago
Debugging requires an extremely thorough understanding of the project, so much that you can not only find each responsibility in the code, but anticipate their emergent properties, what mistakes might have been made, and how their interactions might go wrong. Debugging a system successfully is the culmination of successful on-boarding, not a starting point.
Doing the actual code changes to fix a bug which has already been analyzed and localized to one or a few sites in the codebase is a bit more reasonable.
- jolmg 7y ago> Debugging requires an extremely thorough understanding of the project That's precisely why it's great for a starting point. It's work that mostly consists of research of the current code, to look for inconsistencies that cause a well-defined misbehavior. It involves writing little code and therefore involves little decision-making if any, so you avoid the newcomer making changes or adding stuff that, in ways, may be inconsistent with how things are done in the project.
- commandlinefan 7y ago> an extremely thorough understanding of the project Right - so no time like the present to get started understanding!
- biehl 7y agoRight. But sometimes this clashes with new developers expectation of actually being able to produce an acceptable solution and getting it merged within a reasonable amount of time. Have those expectations never clashed for you?
- closeparen 7y agoYou can get started by doing smaller and better-defined projects first, rather than going for ~weeks before knowing whether you have any traction.