Reverse Engineering

Sometimes, fixing a bug in legacy software requires quite a bit of reverse engineering.  In order to figure out why a bug is occurring, you may first need to learn how a whole subset of the system works at all.  Most of your time is spent following method usages and stack traces.  You have to investigate the object structure, read documentation on third party tools you may have never heard of, and wonder why anybody would have built the thing this way.

Very little of this is taught in schools (at least when I went to school).  We were mostly taught how to read code, and very rarely had to work on existing projects; most of our projects were “green field”.  It turns out that in the real world a surprising amount of a developer’s life is spent reading somebody else’s code.  And then every once in a while you’re reading somebody’s code, and wondering who in the world would have done something so dumb, and you go look at the author of the code to find out it was you from 2 years ago…

Here’s an xkcd:

Originally Posted on my Blogger site August of 2017

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.