Three key things in coding which has helped recently:

1) Debug mode from Cursor. It highlights all possible hypotheses based on the steps to reproduce and whatever you know from the code. It slaps down logs and tests all these hypotheses at once.

2) Log reading, though this is a variant of the above. At times we get massive logs, like 10k lines for a bug. We go through what may possibly cause the bug - what screens, threads, race conditions, improper handling of ANY_KEY or default or something. Then we ask Opus to compare the logs to see if it matches the story. I ain't manually checking Line 314, Line 500, Line 44 to see if it shows in logs, but AI is just great at piecing together this whodunit.

3) Finding documentation. So there's been a few bugs unsolved around how very specific Android devices handle wifi reconnection or bluetooth or Ethernet. Instead of making assumptions, I can dig into the AOSP source code directly and see the conditions that trigger these. AI will even point out the exact lines.