- My Mission -
To write secure, maintainable software that provides value and is free of defectsAnd Have Fun Doing It
Understanding = Knowledge + Experience
Hello, and thanks for stopping by. Allow me to introduce myself. My name is Adam and I am fascinated by technology. I am a polyglot, full stack software developer. In my career (and for fun), I have programmed audio visual control systems, desktop, mobile, and web applications. I believe in the Agile process, strong test suites, and clean code.
I decided to put this site together for a few reasons, but there are really 2 main motivations: to improve my understanding, and to give back to the community. Anyone that is familiar with the book Drive by Daniel Pink, will recognize these motivations as my pursuit of mastery and purpose, respectively.
Improve My Understanding
It has been said that the best way to learn something, is to teach it to somebody else. That statement is counterintuitive to me. How can someone teach something they do not know? The answer came to me when I attempted to explain a few design patterns to a fellow developer. As I spoke, I became aware of gaps in my knowledge. This realization became clearer as my friend asked questions that I didn’t have good answers for. Not being one to pretend to know something I don’t, I set out to fill in the gaps of my knowledge and found the truth in the proverb.
Though we overcome challenges every day, there can be a difference between solving a problem and understanding the problem. It is often easier to implement a solution than it is to understand why it works. Writing about a particular topic forces me to look deeper into it, thus improving my understanding.
The Internet is vast. I have found so many answers to so many challenges I have experienced. However, there are rare times that I fail to find the answer I am looking for, or the information is incomplete. These are opportunities to dig in, learn, then give some of my experience back to the community that has so readily provided me with so much help.
I hope the information I provide here helps someone just as so many have helped me. The Internet is an amazing thing. I endeavor to make it just a little bit better.
Like so many others, I enjoy making things better. I’ve heard that perfection can never be achieved. If this is true, I believe it is good news. It means there is always something that can be improved. It also means one should never be disappointed by the lack of perfection. There is always more to learn and do.
I love discussing all of the nuances of software. Testing, architecture, pros and cons of different languages and technologies - I will readily talk about all of it. So, if you see me, don’t be shy. Let’s talk technology.