Present vs Future Focussed People

The below is the text from Hell Yeah or No book. It gives a good mental model to reason how one live their life. I don’t think one has to entirely in one list or the other. You will be more aligned to one list than the other. Also, I don’t think one is better than the other.

Present-focused people

  • Pursue pleasure, excitement, and novelty
  • Focus on immediate gratification
  • Especially appreciate life, nature, and the people around them
  • Are playful, impulsive, and sensual
  • Avoid anything boring, difficult, or repetitive
  • Get fully immersed in the moment and lose track of time
  • Are more likely to use drugs and alcohol
  • Are better at helping others than helping themselves

Future-focused people

  • Delay gratification
  • Are driven with self-discipline because they vividly see their future goals
  • Tend to live in their minds, picturing other selves, scenarios, and possible futures
  • Especially love their work
  • Exercise, invest, and go for preventative health exams
  • Are better at helping themselves, but worse at helping others
  • Are more likely to be successful in their careers, but often at the expense of personal relationships, which require a present focus

LIL #4 : Lessons I Learnt This Week

Welcome to the fourth post of lessons I learnt (LIL) series. I had a busy last week where I was trying to manage multiple things at the same time. I am not good at multitasking so at times during the last week it became stressful and difficult to keep check on all the items on my plate. But, with patience and better planning I manage to get things done. There are two lessons that I want to share this week. They help me scale better and get things done.

Continue reading “LIL #4 : Lessons I Learnt This Week”

LIL #3: Lessons I Learnt This Week

Welcome to the third post of lessons I learnt(LIL) series. I had a good week and I am content with what I achieved. Telling yourself repeatedly that life is not a race and you can take your time and be at peace with yourself is a powerful feeling. There were two thoughts that repeatedly came to my mind this week that I wanted to share with you this week.

Continue reading “LIL #3: Lessons I Learnt This Week”

LIL #2: Lessons I Learnt This Week

Welcome to the second post of lessons I learnt(LIL) series. This week I went from being stressed, to meh, to content, and finally to the state of happiness. It is immensely powerful to know your feelings so that you can take corrective actions if required. Each week give us an opportunity to correct ourselves, learn from our mistakes, and brings a ray of hope that we can do better.

I find hope in the darkest of days, and focus in the brightest. I do not judge the universe. – Dalai Lama

This week I only have one lesson to share with you. I thought multiple times about in the last one week and I think if we can master it we can build great teams.

Continue reading “LIL #2: Lessons I Learnt This Week”

LIL #1: Lessons I Learnt This Week

I have a habit of writing daily journal where in I go over my day and write any life lessons I learnt (LIL) that day. This helps me build useful mental models on how to better handle specific situations in future. From this week, I plan to document and share these learning on my blog. I hope others will also find them useful.

This week I learnt following three lessons.

Continue reading “LIL #1: Lessons I Learnt This Week”

Mental Models for Software Engineers: Improve Your Productivity by Using the Eisenhower matrix

One of the mental model that I find useful for prioritising my todo list is Eisenhower matrix named after US president Dwight D. Eisenhower. Dwight D. Eisenhower once said

I have two kinds of problems, the urgent and the important. The urgent are not important, and the important are never urgent.

Eisenhower matrix is a simple decision making tool for organising your tasks. You can use it to find the task you should act on first.

Continue reading “Mental Models for Software Engineers: Improve Your Productivity by Using the Eisenhower matrix”

Mental Models for Software Engineers: Validate your Assumptions

In my last assignment, I was asked to mentor a software development team as part of the Dojo program. I am not a big believer in Training initiatives, but because Dojo program has a different format I decided to take up the assignment. The Dojo program involves working on a real project with the team, helping them embrace good software development practices, solving team’s real problems, and finally delivering a quality software. In this post, I want to talk about a lesson that I had shared with the team — the lesson which I named it as Validate your assumptions. Continue reading “Mental Models for Software Engineers: Validate your Assumptions”

Mental Models for Software Engineers: Feedback Loops

All real-world systems have some form of a feedback loop. Feedback loop is so called because output of the system is fed back into the system as input, increasing or decreasing its effect. The most common example of a feedback loop is audio feedback. I am sure most of you have experienced it at least once in your lifetime. Audio feedback loop occurs when a sound loop exists between an audio input(ex. Microphone) and audio output. Watch the video in case you want to experience it again. I am waiting….

Continue reading “Mental Models for Software Engineers: Feedback Loops”

Mental Models for Software Engineers: Regret Minimization Framework

I became aware of Regret Minimization Framework quite recently while reading a random post on the web. With in that timeframe it has helped me take a couple of big decisions with clarity. Had I known this earlier I could have avoided taking few bad decisions.

Regret Minimization Framework is a mental model that wants you to project into the future and look back at your decision so that you can quantify which of the options could lead to minimal regret. Then, you should go with the option that will lead to minimum regret.

Continue reading “Mental Models for Software Engineers: Regret Minimization Framework”

Mental Models for Software Engineers: Occam’s Razor

Occam’s Razor helps us choose between two or more explanations of a problem. It provides a useful mental model for problem-solving. A razor is a principle or rule of thumb that allows one to eliminate unlike explanations for a phenomenon, or avoid unnecessary actions.

One popular definition of Occam’s Razor is:

If we face two possible explanations which make the same predictions, the one based on the least number of unproven assumptions is preferable, until more evidence comes along.

This mental model help us look for explanations that are least complicated. It does not mean explanation has to be easy so that anyone can grasp it with limited effort but it means explanation can be logically reasoned without making too many assumptions.

Continue reading “Mental Models for Software Engineers: Occam’s Razor”