Turning Adversity Into Growth


I don’t want to become one of those guys who always talks about “kids these days”, but… Kids these days! Am I right? They could use a lesson in turning adversity into growth.

Am I getting old?

I find myself getting a bit tired of hearing younger developers complain all day long about this or that. “Ugh! Merge conflicts again?” “Do we really have to do all these code reviews? It pulls me away from my coding.” Or even worse, they’ll say, “I’m tired of working with this legacy code. I want to do something new and exciting”, and then turn right around and say, “Did we really have to pull out those libraries from the monolith? It’s doubled the amount of pull requests we have to make”! They don’t want to work with a monolithic app, but they also don’t want to experience the pains of breaking it out into pieces either.

I don’t know if this is indicative of a newer, younger, lazier, more entitled generation, or if I’m just overly sensitive to it and turning into a grumpy old man. I’ll go ahead and say it’s the latter in order to not denigrate an entire generation of developers. However, I do believe — for whatever reasons — that I happen to possess a higher level of tolerance for discomfort and adversity that helps me to survive in the professional development landscape. Part of growing up is learning to tolerate discomfort and adversity. In fact, not only do I tolerate it but I tend to feed on it to inspire and motivate me to improve and expand my skill set.

Practice what you preach

For example, at work we recently pulled our business logic service libraries out of our monolith and turned them into NuGet packages that can be consumed by the various service areas (that as of right now still don’t exist) as the first step in modernizing our legacy app. This has been the source of much turmoil as it has forced us to change up our processes and development life-cycle.

It didn’t take me too long to adopt a new routine, but plenty of devs didn’t fare as well and complained incessantly for weeks. I found myself saying on more than one occasion, “If you hate it so much you should write some scripts to automate some of the extra work. You are, after all, a programmer.” I found myself getting just as annoyed by their incessant complaining as they were by the new process, so I decided to take my own advice and wrote the automation scripts myself. This led me into the wild world of PowerShell, about which I previously knew little, but which now feels comfortable and familiar. And just like that I turned adversity into a new skill!

So, to all the young devs out there:

Come to expect obstacles. And merge conflicts. And code reviews. Enjoy them. Embrace them. Love them as you would your own child. Resolve conflicts with great care and unending patience. Accept critical code review comments as constructive criticism and turn them into learning opportunities, turning adversity into growth. And then maybe, just maybe, one day you’ll wake up to find that your life as a developer isn’t as bad as you thought.

(Oh yeah, and learn to rebase)


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.