2.2 Troubleshooting and getting help

If you find writing code to be a slow and sometimes confusing process, that’s a normal part of programming. A large portion of a programmer’s time is spent identifying and resolving bugs, and learning to work with new languages and technologies is an ongoing process that involves research, practice, and experimentation.

Success in software development is less about how many languages or acronyms you can list on a resume, and more about being self-sufficient: the ability to learn new tools and solve problems independently. This doesn’t mean programmers never ask for help. On the contrary, good programmers know when it’s appropriate to consult peers or supervisors. At the same time, many common challenges can be addressed using documentation, online examples, forums, existing code, programming books, or debugging tools. Relying on generative AI could also be detrimental since it is plagued with errors that could do damage to company data. For instance, if an interviewer asks, “What do you do when you run into a difficult programming problem? What resources do you turn to first?” a strong answer demonstrates that you can efficiently find solutions on your own. Many effective programmers start with well-phrased searches online. Resources like Stack Exchange or other forums often provide solutions to common questions quickly, which are sometimes faster than walking down the hall to ask a colleague. For more complex problems, collaboration is essential, but the ability to independently explore and solve routine challenges is a valuable skill that helps the team work efficiently.

In this section of the lesson, you'll learn about places where you can go for help when working with Python and when programming in general. You will have a much easier experience in this course if you remember these resources and use them as you complete your assignments.