Abhishek Desai

Me, Myself and Internet

When do you decide to become a manager from a programmer

A lot of programmers quander if they should be programmers all their life or become managers. They love programming so much, they loath the idea of being a manager and why should they?

By sheer serendipity, I believe I have found an answer to this riddle.

I came across this masterpiece from Paul Graham today, which is essentially a transcript of the Richard Hamming’s talk at Bellcore on 7 March 1986.

Richard Wesley Hamming was an American mathematician whose work had many implications for computer science and telecommunications.

The entire transcript is very long but we just need to read his answer to the question,

Would you compare research and management?

Hamming’s answer:


If you want to be a great researcher, you won’t make it being president of the company. If you want to be president of the company, that’s another thing. I’m not against being president of the company. I just don’t want to be. I think Ian Ross does a good job as President of Bell Labs. I’m not against it; but you have to be clear on what you want.

Furthermore, when you’re young, you may have picked wanting to be a great scientist, but as you live longer, you may change your mind.

For instance, I went to my boss, Bode, one day and said, “Why did you ever become department head? Why didn’t you just be a good scientist?” He said, “Hamming, I had a vision of what mathematics should be in Bell Laboratories. And I saw if that vision was going to be realized, I had to make it happen; I had to be department head.”

When your vision of what you want to do is what you can do single-handedly, then you should pursue it. The day your vision, what you think needs to be done, is bigger than what you can do single-handedly, then you have to move toward management. And the bigger the vision is, the farther in management you have to go.

If you have a vision of what the whole laboratory should be, or the whole Bell System, you have to get there to make it happen. You can’t make it happen from the bottom very easily. It depends upon what goals and what desires you have. And as they change in life, you have to be prepared to change. I chose to avoid management because I preferred to do what I could do single-handedly. But that’s the choice that I made, and it is biased. Each person is entitled to their choice. Keep an open mind. But when you do choose a path, for heaven’s sake be aware of what you have done and the choice you have made. Don’t try to do both sides.


Enlightening, isn’t it?

Now instead of researcher, think from a programmer perspective here. Everything will make sense.

Let me rephrase some lines from a programmer’s point of view:

When your vision of what you want to do is what you can do single-handedly (solving interesting problems by programming), then you should pursue it.

This is the path you should chose if you want to remain programmer all your life, which is definitely a life worth spent.

The day your vision, what you think needs to be done (in programming), is bigger than what you can do single-handedly, then you have to move toward management. And the bigger the vision is, the farther in management you have to go.
I guess this is when you decide to become a manager from a programmer.

What do you think?

Originally published in our medium collection.

The hard thing about hard things – Key takeaways

The hard thing about hard things is the most powerful business book I have read in recent times. It is written by Ben Horowitz, co-founder and general partner of Andreessen Horowitz, a Silicon Valley–based venture capital firm. Previously he was cofounder and CEO of Opsware, formerly Loudcloud, which was acquired by Hewlett-Packard for $1.6 billion in 2007.

The hard thing about hard things

Ben tells a gripping story of his own entrepreneurial journey in the first few chapters. An amazing roller-coaster ride from which he came out as a winner. It sets the pace of the book so make sure you read it from the beginning.

In rest of the chapters, he enumerates various difficult situations, which arises in the life of a CEO, and provides his opinions about them with the help of anecdotes from his own hard-earned rise.

Every chapter in this book is an invaluable lesson for a CEO but you should identify key takeaways for you and your company, which you can start working on immediately.

So here are key takeaways for Digicorp according to me.

Takeaway – 1

Take care of the people, the products, and the profits – in that order.

Taking care of the people is the most difficult of the three by far and if you don’t do it, the other two won’t matter.

Taking care of the people means your company should be a good place to work but what is a good place to work? Keep reading.

Takeaway – 2

The difference between a good place to work and a bad place to work

In an extremely powerful conversation between Ben and one of his company head, he illustrates the difference between “a good place to work” and “a bad place to work”.

[You have to read the entire chapter from start to finish to feel the impact of this conversation but still I am writing part of the relevant conversation here.]

“In good organizations, people can focus on their work and have confidence that if they get their work done, good things will happen for both the company and them personally. It is a true pleasure to work in an organization such as this. Every person can wake up knowing that the work they do will be efficient, effective and make a difference both for the organization and themselves. These things make their jobs both motivating and fulfilling.”

“In a poor organization, on the other hand, people spend much of their time fighting organizational boundaries, infighting and broken processes. They are not even clear on what their jobs are, so there is no way to know if they are getting the job done or not. In the miracle case that they work ridiculous hours and get the job done, they have no idea what it means for the company or their careers. To make it all much worse and rub salt in the wound, when they finally work up the courage to tell management how fucked up their situation is, management denies there is a problem, then defends the status quo, then ignores the problem.”

Takeaway – 3

Why companies should train their people and why it is the boss’s job

Few arguments to answer the first part of the question.

Productivity

Training is, quite simply, one of the highest-leverage activities a manger can perform. Consider for a moment the possibility of your putting on a series of four lectures for members of your department. Let’s count on three hours preparation for each hour of course time—twelve hours of work in total. Say that you have ten students in your class. Next year they will work a total of about twenty thousand hours for your organization. If your training efforts result in a 1 percent improvement in you subordinates’ performance, you company will gain the equivalent of two hundred hours of work as the result of the expenditure of your twelve hours.

Performance Management

If you don’t train your people, you establish no basis for performance management. As a result, performance management in your company will be sloppy and inconsistent.

Product Quality

As success drives the need to hire new engineers at a rapid rate, companies neglect to train the new engineers properly. As the engineers are assigned tasks, they figure out how to complete them as best they can. Often this means replicating existing facilities in the architecture, which lead to inconsistencies in the user experience, performance problems, and a general mess. And you thought training was expensive.

Employee Retention

During a time of particularly high attrition at Netscape, Ben decided to read all of the exit interviews for the entire company to better understand why people quit hi-tech companies. After putting economics, aside, he found that there were two primary reasons why people quit:

They hated their manager – generally the employees were appalled by the lack of guidance, career development and feedback they were receiving.

They weren’t learning anything – the company wasn’t investing in the employees.

An outstanding training program can address both issues head on.

Why it is boss’s job?

Training must be done by a person who represents a suitable role model. The person standing in front of the class should be seen as a believable, practicing authority on the subject taught.

Takeaway – 4

Management Debt

While you may be able to borrow time by writing quick and dirty code, you will eventually have to pay it back—with interest.

This is called a “Technical Debt”.

Like technical debt, management debt is incurred when you make an expedient, short-term management decision with an expensive, long-term consequence.

I am just listing out three of the more popular types among startups. You should read the entire chapter for the details.

  1. Putting two in the box
    What do you do when you have two outstanding employees who logically both fit in the exact same place on the organizational chart?
  2. Over compensating a key employee, because she gets another job offer
  3. No performance management or employee feedback process

Takeaway – 5

Programming Your Culture

So what is culture? Does culture matter? If so, how much time should you spend on it?

  1. Any technology startup must do is build a product that’s at least 10 times better at doing something than the current prevailing way of doing that thing.
  2. The second thing that any technology startup must do is to take the market. If it’s possible to do something 10X better, it’s also possible that you won’t be the only company to figure that out.

If you fail to do both of those things, your culture won’t matter one bit. The world is full of bankrupt companies with world-class cultures. Culture does not make a company.

So, why bother with culture at all? Three reasons:

  1. It matters to the extent that it can help you achieve the above goals.
  2. As your company grows, culture can help you preserve your key values, make your company a better place to work and help it perform better in the future.
  3. Perhaps most importantly, after you and your people go through the inhuman amount of work that it will take to build a successful company, it will be an epic tragedy if your company culture is such that even you don’t want to work there.

Read the chapter to learn about the “shock value” mechanism to build a culture and how following companies have done it.

  1. Desks made out of doors – Amazon
  2. $10 per minute – Andreessen Horowitz
  3. Move fast and break things – Facebook

I consider above five as key takeaways for Digicorp from the book, that means we should immediately start working on it.

You figure out your own after reading the book and share it with the world.

This book is so powerful that I don’t have enough words to describe its importance for a CEO and her company. This books officially enters our “Books we love” list and Ben Horowitz officially enters our “People we respect” list.

For Digicorp, this book is equally important and relevant as “Rework” and in some cases even more.

Thank you Ben for writing it.

—–

Reproduced from the Digicorp Blog.

A beautiful reply from a salesman

We are big fans of Joel Spolsky and one of his companies, Fog Creek. It is a software company specializing in project management tools. One of its main products is FogBugz.

Couple of years back we evaluated FogBugz for project management and bug tracking. We were impressed with the product and customer service but did not buy the paid version. Cost was the main factor.

Few days back, my colleague Kuntal evaluated FogBugz once again and asked for a discounted one time price as monthly subscription cost was coming out to be USD 900/month.

Here is what he wrote:

Hello Will,

We are now evaluating the Software at DIGICORP that can help us with Project Management, Bug Tracking and Documentation. FogBugz has been our choice for a long time. Unfortunately we have not been able to start using a paid version. I wanted to know what is the best case deal for us from your end.

Following is our requirements.

  1. We would like to use the whole software along with Wiki and Time Tracking.
  2. We would like to score 12 on 12 on Joel Test so we want the best tools money can buy so FogBugz is the choice;
  3. We are today total 100 persons in the company, we will grow up to 120 persons with in next 6 months.
  4. The monthly pricing for on demand version comes around 900 USD which is too high for our budget.
  5. What is the best we can get in one time cost?

We are big fan of Joel, we have also made an Android App for Joel on Android.

Can you please revert to us with some really discounted price for our organisation?

Thanks,
Kuntal

The very next day, we get this reply from Fog Creek.

Hello!

Thanks for reaching out to us!  I’m sorry that our pricing may not work out for you but it is our policy to offer our published prices to whoever wants to buy our software, without any arbitrary or promotional discounts.

We find this helps keep us in the business of making software rather than deciding who gets what price. It also keeps you from wondering if you got the best deal on our software. If you pay the public price, you know you got the best deal we offer.

By doing away with negotiations, we actually enable our sales and support team to spend a LOT more time with each customer understanding their needs and helping them succeed with our software.

We’re so certain that you’ll love our software and will find it to be an excellent value that we are proud to offer the industry’s best unconditional, no-questions-asked money-back guarantee for a full 90 days.

If you are still interested in pursuing this, I’d be happy to help you out.

Thank you!

All the best,
Will Everett

Isn’t it beautiful? We simply loved the reply.

I am sure, a lot of companies don’t discount the price for their customers (For e.g. Basecamp which we use at Digicorp) but never so far we received a polite “NO” like this.

Above all they are not faking it. They really mean it when they say,

By doing away with negotiations, we actually enable our sales and support team to spend a LOT more time with each customer understanding their needs and helping them succeed with our software.

We learn so much by simply following the companies we admire and people we respect.

Thank you Fog Creek and Joel Spolsky for creating this wonderful company.

—–

Article reproduced from the Digicorp Blog.

Why we celebrated 10 years of Digicorp

We completed 10 years in business on 16th January 2014.

We were approaching this milestone and we knew we would have to do something significant. It is certainly not a small feat.

According to the U.S. Small Business Administration, about one-third of businesses survive to their 10th year [unverified claim].

But at the same time not so great as well. A lot of companies are in business for decades. So there has to be a strong reason for celebrating this milestone.

Why should Digicorp celebrate 10 years in business?

This was a very tough question and the “Why?” part was very important to us.

Initially I was looking at this event as a good marketing opportunity to tout our past accomplishments and create more business opportunities with our existing clients. I couldn’t convince others of the same and later on I was also not very sure about it.

Primarily because we don’t think we are successful, at least not by the traditional definition of success. Read “Why grow?” chapter of REWORK to understand more. [OR you can read that chapter in this article]

Finally after a lot of arguments and discussions, we found a right reason to celebrate.

To express our gratitude to all who have helped us reach here.

You didn’t build that” – it is not so controversial statement for us as a company. Without our family, friends, staff, clients, partners, mentors, and well-wishers, we wouldn’t be here.

So we were done with the “Why?” part. Now comes the “How?”.

Well, for me the one word to define the entire event was “Elegance”

  • Because guests will judge our company, our products, our solutions, and our people by the way we organise this event.
  • If we do it shoddily, it does more harm than good.
  • Elegant does not mean formal but something which is done with “taste”.
  • It means more care, more preparation, and more time.
  • It has to be thought through down to the last detail.

So how did we do it?

  • First, the venue. After doing some research we finalised “Courtyard Marriott” as the venue, one of the most elegant hotels in our city.
  • We prepared a guest list consisting of our family, friends, staff, clients, mentors, partners and well-wishers.
  • We designed a typography based minimalistic invitation card
  • We gave most of the invitations personally to our guests
  • We hired a professional video production team to shoot a video showcasing our transformation as a company. It also included our thank you message to all.
  • We decided to come up with some interactive installations in line with our goal of the event i.e. to express gratitude. Secondary purpose was to “WOW” our guests. They should remember something about the event for a long time.
  • We personally gave reminder calls a day before the event.
  • We received guests at the entrance and directed them to the main hall after expressing our gratitude.
  • On the main screen inside hall, Tweet Wall was setup.
  • Timeline walls allowed guests to write their own memories with Digicorp for e.g. when they first interacted with Digicorp etc.
  • We premiered the video at 8PM and hosted dinner after that.
  • And yes, one of the most important thing at the end. We planned to gave away 100 REWORK – the book which has changed the way we run Digicorp.
  • “Walls of Wishes” were setup for guests to write their wishes / feedback.

Well, it was not perfect. We faced major issues with the book vendor (for procuring 100 REWORK), one of the interactive installations crashed mid-way, we couldn’t meet all guests etc. but overall we consider this event a success. Not because more than 400 people turned up and everybody enjoyed the dinner but because we could express our gratitude to everyone the way we wanted to.

Here is our transformation video. I am sure you will love it.

Interactive installations. Amazing!

Click here to see the photos of the event.

10-Years of Digicorp celebrated at Courtyard Marriott, Ahmedabad

 

—–

Reproduced from the Digicorp Blog.

Install Clearly from Evernote Now

Have you heard of “Clearly” from Evernote?

It is a small browser plug-in which makes blog posts, articles and webpages clean and easy to read.

Oh boy, and what a job it does. Just one click and voila, your world changes instantly. Check following example of an article from Economic Times.

ET article without clearly. Can you read anything?

Economic Times article without Clearly from Evernote

Economic Times article without Clearly from Evernote

 

ET article with clearly. The world looks so much better now!

Economic Times article with Clearly from Evernote

Economic Times article with Clearly from Evernote

 

Please do your eyes and mind a favor. Install Clearly plug-in right now.

Launching “Karma – an ingenious appraisal system designed at Digicorp”

I want a feedback from readers of this blog about the recent initiative we launched in our company.

We proudly call it “Karma - an ingenious appraisal system designed at Digicorp.”

It is one of the most radical steps we have taken so far in our bid to become a transparent organization.

It is a leap of faith in humanity. It is one more step to change the way business is done.

But it is not perfect yet, we may have got it completely or slightly wrong.

If you can spare few minutes from your busy schedule to give feedback, we would really appreciate it.

Here is the blog post which gives little background and there is a presentation at the end.

http://www.digi-corp.com/blog/2013/11/karma-an-ingenious-appraisal-system-designed-at-digicorp/

Looking forward to hear from you all.

Microinteractions

I recently read a book called “Microinteractions” by Dan Saffer. I am fascinated by the concept. And Dan has done a brilliant job explaining it with various examples. So what is a Microinteraction?

A microinteraction is a contained product moment that revolves around a single use case – a tiny piece of functionality that only does one thing.

For e.g. Sign Up form

Whenever you

  • change a setting,
  • sync your data or device,
  • set an alarm,
  • pick a password,
  • turn on your appliance,
  • login,
  • set a status message,
  • like something,

you are engaging with a microinteraction.

Microinteractions are not features. For e.g. music player is a feature but adjusting a volume is a microinteraction inside that feature.

The difference between a product you love and product you tolerate is often the micro interactions you have with it.

I didn’t want to wait till all our designers read the book on their own. So to make everyone’s life easier and give them a jump start, I compiled the important concepts and examples in a presentation.

We had a wonderful interactive session during this presentation and I am sure you can do the same with your colleagues.

PS: I had to take down the presentation from Slideshare because O’Reilly might consider it as a copyright violation. But I encourage to read the book and make your own.

 

Learn to Design

Recently I came across exceptionally good resources for learning “Design”, which I would like to share with you all but before that, understand what is Design.

“Design is not just what it looks like and feels like. Design is how it works.” – Steve Jobs

So with that definition of Design in mind, let’s begin.

1) HackDesign: An easy to follow design course for hackers who do amazing things.

http://hackdesign.org/

Register yourself for this course. You will get a new lesson every week in your email.

You might have missed few or all of the lessons depending on when you read this article.

View all past lessons at below link

http://hackdesign.org/courses/

Read each and every article of these lessons.

This will be the best course you will ever attend to become a better designer.

2) A Good User Interface

If you want to become a better designer in no time, read following

http://www.goodui.org/

Again, you can sign up and receive an update twice a month.

I promise you will be eagerly waiting for these 2 emails in your inbox.

3) How to become a designer without going to design school

http://karenx.com/blog/how-to-become-a-designer-without-going-to-design-school/

I recently came across this article and I think it is worth following.

Hope this helps.

Please share in comments if you know such resources.

ASP.NET over PHP

Due to the nature of my business, I come across various situations where I have to justify one technology platform over the other because client insists on one over the other. Mostly their reasons are not sound but I don’t blame them as software is not their primary business.

Few months back I was asked to prove that ASP.NET is better than PHP for a custom project. I put together few things gave pointers to client. I am happy with what I gave and thus sharing with you all here.

So here is how it goes:

There are multiple points to be considered in this scenario.

1. First of all there is nothing better or worse. Only better or worse for a specific task.

We need to understand that the existing ERP is developed using Microsoft technologies. Some of them pretty old.

Backward compatibility of ASP.NET with these technologies is much better than PHP without any doubt.

2. Although both the platforms can work well with all databases, preferred database for ASP.NET is SQL Server and for PHP it is MySql.

3. If somebody is giving an example of Facebook (which most people do in justifying PHP over anything else), they need to understand that:

Facebook uses a re-written PHP and a transformer+compiler called HipHop which transforms PHP code to highly optimized C++ code and then compiles with gcc.

We are talking here about the PHP we get for application developers from PHP.NET (as it is).

So example of Facebook is not at all relevant in our scenario.

4. They aren’t even the same thing. PHP is a dynamic scripting language. ASP.NET is a framework.

That said, PHP is very good at creating web pages with limited functionality. Basic static pages with some small dynamic content. Once you get beyond that, then you start looking for code “pieces” to use. A grid. A menu. Simplified database access libraries. Template Engines. Data caching libraries. Content caching libraries.

When you are done, you’ve basically hacked together your own custom PHP framework.

ASP.NET has all that in place, and quite honestly much much more. The larger the project, the better ASP.NET does. It’s got more overhead in terms of learning and coding, but as the project complexity increases, ASP.NET code complexity is fairly linear. PHP code becomes exponentially more complex and time consuming.

Following link contains feature by feature analysis of .NET vs PHP.

http://www.codeproject.com/Articles/102854/PHP-and-ASP-NET-A-Feature-List

And here are some reasons of using .NET over PHP.

http://www.sitepoint.com/v-php-top-6-reasons-use-net/

But again, you will find 100 articles recommending one platform over another. In my humble opinion, it all depends on your situation.

I sincerely believe that in our current scenario using ASP.NET is a much better option than PHP.

PS: We are also capable of building large systems in PHP as well but giving false information is not what we believe in.

Schools Kill Curiosity

I realized this late but I never really enjoyed the “study” part of the school. I love sports and I played pretty good Football (Soccer) during my schooling so I don’t regret that time of my life but I surely feel, it could have been much better.

People who know me will be horrified if I say I wasted my time in school from the academic perspective. I was always a ranker (in top 3) so how do you explain that?

The problem is, somewhere, the school killed my curiosity. I honestly don’t remember if I was curious as a kid but I was certainly not curious when I came out of the school. If the school didn’t kill my curiosity, it also never tried to arouse it in me.

Result: Somebody who did good in studies from the perspective of our society but never really learned anything.

I always wanted to confess this and a recent article about Aaron Swartz made me do that.

Aaron Swartz was curious

In his own words

“If you watch little kids, they are intensely curious, always exploring and trying to figure out how things work. The problem is that school drives all that curiosity out. Instead of letting you explore things for yourself, it tells you that you have to read these particular books and answer these particular questions. And if you try to do something else instead, you’ll get in trouble. Very few people’s curiosity can survive that. But, due to some accident, mine did.”

Don’t take a chance with your kids. They may not be able to survive. Please stop sending them to schools which tells them that they have to read these particular books and answer these particular questions.

I certainly don’t want my kids to write similar article when they are 30, I hope you agree.