Friday, May 27, 2016

Community Meetup Etiquette

With my contract, soon coming to an end, I have been looking around(You gotta pay bills). I have met companies who had problems I did not appear desperate for a job. Some were surprised that I did not attend meetups. So I decided to attend MHUG(25/5/2016). No better meetup than Haskell one for a guy who has production Haskell code under his belt.

I reached the place 10 minutes ahead of scheduled time. Got introduced to Les Kitchen(http://www.cis.unimelb.edu.au/people/staff.php?person_ID=14539) professor from Melbourne uni. I was feeling great(happens when i meet people million times smarter than me). Some how the topic about social impact came up and I spoke about Logistimo(http://www.logistimo.com). Les appeared super impressed and invited me to speak at buzz conf Melbourne user group. Couple of my X colleagues(disgruntled MYOB employees) showed up. Had a few giggles from the gossips and the talk was on.

Simon Fenton(https://au.linkedin.com/in/simon-fenton-6b438247) from seek was presenting about their journey using Haskell at seek. We all know Haskell is not production ready. Melbourne's definition of production ready is; If you search on stack overflow, you need to find code that can be copy pasted. 8 minutes into the talk, couple of guys left. I have been wondering! Some of the questions that came to my mind are
  1. Did they have an emergency?
  2. If it was toilet emergency, why did they not come back?
  3. Did they not know what the talk was about?
  4. Did they come for free beer/networking?
  5. Were they jealous he was using Haskell to pay his bills and they cannot?. I say that because there are 3 kinds of Scala programmers;
    1. Team Leads and Java loyals who resist change but (it makes them less important in the organization) forced to use Scala (huge community in Melbourne)
    2. Java refugees, happy to be not using java (growing but still small)
    3. Fuck, this would be so easy in Haskell (Negligible)
I asked myself what would I do?
  1. In any kind of emergency, say sorry to the speaker and leave. 
  2. If the talk was not for me (I wouldn't go in the first place), I would lie about an emergency and leave.
  3. If I was there for free beer/networking, I would suck it up.
None of this matters if you are at Apple developer conference. Tim cook does not give a shit if you leave as he has charged you to be there. It matters when there are 15-20 people in the room and it is free/community driven. I don't care whether the talk was good or not, it takes balls/preparation to stand up there and speak(Hats off to Simon). It is necessary to be compassionate at community driven meetups otherwise people will be put off from speaking at such events.

For now I am going to assume the speaker knew these celebrities were there for a guest appearance or they had an emergency(always positive). If not, please do me a favour, say sorry to the speaker and show respect.

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).

Thursday, May 10, 2012

Hope of a new beginning


What is so significant about Obama finally realising that homosexuals should have equal rights? Its not like its made into a law or written into the constitution. I know thousands of writers will write about this and question Obama's motivation, political or not. I am a man of few words. Below are my thoughts why what Obama said is important;

  1. What he said is like me telling my daughter, I will be by her side as long as she doesn't turn herself into a thug. I feel that is significant, as President is more or less like a father to the country. However strong we are, once in a while a little support helps.
  2. Suppressed/oppressed/people living in a shell, never perform to their full potential. So many countries are in shit as they have not utilised the full potential of woman.
  3. Last but not the least, most leaders of the world do not have their own opinion. They look up to America and this could bring a wave of change.
K