In a king’s court, there was an argument that people get what they seek. If they seek luck, they get lucky. If they seek food they get fed. The king had to break this argument so he orders an experiment. Get one person who believes in luck and get one person who believes in hard work. Let us lock them up in a dark room with food and see what happens.

Two of the identified people one believer in luck called lucky man and one believer in hard work called worker both are locked up in a room where some food and water is kept at a slightly hard to reach place. People outside can observe the conversations. Over a few hours, both the prisoners got hungry. They started to debate about their way of something good happening to them. The worker did not spend time arguing much. He began to explore the room and tried to reach out for if anything was placed for them. The lucky man told him that his efforts are waste, this is an experiment and they will sure be released and fed something.

The worker found a box full of peanuts, he was very elated and started eating. Instead of sharing the food, he mocked at the lucky man. He did not stop there, in the box of peanuts he also found some stones he threw them at the lucky man saying you can eat these if you feel lucky. The lucky man laughed and kept the stones thrown at him anyways. Few hours later the room was opened and the content worker came out along with the tired looking lucky man.

The courtiers who batted for hard work were very happy, just then the king asked the lucky man about how did he feel. The lucky man reached into his pockets saying he got some stones by doing nothing. When the courtiers saw the stone they gasped, because they were gemstones not mere stones. So the king declared ‘people get what they seek’.

This story was confusing for me because I immediately drew parallels with laziness but the crux of this is ‘What you seek is what you see or get’. This is so true in both our personal and professional lives that we will be able to pile on instance after instance, evidence after evidence to prove our point of view about something or someone.

Photo by Brett Jordan on

When we grow up from our being an adolescent to an adult the things that we were subject to has to become more objective. Example a teen is subject to peer pressure but a grown up can distance from it and see it as an object. Similarly irrespective of our age or development we are subjected to winning be it playing a game, having an argument or even doing something small. This primes us to seek what will make us win, while this is useful while playing games it is not useful when there are disagreements and needs a dialog to sort out.

We need to be deliberate in our actions sometimes, which can be achieved through reflections. This will make us realise the subject/object relationships of us and make adjustments towards more objectiveness. If we seek snacks of victories, we get it; if we seek gems of wisdom, we get it.

I am of the opinion that a tech interview needs no preparation apart from doing a great job in a setting similar to what we give an interview for. Doing a great job as a programmer involves a few major type of skills – Technical aptitude (Ability to learn something quick either from manuals, tutorials or peers), ability to work along with others, communication, fundamentals of programming like functional, oop, tdd.

Interviews have a problem “Like hires like”, if there are no checks and balances the entire organisation will converge to a narrow band of skilled people. Too much emphasis is placed on competitive coding and algorithms at many places. This is similar to hiring sprinters for your football team, they are fit and can run very fast, but they probably can’t play football or in a team setting well. This leads into a spiral of hiring more and more competitive coders and set the interview benchmark to hire similar people to do work that requires a lot of communication and co-ordination (teamwork).

Photo by cottonbro studio on

This results in undue pressure in the industry, to be able to code competitively, the skillset which contributes only to a small portion of success in day to day work. Because of this, good application developers are left out from the hireable pool. The problem of this interview style is amplified by large new age companies who do not have a great product strategy but minting money through one or two cash cows and burning it in other engagements. This leads to headcount game to consume the budget, I have interacted with some developers who have cracked those tough interviews only to end up copying values from one spreadsheet/slide deck to another wasting their potential.

At the other end of the spectrum are interviews which are just fact based, this is done to reduce the amount of workload on technical interviewers by giving a template Q&A to recruiters who conduct the first round with strict matching of answers to the questions. This encourages rote memorisation especially for graduate interviewees without solid understanding of the fundamentals. Some organisations hire easily, but to staff on an assignment they interview people again internally, defeating the purpose of first interview in place.

Hiring is still a heuristics game, you catch a glimpse of the potential and continue with the person. To make the heuristics effective, interviews for developers need to have the following characteristics

  • Have a diverse set of people in the panel, take the following into account – programming experience, relevant experience, management etc and huddle with the entire panel of all rounds to take a decision. This helps minimise ‘like hires like’ problem.
  • Give more importance to design, architecture and clean coding skills than competitive coding. This will help in interviewing in the space that is closer to everyday work.
  • Check feedback and communication skills by reviewing and extending functionality on a code. This ensures how well this person can be a team player and not a soloist.

I like learning and I am a perpetual learner. I also love teaching so I spend a good deal of time at my work signing up to run training sessions. My favourite subjects to teach are hard to teach ones like Extreme programming, Test Driven Development, Team building etc. For a long time I used to either learn from classroom sessions or from books, which I started developing a liking towards those formats. I thought I was old school and did not like the new age video formats in bite sized chapters peppered with quizzes to test our understanding between the chapters. I retained a lot of learnings when there was a discomfort for my brain to finish the chapter which I observed that many of the new video formats did not have.

A lot of training programs I observe, tend to concentrate on immediate recall and score really well in that area. Lots of cues, easy to process and understand sentences, narrow scope of learning etc make it a joy for learners and it easily gets into short term memory. So when the trainers immediately evaluate, the learners do really well on retention. This type of retention is volatile, as there was no hard work done by the brain to etch the learning into it.

Photo by fauxels on

For our brain, every read or thinking about a problem/solution is a write as well. It is not like in computers where read and write are different operations. The more you think about something the more connections get established in the neuron mesh which strengthens retention. This has been pointed out in the book Range. That is one of the reason I prefer socratic method of teaching where the learners have to undergo a difficulty to learn a concept.

An example from an eight grade school book

How are cyclones formed?

Direct ineffective teaching answer: Cyclones are formed when warm air from a hot region raises up, creating a low pressure area into which wind blows from high pressure area and the cycle continues.

Majority of lessons just concentrate on memorising the statement above but look at the following Socratic method (There will be a lot of answers, some may be wrong but teacher never attempts to answer and let the answer emerge)

Q: What happens if you heat air?

A1. Hot air expands, I read it in physics class

A2. Hot air is also less dense so it will raise up

Q: If it raises up what will happen?

A1. Cold air from above falls down

A2. Cold air from the sides enter inside

Q: Why should cold air take that place?

A1. Because hot air has gone up

Q: What will happen if you heat water?

A1. It boils

A2. It turns to water vapour

Q: Is water vapour also air?

This keeps going on for a few minutes, I had attended this class 25+ years ago and I still vividly remember how the class went. I kept thinking various answers because the teacher did not conclude how cyclones are formed, we had to go back and read up to conclude. The trouble I see with many of the online courses is a result of instant gratification and the urge to put a checkmark in our list. The content creators also are incentivised for immediate recall which translates to 5 stars for them.

Barring first principles and fundamentals, factual transfer of knowledge is a shallow learning/teaching mode which gives a false illusion because of immediate recollection but fails in long term memory. An element of difficulty is desirable, this may even look bad for the trainer who is evaluated on the spot but helps in long term retention as the learner keeps ruminating about the session. By going for a 5 star driven course design we are creating content consumers, not learners.