Friday, May 06, 2016

YAGNI distilled

I strongly believe in YAGNI ("You aren't gonna need it") philosophy when it comes to Software Engineering (and life, why scratch before it itches). Very similar to how i was taught to use GOF design patterns to solve problems when you see them instead of starting with a design pattern. Advent of J2EE/Spring created Java programmers who would start with a factory pattern that created only one thing. Rationale for this was, tomorrow we will create more things. Now these amazing programmers are moving towards Scala/FP (mostly no semicolon java) and are bringing their philosophy of "We will need this day after tomorrow". Obviously they search their bible stack overflow.com and decide to use Scalaz/Cat etc without understanding the underlying concepts. I have heard guys who can't grok Either talk about monad transformers. You can see the same behavior with infrastructure too. Multi AZ, Auto scaling etc is mandatory even when there are no customers using the crap.

So to explain YAGNI, I have come up with an analogy, here it goes; "You aren't gonna need Viagra when you don't have a partner or money to rent one". I guess its self explanatory but let me distill it (I am not sexist but for ease, I will assume we are talking about men).

Necessity of Viagra occurs when the following occurs in sequence;
  1. You attempt to have sex.
  2. You experience erectile dysfunction(ED)
  3. 1 data point is not good enough but if you panic, see a doctor. Do not google like you do while programming.
  4. If he prescribes Viagra then use it, when you get a chance to have sex.

You are a programmer for crying out loud, you should be able to translate that to software engineering. If you can't, I am really sorry for your company and colleagues.

My software engineering process litmus test below


Wednesday, August 26, 2015

Mentorship!!! Is it a SCAM

Wikipedia:
   Mentorship is a personal developmental relationship in which a more experienced or more knowledgeable person helps to guide a less experienced or less knowledgeable person. The mentor may be older or younger, but have a certain area of expertise. It is a learning and development partnership between someone with vast experience and someone who wants to learn.

During the early days of my career, I was fortunate enough to work under some awesome people who mentored me. Naturally I believe mentoring adds a lot of value at work place, schools or elsewhere. We all need some one we look up to/learn from.

Recently I have come across/been part of some mentoring programs. Mentoring as a word has like 150 synonyms. Naturally it is an ambiguous term!!! I will write about my experience below.

Mentor High school children
I was part of a program that is catered towards helping troubled children(bullied, troubled families etc.) at a high school. I had to undergo professional training to be part of this program. In a nutshell, your role is to show up and listen to the kid, if he or she wants to talk. We all know teen agers do not want to talk to anyone, let alone a stranger. I(and lot of other mentors)felt that, most children that were part of the program, were there for 2 reasons
  • Miss a period.
  • Free morning tea

Since it is so hard to measure the effectiveness of these programs, are we doing it just to satisfy our guilt. Is this like how we donate money to charity and feel good about ourselves??

Mentoring at Technology companies
I heard from John (lets say an acquaintance, obviously I have changed the name) about the shambles of mentoring in their organisation. They bring in university students and mentor them (God save those students). I asked John, what kind of plan/structure do they use. He said, there is no plan. Its impromptu, learn on the go... Students show up, watch YouTube videos, play pool and go home. Organisations selfish motive! marketing. Students pair with mentors who can't code dig or drill (lookup its a programming puzzle) if their life depended on it. Some of the mentors resist learning new things citing, its too hard. I asked John, doesn't he feel ashamed to be part of something like that? Imagine your child being mentored by such people!!! (John does not have children that he knows of or is responsible for hahahahahah). John himself needs mentoring hahahahahah. He was curious to know, how to run these programs. I explained to him how Thoughtworks, with their university program does an awesome job of mentoring University students. He said, that's all too hard and he is too low in the cadre to bring in changes.

What bothers me is the future of the society with such mentors and such attitude. If these mentors have kids, imagine what they will leave behind. If you take the hypothesis of, next generation will be better at things than the previous generation; Well, will leave that for your imagination.

Now read the definition again!!!!

"Honesty is a liability worth keeping"
     ---- Keshav (trade marked)

Tuesday, April 14, 2015

How to hire like an amateur

I am an engineer(Fake one, Computer Science that is). When I was looking for a job in Melbourne, I realised how broken the process of hiring is. Mostly it is all recruiter driven. On a job ad site like seek.com.au, you can't even see the name of the company before applying. I think thats rubbish. I will narrate my ordeal with an organisation and then express some ways of fixing it (I think).

This organisation is a property listing/searching organisation. People who want to rent/buy houses in Australia use this website. There was no phone conversation to start off the process. I received an email asking me to solve a hypothetical problem to assess my coding skills. After seeing the problem I replied with below email;

Hi HR,
    Glad to hear from you. Hope you are doing well.

I would like to express a few points with regards to this opportunity.

The problem that you have asked me to solve is old and outdated. If I search for solutions, I find hundereds of them on github. I don’t think the problem does justice to either my time or your developers time who will review it. Instead I would like to share my github profile so you guys can see the Open source projects I contribute to. I have also attached the codebase of a personal project that I have been working on since last 3 weeks. I saw an opportunity to solve a lingering problem in most systems, came up with the design and implemented the prototype. I have invested around 20 hours of time on this. This would give you guys an opportunity to see what I have to offer.

I would also like to mention that, I have interviewed with your organisation couple of years ago. I solved a few problems on a code evaluation site. I have attached the code of the same. I passed it with flying colors. I had few meetings with folks. In the end I was informed that I would get bored, as they did not have an opportunity challenging enough for me. Unless that is your way of saying I was no good, thats how it ended.

I am really passionate with my work, hope it will not be perceived as arrogance. I want to make sure it is worth my time and yours (this time around).

It would be great to have a discussion with your developers after they have seen what I have done.


My thoughts;

  1. Same strategy to hire everyone is not great. I am not a rockstar programmer but 19 years, 3 Continents, couple of failed startups with niche products and 18 months of Social Impact work, that makes a difference. I am not saying don't assess my coding skill. You should always start with a 15 minute phone call. Treating candidates as if their time is not valuable is ridiculous. Not everyone looking for a job is desperate.
  2. Contribution to Open Source is a great indicator. Its about time we in Australia start adopting good things from silicon valley.
  3. If there is a way to assess candidates hunger to learn, that would be awesome (can be done in face to face conversation)
  4. Assessing coding skills should be based on the resume, should not be dogmatic. When I interviewed at google India, I was not asked to write any code but I got raped (mentally) for 7 rounds. They did make me an offer.
  5. As an organisation, do you want to hire people who say yes or the ones that question the status quo? Answer to this question is very important. That will guide a lot of decision making when it comes to hiring.

I am a strong believer that, an organisation must get their hiring strategy right (other than the business model to make money). If that is broken, everything else will fall apart.

The very same organisation, boasts about their startup like culture etc etc.. at conferences and their hiring process has no respect for the candidate!!!

I haven't heard from them after the email... hahahaha.

"I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail." - Abraham H. Maslow

Monday, May 05, 2014

15 Months Memoir

In 2012 my wife and I decided to move back to India, to provide Hita an opportunity to be in a different culture, OUR culture. We were trying to accomplish the following;

1. To see if Hita is academically interested
2. Travel India/Asia
3. Work for a Social cause

To see if Hita is academically interested

This is very easy to test in India. We put her into a local school that is absolutely academical. It would need a separate blog post to talk about that school. I will mention 2 things about the school to give you guys an idea.
i) The basket ball coach of the school was fat and clumsy. He would stand in the shade (when kids were sweating it out in sun) and teach kids how to play bball. It was so funny to watch, I would go 5 minutes early to pick Hita so I could watch him (my wife thought that was sick...).
ii) There was a swimming competition (dolphins day) in which Hita won, gold in backstroke and silver in breast stroke. If you win something outside of school, you can take your medal to school and they will announce it in the assembly(entire school, pretty cool). Naturally Hita took her medals. They said, we don't announce 2nd place and announced only the gold medal. Hita was perplexed and asked her teacher, If thats the case why do you give silver and bronze medals in school sports day!!!! As typical of Indian teachers, she shushed Hita.
I think we found our answer to this question. Coming from Australia, not knowing 2 of the languages taught in that school, Hita was in top 2 of the class. That's a phenomenal achievement.

Travel India/Asia

Some of the travels we did
i) 13 days of North India (Golden Triangle).
ii) 7 days of Leh/Ladakh.
iii) 9 days of Srilanka.
iv) 8 days of Nepal. (The feeling of, you are nobody in front of those mountains is priceless)

Lot of savings burnt but worth every penny.

Work for a Social cause

This is the most interesting part. When I was on Christmas break (2012) in Melbourne, I started searching for organisations that I could be part of. One day, came across Logistimo (www.logistimo.com). I wrote a 2 line (man of few words) email to them expressing my interest. I received a reply next morning from the CTO saying, please get in touch once you are in Bangalore. I contacted them 5 days after landing. Met the most amazing team that had been working for 4 years without pay to make public health care better in India and other poor countries.
What does Logistimo do? Well we build supply chain management tools (very similar to US army SCM), that works in any network context. Primary purpose is to monitor stock levels of vaccines and essential drugs.  Most of our users are just numerates. For the first time in my life, I proved lucky for a startup. After I joined, we became popular(hahahahah). Our customer base grew exponentially. From 2 districts in Karnataka to 2 states in India, DRC (Democratic republic of Congo), South Sudan etc. We achieved availability of 99% in couple of states in India, which happens to be better than US (One of the gates foundation guys told us). Soon we will do things (I cant disclose) that will revolutionise public health care for rural/poor.
Things that I learnt in these last 15 months has had a profound impact on my personality (you will know if you already know me... hahahah). When you see villages that do not have the basic needs of health care and sanitation, It changes your perspective. Growing up in India for 22 years, most of us know how corrupt the country is but some of the things I learnt, puts me to shame, to say I am of Indian Origin. I guess I can feel less shameful by donating couple 100 bucks on a website or even better, live outside India and write on facebook how much I miss the culture and vada sambhar of India (hypocrisy kills shame).
       I will mention 2 things here, just to give you an idea about the corruption and bureaucracy(don't want to depress you too much).
i) Some deaths are not reported(deliberately) as its a performance metric!!!! Go figure. Hard to measure the value of something when you have too many of those (I guess)
ii) Most refrigerator (ILR, used in health care centers) mechanics are on the payrolls of pharmaceutical companies.  If the vaccines and drugs in those refrigerators go bad where do you buy them from!!! Take a guess!!!

I am lucky to have gotten the opportunity to work with such awesome people/organisation where we don't have posters of our motto posted on walls (we don't have an office hahahaha). Its in our heart... IMPACT FIRST.

As a great person(Keshav Murthy, maybe) once said, "To give, you don't have to have too much. You need to know how it feels to not have enough"

Hopefully this piece will motivate some of you hypocritical bastards to get out of your couches and add value to the society, however small it is. Donating money and liking things on facebook is great but its no match for investing your time. If you are already doing it, I bow.

Watch this short movie made about us by Gates Foundation
Vaccine Logistics in Karnataka from CurleyStreetMedia on Vimeo.

Saturday, January 26, 2013

Patriotisterone

(Hormone produced in excess during Independence day, Republic day, Australia day etc.)

Since Australia day and republic day are on the same day, my facebook/twitter feed is full of happy republic day and one or two happy Australia days.

Most of the happy republic day, I miss India, How proud they are to be Indians etc. comes from people who don’t live there (atleast on my social network). What happens on these days I wonder!!!! I think it’s like the monthly cycle for woman, Independence Day and other national days, reign in yearly cycles. People who live outside their mother country go through hormonal imbalance. They miss the idli vada sambar, dosa or aloo parathas more on those days. Now do I have a problem with that? No not at all, I have goose bumps when I see patriotism.

I always ask myself; should I be proud of something that I have no contribution in? Lots of kid #2, #3 etc. (my generation) in India were born probably because of a mistake (lack of knowledge about condoms) or trying to have a boy. In my case, I know for sure. My Mum was not that well off, she didn’t want a second child (Me). It was too late before she could get rid of me (according to me the kind of guy she is married to, having any offspring is a crime hahahahha..). Now she feels bad about it, as I have turned out to be an awesome bloke hahahaha!  If your parents turn out to be morons and abused you day in day out, were never there for you when you needed, should you be proud of them because they fed you until you could get out? I am proud of my mum for all the sacrifices and hard work she put in to shape us, can’t say the same about my Dad.

Can you be proud of Apple because you own an iPhone? You can be proud of your smartness if you bought apple shares for $4 (year 2000 maybe). Shouldn’t we strive to be proud of being better human beings than proud to be a Hindu, Muslim or a Christian? Why should I be proud to be an Indian, Australian or American? Women getting raped at daylight with no hope for justice! Original indigenous Australians ill treated in their own land! 6 year old kids being shot by nut bag who was taught how to shoot by his mum. Should I be proud of an opportunistic decision made so that my daughter can have an option (hopefully better one)?

I am a little confused; I will allow the commenters to enlighten me. No death threats please!!! I already have one (and I am proud of it) for my blog about Indians in UK protesting against corruption in India in UK (how ironic).

Wednesday, September 28, 2011

What should I feel?


Last day of citizens as India has been a day of mixed feelings. I found out that it would cost us 147$(really want to know who and how that number was decided) to renounce our passports. Congratulations from Australian friends, wife emotional of renouncing Indian citizenship. It made me wonder how come I cannot relate to what my wife is feeling. As I asked my daughter, if she understands what it means to be either Australian or Indian on an application form, she said aren't we Australians, I thought we were, we live here. When I explained to her what all these borders and citizenship means, she consoled her mum by saying, its not like we cannot go to India, we will just be called Australians. I am not trying to play Lebron James trick after watching south park(hahahhahah). I am really not sure whether I should be congratulated or condoled. If you are congratulated, that means it's some kind of accomplishment. If you get condolence then its a loss. Which one is it? What am i suppose to do?(tell kids I am not a role model, can't stop laughing) Not listen to my conscience and accept that having Australian passport will let me into 166 countries without visa? When having Indian passport, even 3rd world countries like Malaysia want to suck 100$ for visa from you! Should I feel bad supporting Australia when they play India on boxing day test? If there is a war between India and Australia whom should I support? Is War even a solution for any problem? even if it is, shouldn't I support the most Humane cause of it? regardless of which country I am citizen of. I have expressed my opinions about naturalisation long time ago. As the classic goes, you can't choose your parent's but you can choose your friends. Slightly modified, you can't choose the country you are born, but you sure will get an opportunity to choose one to be citizen of(If you don't, you are shit out of luck). This one is just about the feelings at the cusp of jana gaṇa mana to advance Australia fair.

Tuesday, August 30, 2011

What an Irony

In the last couple of weeks, whenever I read news about Indians protesting against corruption in India on British soil, I have found it very funny. The reason I find it funny is because, loooong time ago Britishers whipped Indian asses for protesting against British Bullying in India(on our own soil mind you…). Now Indians are protesting against corruption in India on British soil. Am I the only one who finds this irony funny.

I also have been thinking about something for which I would have to cop lot of flak from Indians(hahaha). Can British government stop Indians from doing this protest??? Well if I start thinking like a British citizen, I would want it to be stopped. Regardless of how peaceful and great this protest is, my tax money is being spent (police, nuisance to traffic etc.) on something that is not beneficial to my country. I cant think of any protest that is analogous to this one to compare to. What I failed to figure out (after lots of searches and reading about freedom of speech in British constitution) was, Is there anything in British constitution to stop Indians from doing this protest?

  • Can British Government tell these people to fly to India and then protest?
  • Can a British citizen get a stay order from court of law on these protests citing his countries tax money being wasted??


Leave your feedback if you find anything in the British Constitution :-)