Contributor

Software development: It’s about the journey, not the finish line

opinion
Apr 20, 20153 mins

Software development success should be defined by continuous learning and innovation, not just the completion of projects

The journey is more meaningful than the finish. This is what I learned after completing my first half-marathon. It’s also true for all software development projects. Let me explain.

I spent three months training for the half-marathon and ran more than 200 miles. During my training runs I practiced how to hydrate while running, keep my running pace while climbing hills, and pushed myself to run faster for longer periods of time.

In the end, I spent more than 50 hours running to prepare for what ended up to be a 2:07 race.

Although I enjoyed the race through the beautiful streets of Old San Juan in the early morning, I liked my training runs the best. Each of these runs was part of a journey of learning, getting better, and doing something that I had never done. This is what left a lasting impression that persuades me to run another half-marathon or even a full-marathon in the future.

In thinking about my experience training for a road race, I realized that this love of the journey also precisely describes my love of software development. Software development is not just about creating a new piece of software. For me, it’s about creating something that has never been made before. It’s the opportunity to learn and apply your new knowledge.

Software engineers are like great athletes: they avoid their comfort zones and strive to improve their creations. To improve as a runner, you must always be training. To become a good software developer you need to always be learning. This is not just learning new technologies, but also how to apply them to solve problems more efficiently. Not just learning new software patterns, but understanding how to apply them to solve real problems in the code. Good software developers are always trying to get better.

Ultimately, it’s not about the software you build, but how you build it. It’s about the process of creating the software and the goals you achieve during the journey. Your users will see the end result, but your memories will be of your triumphs over the code, like how you used multi-threading methods to improve the user experience or aggregate APIs in a completely new way. These are the experiences that drive good software developers to create better software solutions.

Obviously the end product is important as is finishing the race, but for the software developer as well as the athlete the finish is never the end. There are always the what-ifs: what if I had trained harder? What if I had implemented an Abstract Factory instead of a Factory Method pattern? Good software developers are always thinking ahead and differently. What can I do different next time? What new technology should I learn that would have made my software even better?

Every software project should be treated as a journey and an opportunity to beat your own personal best. Staying out of your comfort zone means appreciating your role in an industry that is ever-changing and offers you new challenges every day. I know I do.

Carlos Melendez has nearly two decades of years experience in enterprise and web software development. He began his career working for Accenture in Minneapolis, and later moved to Puerto Rico to work for a local research and development company as the designer and developer of a distributed payment transaction engine. Carlos' expertise lies in integrating complex distributed systems and enabling them towards service oriented architectures. His deep understanding of data layers intricacies provides him with the necessary skills to manage the most complex of system integration and web deployments.

As COO and co-founder of Wovenware, Carlos helps lead the company and advise customers with their business and software development needs. Carlos holds a BS in Electrical Engineering from the University of Puerto Rico - Mayagüez Campus and Juris Doctor from the University of Puerto Rico - Rio Piedras Campus.

The opinions expressed in this blog are those of Carlos Melendez and do not necessarily represent those of IDG Communications, Inc., its parent, subsidiary or affiliated companies.

More from this author