Thursday, December 29, 2016

Don't work after 7PM

I have had crunch times where my day basically consists of only one thing: work, randomly interrupted by periods eyes close, mouth drools, and mind goes blank, all by themselves. And those times can be healthy, like a couple of days before a release give me a boost of motivation. But doing so over any extended period is just bad. Its bad for me and bad for the very business I thought I was helping.

Enough talks about burnout, about there is more to life than just work (because work somehow gets the bad rap), about working on the same set of problem over and over is damn boring, lets talk about an engineer's values.

As an engineer, my values consists of 2 components.
  • My absolute value, defined by skills, methodologies, and mindsets. These values are the stuff I bring to meetup, write about in my blog, and are applicable to whatever I do. They are mine.
  • My relative value, defined by my knowledge of the project I am building, the sector my company is in, and how technical decisions were made. These determines my productivity, and ultimately my worth to the company.
Of all the jobs I have had, I always start like this. I don't know anything about what I am supposed to build, but I have my skills as an engineer (hopefully qualified after a legit interview). As I stay around, I acquire more the domain knowledge and know how things are done. I apply what I have learned from the last job to this and in turn sharpen those skills. Both my absolute and relative values increase.



If I neglect picking up new skills, of course my absolute value stays still. Or rather, it slightly decreases as everyone else is forwarding. But if I stay longer, spend more time writing the code that somehow a repetition from the previous job, (same old CRUD), I become the person to provide backstory of features, explain the tweaks and customization we have in code, and set the pace for newbies. My relative value increases, and as a whole, my worth to the company also does.



Alternatively, because I am more than a lazy-ass, occasionally I learn something. New knowledge is hard and immediate reward is scarce so in the beginning I stumble. But those technical advancements are important never the less, like efficient asynchronous model, container orchestration, or architecting data-intensive system. A lot of the things I read, practice, put into pet projects are just out of curiosity and at some point go to the attic for not being practical. But once in a while, it turns out to be useful, I can contribute back to the product I am building. My absolute value enjoys a slight hump and because I still contribute to the project, my relative value also increases.



*Both are extreme scenarios made up to illustrate my point, most of us are somewhere in the middle of the spectrum.

Every night, every weekend I spend completing what I should have done between 9 to 5 fosters my relative value and postpones development of absolute value. At some point, there is a chance my worth as a data archiver wins over my worth as an individual contributor. I get my benefits for being valuable to my company, if not even more. That though makes me as an engineer less appealing to other organizations who derive benefits from my absolute value. A golden handcuff.

I can understand where the idea of focusing on your job 24/7 coming from. Picked a course. Realized I didn't know shit. Sucked it up. Put in a lot of hard work. Submit assignment. Remembered I had 3 other courses that semester. Repeated. This was the vicious circle I went through in college. Basically what worked for college was to spend more time till I am better at it. Which I had plenty.

And for a while, career seems like an extended version of college where the semester is longer. So the same trick should work, right? If I work day and night on my job, I should be better. Except career and college aren't the same. The rules are different, a product is an ultimate goal, whereas an assignment is merely a means to an end, more responsibilities from society and family are waiting, and the problems we face are not only harder, but also demand to be done in less time. What got you here won't get you there*.

The keys to succeed in different phases of my life can be arguably sum up as:
  • High school: just be smart and don't do drugs.
  • College: lot of hard work and occasionally try something totally irrelevant.
  • Career: still hard work but learn to know where your time should be spent (up till this point, but I guess you can slice one's career to a zillion of different stages).

Effective on-the-job training is rare, most desirable skills like machine learning, distributed computing, or business intelligence take years to build up. In this part of the world, sabbatical leave isn't the norm. Many people actually haven't heard about it. So being a top-notch engineer is anything but a personal investment. Who I am in the next 5 years is defined less by the company I am in, and more by what I choose to do after 7.