I hesitated for most of my career to begin speaking at conferences, conventions, and meetups. The primary reason was centered around my belief that I still needed to learn more. Operating with a continuous pursuit of improvement lead me to the feeling that I’m a work in progress and therefore not yet ready. I like how Henry David Thoreau put it as he relates this to writing, “How vain it is to sit down to write when you have not stood up to live.”
What Got Me Started
Eventually I had both a mentor and colleagues encourage me to speak about the ideas I have been sharing with Dev Teams for many months and even years. In hindsight, I was finally ready, and as it turns out, presenting requires a good amount of learning to be competent on the subjects you’re speaking about.
To my surprise I enjoy presenting and seem to have a never-ending supply of content. Perhaps this comes naturally with training and several decades of experience. Or perhaps I was just extremely fortunate to work with such talented people throughout my career that I now feel a sense of authority on the topic of software architecture and engineering. In either case, I now realize that there is a massive need for more industry leaders to share their knowledge with a constantly growing developer community.
A Burning Desire to Share
I was indeed in a fortunate position to receive advanced training in software architecture and engineering followed by the immediate opportunity to put my training into practice on software projects. This sequence happened numerous times over the span of about 5 years. I know for certain many other architects in training with me were not in such a fortunate position and struggled to get the opportunity to apply what they had learned. This practice combined with repetition built a burning desire to share with others. The way I design and build software systems now is so vastly different from what I did previously, I want everyone to have what I have.
An Abundance of Content
The first two decades of my career I built software just like everyone else. I perhaps had higher expectations of the quality of work we produced because of working with several extremely talented engineers during that time. However, the last decade has proven to solve many of the difficulties I faced in my past projects. The ability to design and build loosely coupled, highly cohesive, logically consistent service-oriented software systems that are extensible, testable, and maintainable has truly transformed my career. Much of the content I speak to is grounded in the same engineering principles that I now practice every day. Naturally it becomes easy to produce more content since I’m constantly sharing these same concepts with Dev Teams during my training and consulting work.
I now have a deep-rooted desire to give back to the software development community and share what I’ve learned. I know from practice and experience that these ideas will improve not only the quality of work for the attendees of my talks, but also their enjoyment of the entire software development process. It is not just about engineering principles that have been around for several decades, but also the mindset shift towards being a first-class professional at your work. The idea that we should strive to have a zero tolerance for defects mindset is new to many teams, which is a topic I present on.
I’m very grateful for the influences in my career that have encouraged me to step out of my comfort zone and stand before a crowd to share the ideas that I am both proud and passionate about. Doug Durham, the CEO of Don’t Panic Labs was the first person to suggest I do a presentation to the Raikes students at the University of Nebraska – Lincoln. Despite my belief that I was not ready, I was pleasantly surprised to see so many people in the audience shaking their heads in agreement with me during my first presentation. I later worked with Matt Ruwe and Brian Olsen that head-up the Omaha .NET User Group meetup. Their encouragement led me to give several presentations over the years. Eventually I started volunteering at the local developer conferences where I now share a small part of my training program which is centered around architecture and software engineering best practices. Ken Versaw has also been instrumental in inviting me to participate in Lincoln.Code and Nebraska.Code presentations.
How To Avoid Pitfalls
Much of my passion to share what I’ve learned is derived from some of the bad experiences many teams I’ve worked with are facing today. I want to help them overcome the pitfalls that are completely avoidable with the right methodology. I recently wrote an e-book titled 3 Common Software design and Development Mistakes That Cause Teams to Fail (And How to Avoid Them.) This e-book was based on experiences I’ve seen at organizations I joined as a consultant. My mission was to help them overcome these flaws and help them get back on track to successful completion. I hope you will enjoy reading this e-book and share it with others.