Whenever working on something complex, especially something that you’ve not worked with before, it’s important to get into the head of the creator.

If you just strive to learn bits and pieces of the whole and not get an understanding of how the pieces are connected you’ll never understand why things work. Now, this isn’t to say that you need to understand every nook and cranny of everything. A general map of things will generally suffice. Learning what are the building blocks are and how they interact tends to work fine.

The key is understanding why the maker chose to do things in certain ways. If you could get into their mind you can then ask yourself “how would I implement something?” If you have become one with the maker you can then discover for yourself because there are logical ways to do things.

As a maker of code myself, I like to arrange things in a way that flows logically and the intent is as self-evident as possible. In the case of being the maker, you must strive to distill the model down to something as simple as possible, but no simpler; the correct level of abstraction is just as key as to how the code is set down.

Of course if the maker is insane, then there’s not a whole lot to do except get drunk and/or stoned and hope for the best.