Monday, February 20, 2017

Time to Think!

"Time is money" - said someone

In today's world, being busy is considered a good thing, which is better than slacking off. And is definitely needed to carve out our strengths in the early years of the career. The harder we work, the more we understand our limits, the more we improve our skills and the better suited we are for our long term aspirations.

However, I've come to realize through personal experience, that working hard all the time in mid-career is not such a good thing. I learnt this lesson the hard way when after many years of long work hours and no vacation, I realized one day that I was grinding through life. There was little foresight as to what 'big' thing I needed to work on, just that work had to be done. I felt I had buried myself into something taking me away from my long term goals.

It then took a difficult decision to break out and start a new venture. But now, with the new venture, I have learnt my lesson. Taking time off to assess and then recalibrate both my own compass's North as well as that of the Venture is now a thing. And I look forward to it every year now.

Each time I take time off, I come back with an additional zeal and a sense of purpose. And the work that I missed out, well, it just forces me to delegate. And that makes my day less tactical and more strategic. Another benefit is that it enables the organization to grow, it enables the team to pick up more responsibility and we all become better.

Still have a long way to go before I get it just right, but now the footings are right, or so I think, at least until my next vacation! So my lesson learnt here is: sandwich idle time into the craziness of daily work!

“Those who are wise won't be busy, and those who are too busy can't be wise.” ― Lin Yutang

Tuesday, October 06, 2015

Graduating from a B-Grade School and Want a Job?

"I wish I had graduated from a Tier 1 university so I could land a job.....", if you've had such thoughts after not hearing back from employers for your first job, its time to stop, reflect and come up with an action plan.

As an employer and advisor to individuals who've just graduated, my advise is simple. Stand out and be prepared to roll up your sleeves. Since I work in the Software Development industry, I am confident this advise holds up for this vertical and perhaps others too, where its an 'employees market' (employers are desperate to hire and generally are unable to find individuals with the needed skill-sets). Easier said than done, so I've put an action plan for those interested:

  1. (Re)Take all basic courses from Udacity, Coursera etc. You want your basics to be rock solid. Tier 2 universities generally don't have good faculty, and its your basics that really give you away in an interview. So be solid
  2. Participate in programming competitions. Doesnt matter if you're the last ...just go all out. Note these participations and place them prominently on your CV.
  3. Create a github profile and start following open source projects of interest. Try to subscribe to projects where there is already a large following and then keep up with pull requests. If you're able to send a pull request, give yourself a big pat. If it gets merged, High Five. If not, no worries. Add a reference to it in your CV
  4. Follow a few tech blogs. NOT the ones that talk about iPhones and Android phones, the ones that talk about technology as an industry. Techcrunch, hacker news, read write web etc. Understand whats shaping the world
  5. Be passionate and confident. It shows in the interview and helps form a positive impression about you even if you're not able to answer all the questions.

Good Luck!

Saturday, September 20, 2014

For the love of the customer

Our product, EZOfficeInventory is a leading equipment tracking solution and we've been busy disrupting this space for a few years now. When we started, our goal was to help office employees manage and keep track of assets assigned to them. But if we had stayed there, there might not have been much of a product for me to blog about today.

As customers started signing up on the product, we started getting feedback and requests for updates. My initial fear was of us listening to the wrong customers or moving away from a product thats useful for a large majority to something only a select few customers can use. Two books that guided us through this decision making are:

Innovators Dilemma by Clayton M. Christensen
Cross the Chasm by Geoffrey A. Moore

But fear aside, when I look back today, I am comforted by a decision we made fairly early on, which was to be customer centric. Our goal is to make products for businesses that help them be successful. That meant being a high impact company. Money and revenue being a secondary goal. And there were more than a few times when we had to make long term decisions and this rule came in handy.

As an example, one of our customers wanted us to customize the solution and have it deeply integrated with their backend system. They were willing to pay some serious dough but we decided not to proceed as it was less about enabling the majority of our customers in being successful and more about taking the money and doing what one customer wants.

Another good outcome of having a focus of customer-first is that everyone in the organization understands that we cannot leave our customers to hang out to dry. If there is ever a data consistency issue, or a system availability issue, its our number one priority. It doesn't matter if the customer facing the issue is on a free package or a paid one, we never let a customer hang out to dry. Because of this, we've seen good retention and decent referral business. But most importantly for me, its helped comfort me in knowing that we've come a long way in achieving our goal of providing a valuable product to our customers.

And every now and then, speaking to a customer who raves about how our product has helped their business in being more efficient or successful always makes my day!

Wednesday, June 19, 2013

Tips for Interviews

I've been taking interviews for technical jobs for over 10 years now. I still have a long way to go in terms of coming close to perfection, but here are a few tips if you're looking to land a job

  1. Come prepared. Its not a weekend barbecue party. If you cant bother to spend a few days to brush up on basic technical concepts, then dont waste my time!
  2. Exercise basic hygiene. That means cutting your nails and brushing your teeth. While looks and physique help in getting a good first impression, if you have bad hygiene then I dont want to punish others by having you forced on them. You'd have to be Einstein for me to look the other way and hire. 
  3. Be confident. I know of someone who tool anti-stress medication before interviews to help with keeping calm. Dont recommend it, but as an FYI he's been pretty successful, and he happens to be a doctor! You may want to exercise, rest, yoga or whatever to help put your nerves at ease before the interview.
  4. Research the company. In the end if you ask interesting questions and get ideas rolling in my head, I'll like you. And that can be a determining factor if you're a borderline.
  5. Know what and how you'd like your career to pan out. Dont be over ambitious but have some ambitions. Dont be naive either. If you act like you know what you're doing, people will think you know what you're doing - even if you dont.
  6. Dont give up easily on tough questions. You should ask if you have time every few minutes if you're stuck, but dont give up too easily. Nobody likes quitters.
  7. Dont BS. If you dont know the answer, say you'd like to attempt a guess before throwing  baloney my way. 

Sunday, November 25, 2012

Careless, cross that, criminal negligence in Pakistan's Doctor fraternity

The events and characters covered in this article are real. No synonyms or pseudo names are used, its the real deal. If you believe I'm being unfair, I don't care. In Pakistan we're blessed with more than a decent share of black sheep, and what I'm about to narrate is something that will render most individuals speechless.


My wife has had two Caesareans at the National Hospital in DHA, Lahore. The first Caesarean was unnecessary as the labor was artificially induced even when the term hadn't been completed; we'll classify this as incompetence on the Doctors part. Now incompetence beats criminal neglect, since incompetence mixed with dedication yields successful, although non-optimal outcomes. Having your first kid and some painfull stitches isn't the kind of experience that does justice to parenthood.

Moving on - we were on our third child pregnancy and my wife insisted she wanted a normal birth. We read a lot on the internet, by that I mean my wife become the encyclopedia on medical practices in pregnancy and in that process she had me pick up a few pointers on how pregnancy is dealt with in the developed world. So now we needed an expert gynecologist. This was going to be no normal pregnancy, we needed the best. 

Chapter 1 - unlucky

The process of finding a good doctor in Pakistan is that you talk to a few friends and relatives to come up with a list of potentials. We attempted this and in Lahore we couldn't find anyone other than the old generation of gynecologist, and since they were like really old, we couldn't go with them. So we decided to go with the head of Gynecology in a hospital that came highly recommended. Like I stated earlier, I'm not going to hold back any names. Fatimah Memorial is the hospital and our ill picked Doctor was Fozia Manoo Khan. She's specialized from somewhere in the US. I wish I had digged deeper into her degree, I fear she might have specialized from Harlem (a low ranked Hospital in NY) although doctors even there have some humanity in them.

On our first visit we laid it out to her i.e. we're not the standard case she's handled. We're going for a normal delivery after 2 C's even when its fairly rare in Pakistan. And we needed her to help us. She responded with the expected lecture, i.e. very rare in Pakistan and that she would give us a trial if we so demanded. 

Chapter 2 - the journey

The pregnancy progressed with a hiccup. After all, Pakistan didn't become a nation of 190 million magically, the nation has seen so many babies that we might as well make the baby our mascot! I digress! 
Dr Fozia M. Khan isn't the cheap doctor, she charges Rs 1,500 per visit, and we probably had over 10 visits easy. Each visit had us wait around 40 mins for a 10 min session. On most visits we'd bring up the following subjects:

1. I, the husband, want to be in the delivery room. She would typically respond that there in an LDR room that we can avail. Something of a rarity in Lahore, I guess most men think its honorably to be dead farts siting in the waiting room for the mother to do the 'womanly thing'. But in the late 8th month of the pregnancy she said the room had been broken down to make way for some renovations since it wasn't being used. Crap!

2. We want this to be a normal delivery. She would generally respond to this by saying that its high risk but would let us try it. 
So all was going well, until we hit the last week…..

Chapter X-1 week. Storm before the storm

On the last visit to her clinic, we ended up waiting 30 minutes for Dr Fozia or her nurse to arrive. Her nurse took some basic tests and then asked my wife to wait further for Fozia to arrive. I felt bored out of my wits in the waiting room and made the mistake of asking my wife if it was ok for me to check up on office stuff for a bit since my office was close by. I received a call 30 minutes later that I should come back from office to pick her up. My wife was extremely emotional when I arrived. On her last visit before the big day, Fozia M. Khan decided to SCARE by wife. She used every scare tactic she could, from describing how her uterus could shear and her organs splatter, to her taking 'NO RESPONSIBILITY' for her safety. Holy #$@$. On the only solo visit by my wife and the last before term completion, she decided to put on the witch costume! 

We were vested in her too much to change gynaes now. We prayed, we browsed the internet for more similar cases, and we prayed some more. My wife decided the next day that she's not changing her mind, she's going for the normal. Everyone who knew what was happening had their guts sticking in their throats but we all acted with confidence, and with confidence in her. What kind of a crazy doctor decides to scare a patient at the worst possible time when confidence can mean the difference between life and …. 

Chapter X! 

Somewhere up above, a decision was made to send a new life to this world. My wife had read enough to know that being in the hospital too early is bad for deliveries. She had us walking in a park during the labor pains and having me time them. I was scared. When is it too early and when is it too late to start the trip to the hospital. Why can't things be more simpler! In the evening my wife finally said, lets go, but on the condition that we would come back if the labor wasn't in its final stages. The drive took 40 minutes to the hospital. They checked, stated labor had begun but my wife said it wasn't in the final stages and we went home after discussing it with the nurse. Then at midnight, we went again. This time she was admitted. I was asked to wait outside in the waiting room. My mother in law accompanied my wife, thank God she had come by when she did. 
The next part of the story has two angles to it, one that I experienced and the other of my wife. Fozia M. Khan was busy with her dreams if you're wondering about her experience.

Me: I was in touch with my wife every 30-60 minutes via cell phone. 4:30 am was expected to be the moment by my wife's calculations.
Wife: Took no epidural or spinal. Doing so could complicate an already complicated labor. Duty Doctor who was suppose to check regularly was sleeping. The Duty Doctor needed to be woken up after every hour just so she can do her job, which she felt was a favor.

Me:  Time stops in moments such as these, and when 4:30am came …. it stopped for longer than I'd wanted. Than at 5am, my mother in law called, asked me to pray and from her voice I could tell something was off. At 6:15am I got another call from my mother in law, she said they were taking my wife to the delivery room
Wife: At 6am, ready to push. No Fozia M. Khan. Even the Duty Doctor is now ignoring me. Telling me to lay on the side and not to push until Fozia comes. Babies don't wait on Doctors! The pain was off the charts, and it wasn't the pain thats associated to prepare for the delivery, its the kind of pain thats telling you to push. I go ballistic, throw away the baby monitor. They finally move me to the delivery room. 
But instead of guiding me to push my child out, now I'm alone. No one is with me. Not even the Doctor. I wait for what is eternity. A rude nurse is now my sole guardian. The pain of not pushing is extreme. I beg the Duty Doctor, who was clearly avoiding me, to guide me in pushing so I can deliver. She says ONLY Dr Fozia can do it, to which I respond that I don't want her. I can feel my Caesarean stitches being stretched and the baby has come down. Another Doctor inspects and says the baby's crown is visible. BUT DO NOT PUSH - MUST WAIT ON FOZIA

Me: At 6:45 am, I'm worried. Something is not right. Why haven't I heard the 'good news'. I call my mother in law and she says the Doctor hasn't come! I call her assistant (the doctor never gave her own number), and she says that Fozia is on her way. I'm in a state of numbness …. my brain is sending too many signals at this point, some of anger, others of frustration and the rest of fear. I just say in a calm voice, what happens if there is a complication right now? Why is she not here. Little do I know that things have already unfolded that required Fozia to be there 30 minutes ago (6 am) at the minimum. A Doctor with some conscience would have been at my wife's side by 4:30am. 

At 7:15 am Fozia arrives. Delivers and then leaves not to be seen until 32 hours later. Some dedication by a Doctor for a case that even she, i.e. Dr Fozia, described as being extremely complicated and rarely carried out in Pakistan. 

Chapter - The End

I had a few choice words with Fozia when she finally came to check up. Her parting thoughts to me, "Take your wife to a foreign country for your next delivery then". 
I then complained to the MD of the hospital, who seemed frustrated at the state of affairs as well. His every attempt to try to figure why Fozia wasnt in the labor room were dead ends. In the end his opinion was, you cannot find replacements for doctors - better to have something than nothing. 

Charges for a delivery, one where the Doctor was MIA, Rs 60,000. 
Of which Rs 36,000 as direct fees going to Fozia. 


Dr. Fozia Manoo Khan was late by 3 hours per any decent standard, and criminally late by an hour in which two lives were put in danger. Incase you're wondering if its possible that Fozia was unaware as to how things were unfolding, let me clarify. Fozia was called by the staff at midnight and she was the one who had asked the staff to call her at 4:30am to update the status. Rather than rush to hospital given the level of dilation at 4:30, Fozia just waited until 6am for the dilation to complete, and only THEN have the hospital ambulance sent to her home in DHA. Did I mention, I live in DHA as well and even under no-traffic conditions you're looking at 30 minutes one way! So an ambulance leaving the hospital at 6 can only bring her back by 7! 
Ok - maybe there is still some wiggle room, possibly that she had some urgent matter at home. In my confrontation with her, her classy words were "my sleep was ruined and you're still ungrateful for having a healthy baby!"


Both mother and child are doing fine. The purpose of this post is not to count my lucky stars, but to ensure that I do my part in highlighting criminal negligence. And if you're thinking of having Dr Fozia as your gynae than at least I've done my little part in trying to highlight her record.

So if you've been thinking I sound cynical these days on how bad things are in Pakistan, you're right.

Thursday, September 29, 2011

In favor of recession

Recession, contrary to common opinion, is a needed part of the economy cycle and more importantly for sustaining our civilization.
Booms while great, do have downsides. No need for me to write on the upsides of a boom since they're well known and even fantasized! So to the upsides of a recession:

1. Helps the 'humanity' aspect. During extended booms, its easy for individuals to became part of a rat race ie who has the biggest car, the exotic summer vacation etc etc. Recessions enable individuals to be grateful for what they took for granted. It helps reset the human clock on being content.

2. Improves professionalism. This is my favorite - during booms the dumbest of the lot start to believe an imaginary worth of themselves. During booms, the human resource shortage creates an impression in the heads of the 'not so above average' that they have abilities that need to be coveted by employers. Well, the wake up call during recessions, when the low performers are typically first to be let go helps them get out of their slumber. I've seen engineers being hired in booms who I would hesitate to hire as blue-collar workers, and that puts a dent in any organizations minimum bar of professionalism.

3. Sets up an environment for the next boom. Recessions help people realign such that the bad typically get weeded out and the great get some breathing space to kick around. This sets up the infrastructure for the next boom since exceptional talent is able to focus without being distracted by the not-so-talented.

So next time you hear that we're in a recession, stop and think if you're one of those who needs to realign and/or push harder to be the best that you can be.

Monday, March 28, 2011

Rails Developers

I've recently started noticing the same trend in Ruby on Rails development as Java development was 10 years ago. Everyone who is anyone is jumping into it. From engineers to musicians. While its nice to have a lot of developers, the end quality remains elusive. So if you're thinking about picking up Rails, ask yourself this:

Are you in it for the money or are you in it for the passion?

If you're for the former, all the best to you, I really dont have much to say after that.

If you're the latter, then I suggest you strategize before becoming a code monkey, a list I'd recommend is:

1. Read the basics - ie know what Ruby is first and then pick up on the basics of Ruby on Rails
2. Write a simple application - but dont leave the 'magic' work under the hood without understanding it. Rip it apart, figure out why something works and why it doesnt work. Scaffold's and ActiveRecord in Rails make web development look like a walk in the park. But only those developers who understand what happens under the hood make it past the standard websites and onto the more interesting and challenging tasks of scalability and security.
3. Keep returning back to the basics. A sky scrapper would fall if its foundations were to be eroded. Dont let that happen to you.
4. Be active on GitHub. Nothing beats being the person who writes code that hundreds or thousands of other developers get to use. And you'll learn meta-programming in the process too!
5. Take on energetic developers as your proteges. Every now and then you'll get a question that'll make you think even when your current projects doesnt.
6. Avoid the 'I am god' syndrome. No matter how good you are, there will always be someone better. And nobody likes a snob anyway!