There are a number of patterns that reveal themselves to us daily. The sun rising and setting; the moon exposing itself to the tides below. There is a variance of change depending on the time of the year, month or day. Over time you if you keep track of it; the pattern will emerge. The same truth is applied to software development; over time if you keep track of the changes (success or failure) the pattern will emerge. I love anti-patterns; I love to learn about them in the software world. The world that I am interacting with; I also love to find the patterns that are around us. What commonality does this issue have to similar issues we have had? Some of my favorite anti-patterns are: the golden hammer, NIH (not invented here), and spaghetti code. Not to say that I enjoy these anti-patterns, but that the causation of why these occur. If you keep track of them, i.e. documentation, you will be better equipped to deal with them.

What is an anti-pattern? See

The wrong way to do something in a nutshell. Golden Hammer: When all you have is a hammer everything looks like nail. Not Invented Here Syndrome: Fear of the unknown - something not invented here can’t be trusted. Spaghetti Code: Not maintainable – jumbled mess of code. I think this is a good practice of software development: I am not my code. Do not take your code personal.

What is a pattern?

Keep track of successes to know what patterns help you succeed.  Documentation of tasks, accomplishments, and other thoughts is a great way to find those patterns.  There are a number of great proven patterns in software and life! SOLID: development the right way DRY: Don’t Repeat Yourself KISS: Keep It Simple Stupid