I remember most the tiredness that would come and stick around through the next day. After late nights where the effort had been successful, the tiredness was kind of a companion that had accompanied me through battle. After late nights of futility, it was a taunting adversary that wouldn’t go away. But whatever came, there was always tiredness.
I have a personality quirk that probably explains whatever success I’ve enjoyed as well as my frequent tiredness. I am a relentless DIY-er and inveterate tinkerer. In my life I’ve figured out and become serviceable at things ranging from home improvement to cooking to technology. This relentless quest toward complete understanding back to first principles has given me a lot of knowledge, practice, and drive; staying up late re-assembling a garbage disposal when others might have called a handyman is the sort of behavior that’s helped me advance myself and my career. On a long timeline, I’ll figure the problem out, whatever it is, out of a stubborn refusal to be defeated and/or a desire to know and understand more.
And so, throughout my career, I’ve labored on things long after I should have gone to bed. I’ve gotten 3 hours of sleep because I refused to go to bed before hacking some Linux driver to work with a wireless networking USB dongle that I had. I’ve stayed up late doing passion projects, tracking down bugs, and everything in between. And wheels, oh, how I’ve re-invented them. It’s not so much that I suffered from “Not Invented Here” syndrome, but that I wanted the practice, satisfaction, and knowledge that accompanied doing it myself. I did these things for the same reason that I learned to cook or fix things around the house: I could pay someone else, but why do that when I’m sure I could figure it out myself?
In more recent years, I’ve revisited this practice. I’m in business for myself now and absolutely maxed out with demands for my time. I coach software development teams. I make videos for Pluralsight.com. I blog 3 times per week and sometimes more. And I still try to find time to write code and do some application development work when I can. Juggling all of these things has caused me to economize for time in all possible ways, and I’ve read books like Getting Things Done, The 4-Hour Work Week, and The Lean Startup for ideas on how better to manage my time.
A consistent theme of being more productive and more successful is to be selective about what you do versus what you rely on others to do. I could spend 4 hours wrangling the garbage disposal, anticipating the satisfied tiredness the next day when I finally emerged victorious… or, I could spend those 4 hours as billable ones, coaching a software team, and hire someone better than me at fixing disposals to come and fix the disposal. It’s hard to ask someone to help you for a task that you know you could do yourself, but coping with and overcoming that difficulty is the stuff leadership is made of. It’s the stuff success is made of. People who become tech leads and architects and do well in these roles are those who learn and understand this lesson.
The closer the task to your area of expertise, the harder it becomes to apply this lesson. It’s one thing for me to hire people to do plumbing tasks, but quite another for me to hire someone to improve the performance of my website or build me a Nuget package. And yet, I have to because I simply don’t have time not to. The field of software development is growing exponentially more specialized, which means that I need to learn the lesson, “just because it’s code doesn’t mean I’m the person for the job.”
It’s in this context that I appreciate the work done by Infragistics. I can’t tell you how many times I’ve implemented some kind of grid in some GUI somewhere and hand-rolled logic for sorting and filtration. I can’t tell you how many times I’ve thought to myself, “okay, next up, using some kind of text box template so that the user can click and edit inline.” This may have made me a better programmer through practice, but it was not a valuable use of my time. Practice and learning are activities unto themselves, and it’s important to set aside time to do them and to come to understand the problem being solved by the tools that you use, but when you’re on the clock and getting things done, you should not be solving those solved problems. Let experts solve them for you while you solve business problems.
It took me years to learn this lesson and then to start applying it. Learn from my mistakes. Let the experts in their areas help you so that you can find, build, and profit from your own area of expertise.