The Re-Education of a Software Developer
I’m in the process of re-directing my career back to hands-on development. This is the start of not only one of the most exciting phases I’ve ever embarked upon, but it’s also one of the most gut-wrenching and sometimes paralyzing.
I’ve been in software development professionally for over a quarter century, at least a third of it as a consultant. I’ve owned two of my own software companies; one a success, and one stillborn. At two key points of my life and career, I’ve stepped away from development in order to take on full-time management roles. Both times were out of obligation.
I have nothing against technical management as a profession, and I have a great deal of respect for anyone who chooses that role and career path. My respect for the role has increased ten-fold since I ventured into that territory. I think I’ve done a pretty good job in management, based upon performance reviews and what others have told me; subordinates and peers.
But it’s not for me. Never has been, never will be. And I’m not going down that road again.
I don’t know who said it, but it’s so true. Better than say it, I’ll diagram it:
|Never do||Delegate||Do when you must, or delegate|
|Why bother?||Bored?||Do when you must, or delegate|
|Hobby?||Build skills or keep as hobby||Must do, or live with regret|
I’ve lived in the yellow for way too long. It swallowed me whole at times. I’ve only touched the surface of the green over the past few years. I want to spend the next 100 years in the green. I’ve learned enough about almost every other aspect of my field to understand where I truly belong. And I now have the insight to understand the other players and areas in the field.
In hindsight, I can say that my experience delving into management, and even dipping my toe in almost every other aspect of IT, will make me a much better developer, consultant, mentor, and trainer. I don’t know if I’d ever recommend the same path I took, to anyone else. It’s been painful. It’s been rewarding. It’s been frustrating as all hell. It’s had its rollercoaster rides of wins, losses, self reflection and deep self-doubt. In darker times, I’ve even considered leaving the field.
I’ve been an optimist. I’ve been a pessimist. I’ve been naive. I’ve been a cynic. And many people only know one of those traits of mine. But over the past few years, I’ve learned more about myself than the rest of my life combined. And recently I’ve reconnected to the only things that ever gave me passion in my field.
There are several more years of constant growth ahead. There are many things still to accomplish. But the core to all that is my return to code. To where I belong. To where I never should have left. But I guess I never would have realized that if I didn’t take the path I’ve taken.
I’m lucky. Or maybe it was by design. But one of the reasons I helped start a couple of user groups a few years ago was to stay connected – to stay on top of the tools and technology. To stay connected to other developers. To meet and get to know some of the top developers, teachers, and speakers in this field. And to learn from all of them.
Now that I’m diving back into the deep end, I’m developing a solid plan of action that I’ll share in my next post. I’ve given myself just a handful of months to get my mojo back…
But I also want to give something back to the development community as part of my journey.
In order to speed the process, I’ll start publicly blogging about the “re-education of a software developer.” My goal is to not only use this blog as a resource for myself as I revisit what I used to be very good at, but to also provide a resource for others who are in a similar boat – considering a return to their roots and true passion. And also for developers who are about to enter the field.
For some of you, several of my upcoming posts may seem too basic or trivial. But to others like myself, it may be a refresher course, or an introduction to stuff we may have missed over the past few years.
I welcome comments, constructive criticism, correction, and even the occasional, “what, are you stupid?” My expectation is that it’ll help me and others learn and grow.
Although software development is not exactly like riding a bike, I’m confident that my staying on top of things will hasten re-exercising the development muscles I’ve always had. And by going public, it’ll provide the push I need to shed the cobwebs. And perhaps it will inspire others as well.
Here we go…