In my experience of programming, the really hard part was figuring out which packages weren’t installed or weren’t updated or were in the wrong folder, causing the test we’d done in class to completely fail to work in the same way on my own computer. The next really hard part was Googling everything the debugger spat out to find an explanation of how to make it go away.
this is only sometimes true in my work. i find there are two main kinds of work that i encounter:
greenfield development—i own the entire codebase and build it from scratch. i spend 90% of my time thinking about what i actually want the computer to do.
working in a large existing codebase—i spend a lot of time understanding what someone else told the computer to do, and then spend a bunch of time fixing things that broke
for the former, i spend very little time dealing with this kind of stupid bug thing. for the latter, there is a much larger amount, but it is often not solvable via the “just google/slack-search for the error and whack it until it works” loop. often i need to deeply understand the code to debug it, and the reason it wasn’t working was because of some kind of misunderstanding of what the computer was being told to do on my part. this also varies a lot by specific codebase; the worst codebases i have dealt with were impossible to understand and only fixable by whacking it.
my guess is i do a lot more of the first thing than the average lab employee
this is only sometimes true in my work. i find there are two main kinds of work that i encounter:
greenfield development—i own the entire codebase and build it from scratch. i spend 90% of my time thinking about what i actually want the computer to do.
working in a large existing codebase—i spend a lot of time understanding what someone else told the computer to do, and then spend a bunch of time fixing things that broke
for the former, i spend very little time dealing with this kind of stupid bug thing. for the latter, there is a much larger amount, but it is often not solvable via the “just google/slack-search for the error and whack it until it works” loop. often i need to deeply understand the code to debug it, and the reason it wasn’t working was because of some kind of misunderstanding of what the computer was being told to do on my part. this also varies a lot by specific codebase; the worst codebases i have dealt with were impossible to understand and only fixable by whacking it.
my guess is i do a lot more of the first thing than the average lab employee