Tags and other related "jump here" (e.g., :help include-search, gf, gd, *) commands are great, when set up correctly. Searching with /,? is similarly fast. Both give you great control and precision to reach related code.
The :grep, :vimgrep, :make, etc., commands all populate the quickfix list (but can be made to populate the location list). This list can be navigated with a few commands, or browsed in a window, to quickly jump to "interesting" parts of the code.
Both the quickfix/location lists and tags may involve traversing more than the current file, but in practice that's well worth it. In many cases you can restrict to the current file.
I also recommending learning more about ranges; inputting a range with no command jumps to the first line in that range. Search and marks work, too, and using : is occasionally faster (typically when you already want to operate on that range and know the Ex command to do it).