My grandfather never borrowed for anything. His guiding lines for me were – Using borrowed money is like fuelling the fire using hay, it burns fast and gets consumed quickly but when we want to repay we will be paying in firewood for the same volume of hay which could have served us much more. Another mentor quoted a text when I wanted to buy a flashy car much in my early career – We buy things we don’t need, with money we don’t have, to impress people we don’t like.

Both those texts are my guiding lines for debt management now, but adopted it much later when I learnt it the hard way. Two of the biggest purchases in one’s life, a house and a car, often don’t stop at needs but end up as a status symbol. People love to show that they have arrived and achieved. In reality no house or car is big or luxurious enough over time. So people go all out and buy things that are not affordable. Loans were initially meant to lent out to people seeking business capital. Those were risky so banks turned to milk the retail borrowers – ‘us’. Affordable loans are oxymorons, if you are going for a loan to buy something then you cannot afford it.

Photo by Mikhail Nilov on Pexels.com

Negotiating for big purchases with cash in hand vs taking loans has a big difference. We are hard on our future selves but care for who we are today so the cash in hand looks heavier and hard earned while the loan repayments broken down over the months in the future looks small and affordable; inflating the overall demand and reducing the willingness to negotiate.

When we buy larger than our needs, we commit to a monthly outflow which we cannot afford to skip because it will bite back with more penalties. This is the single biggest factor which contributes to workplace stress; people put up with toxic work cultures, long working hours and bad bosses in the fear of losing the lifestyle they signed into.

On the contrary, if we save up for paying the big purchases we will negotiate hard with the money in hand, we will not be a victim to the need of hefty monthly payments, which gives the clarity of thoughts to take crucial career decisions. You can buy a dream house by SIP route within 7-8 years of saving the same money that we will be paying for 20 years for a home loan. Once I was in a car showroom where I observed a guy talking to the salesman for the model he wanted.

Salesman: Please let me know what is your monthly salary, I will let you know which car you will be sanctioned?

Buyer: I wanted the top end model, in that specific color and rims.

Salesman: In order to proceed I need to know your ability to pay month on month, I can work out the interest rates and tenure:

Buyer: Gives a cheque and says – Fill it with the price that you are offering that will make me sign and drive the car out.

The salesman was stumped and the buyer negotiated almost 10% off the vehicle.

Debts are for businesses to quickly turnaround profits and not for building assets over 20 year loans. Try the no debt strategy, this means you will have money in your account you don’t know what to do with. This is the first step in being financially resilient, there is no pressure to pay huge bills month on month. The next thing is to resist the urge to spend and build up moveable assets. More on subsequent posts.

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 Pexels.com

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 Pexels.com

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.