Compartmentalization

I had been looking into a software performance problem for a few hours now and had decided to call it quits for the day. I turned off the lights and climbed into bed, hoping to get to sleep early for a change. I hadn’t been in bed five minutes when I thought about something I hadn’t tried yet. I picked up the tablet that was beside my bed and did a few google searches and soon I was back on my desktop trying out some parameters I hadn’t tried yet.

Ideally one practices some sort of compartmentalization. There should be a clear boundary between work and non-work and you can set work aside as needed. It’s something I’m really bad at, as seen in the example above.

It’s something that needs a certain kind of discipline, and we all know discipline isn’t my strong point. Working from home and with everything in the cloud and accessible online makes that discipline even more important. And even more difficult! It’s a lot easier to create separation when your work stuff is only accessible from the office.

My tendency for multitasking probably doesn’t help either. Even when I’m playing a video game or out on a walk, I can still get distracted by notifications on my phone. I’m used to it and I expect it and I don’t really want to disconnect – so maybe I’m kind of asking for it too.

The other day I was supposed to take a day off from work and was planning to chill all day and maybe work on some personal projects. Still I ended up replying to a few emails and discussing some stuff on slack even while I was playing Persona 5. It wasn’t much work time but still drove home that I was so bad at compartmentalization.

Software development is also like any other professions that involves creative problem solving. It’s hard to set aside the problems you’re trying to solve. You can’t just suddenly quit on a problem at a certain time. They tend to keep spinning around in your head and will pop back into mind at random. And once a new idea or solution does come to you, one might think it wise to just write it down and pursue it later, but then you risk losing flow. Flow is a valuable commodity in professions like mine, so you kind of want to ride along with it when it decides to come.

Supposedly you should be setting aside specific times of the day for when you hunker down to work. That way your mind gets conditioned that “this is work time”. And it makes it easier for you to create that separation between work time and nonwork time. And hopefully flow comes to you at the proper time instead of randomly while pooping. That’s not always easy though, and not always viable due to scheduling concerns. But it should be a step in the right direction. Hopefully it’s not too late to learn that kind of discipline.

New Year’s Checklist

In no particular order:

  • Greet your loved ones and friends and anyone else you hold dear. Maybe even those you disagree with
  • Ponder why people give so much significance to the transition between an arbitrarily-chosen pair of 24 hour periods
  • Take stock and reflect on the past year
  • Think about what you’d like to learn this year or how you want to improve
  • Count your blessings for the past year and be grateful
  • Change your passwords
  • Buy a new toothbrush
  • Make a New Year’s joke (“My New Year’s Resolution is 1440×900!”)
  • Set a target of how many books you’ll read in 2017
  • Choose the first book to read
  • Throw away a few things you no longer need
  • Make a list of where you will travel to in 2017
  • Check out what movies are coming out this year and which ones you want to watch
  • Audit your financials – where is your money going, how much do you owe, how much are you earning, where should you invest, etc
  • Make another New Year’s joke (“I haven’t taken a bath since last year!”)
  • Pick up your keyboard and shake out all the grime that’s gathered there over the past year
  • Make a list of projects you want to do in 2017
  • Choose something from the past year that you’re going to stop watching or doing
  • Eat your favorite food. Or ice cream. Ice cream is great.
  • Remember that there’s a new episode of Sherlock today (well January 1 in the UK)
  • Get rid of 2016 calendars
  • Make a list for the new year!

Learning New Skills

When Hanamichi Sakuragi from the manga Slam Dunk tries to get into the basketball club, he insists he’s a genius who doesn’t need to practice the basics and instead wants to go immediately to doing spectacular things like Slam Dunks.

Sadly, the vast majority of us cannot claim to be geniuses at anything, and we are forced to undergo a bit of hard work if we want to learn a new skill. Malcolm Gladwell says one needs 10,000 hours of work at something to become proficient, but that probably only holds true if you’re using those hours “smartly” and not just trying to brute force your way to expertise.

I try to always keep myself on a learning path, trying to pick up new skills on a regular basis. Here are some things I’ve noted down about how to work smartly towards self-improvement in any given skill:

  • Start with the basics, and keep up with the basics. When Sakuragi joined the club, they first made him practice dribbling in the corner, and despite his complaints it paid off when he actually got to play because he had really smooth dribbling. It can suck and be boring to be stuck doing simple things or studying theory or background first when you want to skip ahead to the fun, complicated, show-off stuff, but having a solid foundation to work on will help you get a lot further later on.
  • Have a target. What’s your goal when studying this skill? Do you want to become the best in the world in a competitive sport? Do you want to be able to converse in a foreign language? How much time and effort are you willing to spend? Knowing the answers to these questions lets you understand when you are pushing yourself too hard or not putting in enough effort.
  • Practice, practice, practice. I sometimes answer questions on Quora, and one of the common questions I see there is of the form “How can I get better at X”? And my response is inevitably some form of “There is no substitute for regular practice, good old time and effort.” followed by specific suggestions for the particular X. I used to play competitive Magic the Gathering a lot, and used to place decently in local tournaments on a regular basis. But that was when I had a larger playgroup that I spent a lot of time with and when I was still playing a lot. These days I will only pop in for a tournament every so often, and predictably I seldom do so well anymore. Even if you’ve been doing something for a long time, regular practice makes a hell of a lot of difference.
  • Try to improve at least a little bit every time. Every practice session, every time. Even if you improve only 0.1% every time, the magic of compound interest means those gains will scale up quickly.
  • Study how other people do things and overcome challenges. I love fighting games like Street Fighter, and one of the great things about the modern age is that fighting game enthusiasts have access to a whole lot of replays of top-level competitive fighting that they can watch and study to help improve their own fighting games. (Sadly I do not yet have the execution skills necessary to become competitively good at it – not enough practice probably, see above.) Studying other people’s work gives you insight into different ways of doing things and can unlock different pathways in your brain, allowing you more opportunities to think outside your own box and find more chances for improvement.
  • Keep pushing the difficulty. Try not to settle for the same level of skill so you can keep improving. Take small steps to improve your game. Handicap yourself in different ways and see how you can compensate. Compete against people who are better than you, and study how they fight you.
  • Study different approaches. Try out new strategies or new ideas; even if you just discard them later you will have learned something. You might find that the most common approach to learning a skill is not necessarily the best one for you.
  • Know your weaknesses and shore them up. If you have a certain style or technique you have a hard time with, practice that more or study it more intensely. While studying Spanish on Duolingo, I know that I always have trouble constructing sentences that use object pronouns so I try to special attention when such sentences come up, and I try to review them more often.
  • Keep track of your progress. While not always practical or doable, being able to track your progress, even as a high-level estimate, allows you to measure the rate at which you improve. It gives you a good idea of when you are doing well and when you are having difficulty and helps you compensate accordingly.
  • Reward yourself when you do well, and take a break every so often. As with all things, balance is something to consider.

 

Are you willing to accept criticism?

If a friend found out your work was horrible, would you want to know? Or would your feelings be hurt?

If your coworkers think you’re doing something wrong, would you prefer that they keep quiet or that they call you out?

As a leader, do you prefer to have sycophants who sing your praises or people who are willing to tell you that you have no clothes?

Is your ego more important than doing a good job or self-improvement?

But what if the guy is just being an asshole who hates me and wants to discredit me?

Whether or not someone is an asshole is independent of whether or not his criticism is valid. You can call him out for being an asshole if you want, but you owe it to yourself to consider if any criticism given to you is valid and something you can act on regardless of whether the messenger is an asshole or not.

If you are afraid that having your mistakes called out will be damaging to you, consider how damaging it will be if you keep doing those mistakes and develop a reputation for them.

Feedback Loops

A feedback loop happens in a system when you are able to use an output of that system to influence the inputs, which in turn influences the outputs and repeats the cycle

In engineering, feedback loops are useful to generate steady-state outputs. We had an entire subject dedicated to feedback loop controllers back in college. I enjoyed the topic so much I took the subject twice! An example of the use of feedback loops would be a thermostat that has a sensor to detect the current temperature. Once it senses the current temperature, it compares that with the target temperature and uses the difference in values to adjust the thermostat input. In this way, the temperature eventually reaches the target value

Humans are also machines subject to feedback loops. We enjoy receiving positive feedback. The more feedback we receive about how well we are performing, the happier we are and the more we are able to perform well. This is part of why we enjoy getting paid a salary regularly – some part of our brain treats money as a way to “keep score” and as feedback that hey, you’re not doing so bad, here’s some cash to keep you going!

Feedback can be negative too, but the effect can vary based on the person’s attitude. If you accept feedback and criticism of your work and use it to learn and move forward, then you can use even negative feedback as positive reinforcement. If you refuse to acknowledge legitimate negative feedback and instead take it personally or criticize the one giving feedback, then you are failing to learn from the feedback and it either becomes useless or in the worst case can even reinforce negative behavior

Quicker feedback loops allow humans to iterate faster and determine which behavior is best to achieve his goals. My favorite example of feedback loops is in games. Computer and video games are very good at providing near-instant feedback. Run into an enemy? Okay that means you take damage, so that’s not good. Finish a task? Ah, you gained some experience points, so it looks like that’s good. And games will even tell you immediately how far you are from achieving your goal! How many experience points until I unlock a new ability? How much more damage can I take before I die?

People enjoy this sort of instant feedback loops, so more and more systems are using some form of “gamification” to improve adoption and usage. Websites like stackoverflow grant you points for answering questions. Fitness trackers give you immediate feedback on how many calories you’ve lost. And so it goes

The downside of this instant feedback culture is that it becomes more difficult for us to appreciate things that have long feedback loops. And they are already difficult in the first place, since the feedback takes a long time to get back to you!

My favorite example of this is dieting. Dieting is hard mainly because you suffer regularly (due to having to eat food you don’t like) but the effect isn’t measurable immediately. It takes a while to notice any changes, so it takes more discipline to maintain the diet in the absence of that feedback.

This is why people have systems like calorie counting – it provides an intermediate feedback to substitute for the feedback you don’t have yet on how much weight you’ve lost or gained. But it’s still an abstract concept and doesn’t translate too easily into weight gained or lost. And also it can be difficult to track precisely since not everything you eat will have a calorie count available. I reckon that once we have an app where you just take pictures of the food you just ate it tells you how many pounds you gained or lost, a lot of people will be better at keeping to their diets

I like to look at the activities I pursue regularly and see if there is anything I can measure to help provide feedback loops for self-improvement. This is why I enjoy daily habits that track streaks – it’s simple, instant feedback that tells me I accomplished something.

Of course, humans are not machines that need to have perfect systems and be slaves to their feedback loops. So it’s also okay to break your daily habits every so often or to cheat on your diet once a week or such, it is one of the privileges of being human. And breaking your patterns also provides some feedback which you can use later

 

 

Daily Habits

I’ve picked up quite a few daily habits since the start of the year. To name a few: I’ve been doing daily sketches, I’ve been going on a daily walking routine, learning Spanish on Duolingo, I have a quick stretching/exercise routine I do in the mornings, etc. (I’m also supposed to be writing daily, but this has proven more difficult to keep doing consistently…)

I like those daily habits that can be easily tracked with technology. Duolingo tracks my Spanish learning streak (currently on a 147-day streak). r/sketchdaily tracks my drawing streaks. I have an app on my phone that tracks how often I meet my daily walking target (usually the only problem is if it rains)

There’s a productivity tip supposedly advocated by Jerry Seinfeld called “Don’t Break the Chain”. It recognizes the power of tracking your streaks. The longer your streak gets, the more it motivates (or pressures?) you to maintain the streak and keep it going. It also helps you realize that doing things repeatedly on a daily basis leads to small, incremental improvements that can quickly compound into big improvements

Daily habits can be difficult sometimes unless you live a totally boring life. Most people will have differing circumstances from day-to-day that may cause you to miss your daily habits every so often. Maybe you have an out-of-town trip that makes your daily gym habit impossible, or maybe you needed to go overtime all week so you needed to skip your extra learnings, and so on. That’s kind of fine – as long as you understand the tradeoffs you’re making (it is your life to live and prioritize after all)

But even when you’re short on time, you can still look for ways to keep your streak going. With Duolingo, I usually do it in the mornings on my desktop pc, but if I’m busy all day I can do a quick Duolingo session on my mobile. For sketches, if I don’t have much time I can pick up a small post-it and do a quick and small doodle. If it’s raining too hard for me to go out and take my walk, I can go to the nearest mall and just do a walkabout there, maybe even running some errands at the same time. I’m also supposed to be reading books daily – one of the daily habits I’m not consistent at – but if I don’t have time, maybe I can just read a few paragraphs or pages right before I sleep

Depending on your personality, trying to maintain a streak can seem to be a burden sometimes. You feel like you’re becoming a slave to the habit. But as the book “The Greatest Salesman in the World” implies, humans by nature are slaves to habit, and if we must be slaves to habit we might as well be slaves to good habits of our own choosing

 

Above Average

Above average – a level of competency at a given subject such that:

  1. You are good enough that average people look at your work and tell you “You’ve got a lot of talent!”
  2. You are good enough that you know there’s a huge gap between you and those who are truly excellent.

I was wondering the other day whether being above average was a curse. It’s like being good enough to be in movies, but never good enough to be the star. Everyone around you is happy that they know someone who appears in movies, but deep inside you wish you were the star.

I don’t think anyone ever dreams of being above average. Unfortunately most of the time there’s a huge gap between “above average” and “excellent” that requires so much more effort for incremental gain. When looking at that plateau, it may seem insurmountable so many people just settle for being above average.

I find myself thinking about this now because I’m often faced with one of those plateaus in one aspect of life or another. And when you’re there looking at that plateau you need to ask yourself: Is it worth it to devote your time and energy to becoming the best you can be in this particular area?

My curse then, is that there are many areas where I consider myself “above average”, such that it’s difficult for me to decide on the path I want to take in life. I don’t want to have to choose just one path, I don’t want to choose just one area to be excellent in. I’m greedy; I want it all damn it! And this might be why I’m cursed to remain merely above average.

For now.

The Four Agreements

the four agreements, don miguel ruiz book – a code for life and personal development


agreement 1

Be impeccable with your word – Speak with integrity. Say only what you mean. Avoid using the word to speak against yourself or to gossip about others. Use the power of your word in the direction of truth and love.

agreement 2

Don’t take anything personally – Nothing others do is because of you. What others say and do is a projection of their own reality, their own dream. When you are immune to the opinions and actions of others, you won’t be the victim of needless suffering.

agreement 3

Don’t make assumptions – Find the courage to ask questions and to express what you really want. Communicate with others as clearly as you can to avoid misunderstandings, sadness and drama. With just this one agreement, you can completely transform your life.

agreement 4

Always do your best – Your best is going to change from moment to moment; it will be different when you are healthy as opposed to sick. Under any circumstance, simply do your best, and you will avoid self-judgment, self-abuse and regret.

I’m not really a fan of reading self-help books. But I like to have short lists like these. They’re nice sounding.