Protect your future self

Many decisions that I have made over the years seemed like good ideas at the time. However, with the benefit of hindsight, I can see that I could have made different decisions that would have had greater long term benefits. Three examples to illustrate.

ExtJS 0.33 Alpha

When Marketo first started, I was part of the jQuery evangelism team. I was friendly with many people who were developing JavaScript frameworks. One of the first robust software packages out there was developed by Jack Slocum. He started by using Yahoo User Interface library (YUI) and called his additions “Extensions”. (YUI-Ext) Eventually YUI was removed but he kept the extensions and named it ExtJS. (Later this became the company Sencha)

Anyway, in 2007, Paul Abrams and I chose the very first version of ExtJS (0.33 alpha) as the JavaScript base for Marketo. It was a huge benefit in that first year. We were able to make a robust interface in a fraction of the time it would have taken writing everything in vanilla JS.

Unfortunately, the world moved forward and we built an entire system in a pre-production JavaScript framework. Upgrading to 1.0 and then 3.0 were huge endeavors that required a ton of time and effort. The system to this day has the legacy of that original decision making improvements perpetually difficult.

We did not protect our future selves. In hindsight, we should have made the system more upgrade-friendly. To do this you need to always use model-drive development. In brief, this means to have all of your views in abstract XML or JSON declarative syntax. Then you funnel that definition spec into an engine that renders the page. In other words, never write features with custom CSS, custom JavaScript or any knowledge whatsoever of the rendering engine. That way, you can literally use the same input to render in future UIs like mobile or tablet.

This protects your future self because it allows you to upgrade in one place and not have repetitive and inconsistent code throughout your product. Had we protected our future selves, it would have taken more time up front, but we would have recouped that time very quickly and then forever after.

Happiness and Money

Many years ago, I was unhappy with my manager. He was a real dingus. I asked for advice from many people of what to do and I often received the “focus on happiness! get a different job!” answer. Now that I am older and think retrospectively that the advice was ill conceived. I vowed never to give that advice to anyone in the future.

Your current self may be happy or unhappy on any given day/week/month/year. However, your future self does not care how happy you used to be. Your future self has bigger problems like retirement, healthcare, child costs like college tuition, and housing. Mostly, your future self needs money! Your future self would gladly have you work your ass off and live frugally in your 20s and 30s so that you can be financially independent in your 40s and 50s.

It’s like going to the gym, or the therapist, or doing your homework. Your future self would be super happy with all the work you put in. Your future self wants the outcomes like a healthy body, a sound mind, and an Ivy league degree. We like to think that our happiness matters, but you have to make choices about whose happiness you are optimizing for, current or future you.

When I was younger, I thought I would work forever. I thought people would want to hire me until I was 120 years old. Then in 2018, I had a rude awakening and found it hard to get hired. I realized that it is not up to me if I want to work forever. Age catches up to everyone. Once I realized that, I realized the mistakes I made when I was younger that diminished my net worth today.

It’s hard to go to the gym or do your homework or eat well. It’s much easier to sit on the couch eating chocolate cake. Discipline is incredibly challenging for most of us. I envy people who naturally have it. However, if you can summon the force of will and stick with a good paying job even though there are aspects of it that suck, I promise you that your future self will appreciate it.

Your Future Company Self

Companies do the same thing as people. I have seen hundreds of short term decisions trying to satisfy analysts and Wall Street, all of which end up doing more harm than good in the long run. Companies need to be patient and put in the hard work too. You can’t just wave a magic wand and everything turns wonderful.

When you cut corners and build with technical debt, you may get to market faster, but I have never seen a company truly succeed because it got to market a few months before a competitor. Yes, there are sometimes extraordinary circumstances, but I am willing to bet that your feature isn’t one of them. Protect your future company prospects by buildings things with more care and love. Protect your future company by spending more time hiring the right person rather than settling.

It’s hard to do and requires that discipline that is always hard to find. But in the end, it is well worth it.

Comments

Whatya think?