free html hit counter
Posted on: Saturday, January 22, 2011 by Rajiv Popat

Books And Why You Should Be Reading Them.

Besides programming, writing and reading are my life long passions.

Are you having a baby?

I cant wait to plug this book to you.

Trying to become better at software development?

Try starting with this one.

Want to understand how your brain works?

Why not start with this one.

In a whole lot of conversation I have with my colleagues, acquaintances or even friends, I tend to quote from books. That is what book lovers do.

Books are a means to draw inspiration, ideas, fun and above all, they provide a means to glean into another book reader's mind and connect to a real person. I continue to be amused by just how many conversations you can have with random strangers over a book at a local bookstore.

Most of those discussions are way deeper than using "Social Media" and "Web 3.0" to basically announce that you are now going to go to the bathroom.

If you aren't reading books, you should.

If you find reading difficult you should consider listening to audio books.

Either ways, if you aren't reading or listening to a couple of books every months, you are doing yourself a disservice.

Go on.

Take a walk to a local book store or grab a copy of something you would like to read from Amazon or Audible and start reading. Its fun. Seriously.

posted on Saturday, January 22, 2011 9:32:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Friday, January 21, 2011 by Rajiv Popat

Your Sources Of Motivation After Your Warm Up Period

When you are hired on your first job, most of your time is spent on impressing your bosses. A pat on your back ever now and then keeps you going for about a year.

The next couple of years are you start looking for promotions and growth. You are still looking for pats but just pats aren't enough. About three to four years into your career, after chasing pats on your back, promotions and technical growth I usually see pretty much two things happening to most engineers and developers around the world:

  1. They burn out and decide to move on to roles which are not, do not seem like, they are as demanding as development. Another way of putting it is that they become what we otherwise refer to as a managers who want to stay as far away from any real work as possible.
  2. They have their very own personal realization that pats on your back, promotions and salary hikes will keep you going only for so long. Having realized this they find their own creative outlets to look for their very own personal intrinsic motivation which either comes from the fact that thousands of people use something that they have built or from touching hundreds of lives with their work outside of work.

If you are that developer who was reasonably good at what he did and has spent three or four years of your career chasing pats on your back or promotions and are now facing that mid life crisis of your software development life you are pretty much left with one of the above choices.

Choose wisely, because many a times, these choices are not reversible. Once you start working on full time management of teams, going back and writing code is going to be challenging especially if your reason for becoming a manager was that you were sick and tired of development. On the other hand, once you start working on side projects and checking in those kickass changes to your project, sitting in meetings is going to feel hugely irritating when you realize that you have to manage teams in your work life.

I am not saying that you cannot do both. You can be a kick ass programmer who loves leading teams or a kickass manager who loves writing code. That is clearly not the point here. The point here is that the first three to four years of your career are your warm up period. What you choose to do next, pretty much defines how long you are going to stick around and how happy you are going to be.

Choose wisely. Stop listening to what folks around you are telling you and start looking for your very own personal sources of staying motivating. For some, this involves leading and connecting to others. For others it involves building stuff. Either way, three or four years is about time you start realizing what you love doing and start doing that more often.

I wish you good luck.

posted on Friday, January 21, 2011 8:30:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Sunday, January 16, 2011 by Rajiv Popat

A Life Long Mountain Of Challenges With Milestones.

You need your own mountain.

A set of challenges arranged in a coherent never-ending stream with constant sequential milestones where you can celebrate your doneness.

Each challenge focused around deliberate practice.

Unless you happen to be working for an organization that has a steady revenue stream through search and encourages your research project to stay alive for a year, deliberate practice, when you are constantly shipping is hard.

Spending a week on tuning your Ajax calls using JQuery instead of the ASP.NET update panel, when there is no concrete Return On Investment, is deliberate practice.

It is also hard to propose in a management meeting.

But you still need to learn how to do those Ajax calls and use them seamlessly in your application. Which is why you need your own mountains to climb. And you need to climb them, every week. Even if you climb just a few inches every week.

If you keep at if, after a while, the inches you climb might just start adding up.

The mountain can be a long running side project. A constant stream of training sessions you plan on taking. Or a series of technical articles you plan on writing. What ever it is, pick something which involves a series of coherently arranged never-ending challenges and constant sequential milestones.

So, what's your mountain?

If you haven't found one yet, might I suggest that you keep your eyes open and start climbing it as soon as you find it.

I wish you good luck.

posted on Sunday, January 16, 2011 6:54:05 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Saturday, January 15, 2011 by Rajiv Popat

Practice Continuous Learning With Deliberate Practice.

If you are somewhat naturally inclined a few years of mucking around in a field can make you decently good at it. Good enough a get a job and start making a living out of it. That's exactly how far mucking around will typically take you.

From that point on you have two options:

  1. Keep looping: where you keep writing the same CRUD screens for seventy years and keep making a living out of it.
  2. Move to the next level one step at a time with Deliberate Practice.

Deliberate Practice is where you meticulously and carefully examine every aspect of what you do and what the best people in your field of work do.

For authors deliberate practice involves not just writing, but reading the works of other authors who happen to be better than them. For musicians, it involves listening to the music of other musicians. For software programmers it involves reading code and learning from other Alpha Geeks and kickass programmers around the world.

But deliberate practice doesn't end at meticulous observation. It involves stepping out of practice using your comfort zone and moving to practice using your learning zone.

A classic example of this would be, spending a week to figure out how to tube, tweak and improve your JQuery based Ajax calls to make them faster. Deliberate practice is hard work. Deliberate practice is painful. Deliberate practice is scary because the first step is a silent acceptance of how little you know.

Deliberate Practice, or lack of it thereof,  might also be the reason behind why most programmers cannot program.

What did you do today? Complete your tasks the entire day? Or did you indulge in the act of deliberate practice using your learning mode for at least a couple of hours? Yes we know deliberate practice is hard and painful but that anything that is wroth doing, is. Go on. Keep a few hours a day aside for deliberate practice of your craft.

I wish you good luck.

posted on Saturday, January 15, 2011 8:30:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Friday, January 14, 2011 by Rajiv Popat

Keeping The Crowds Out For The First Couple Of Sprints.

If you have done this even once, you know that if you are planning on working on an idea that you have, you are going to have to work without the crowd.

There are two reasons for this:

  1. The crowd doesn't get the idea. Its going to think your idea is too lame or too impractical or already taken
  2. The crowd doesn't care.

Both of these are good things.

The first is good because it allows you to build your idea exactly as you see it. As more people join, the vision dilutes. You are way better off working on the first version yourself or just a couple of really close friends who totally understand your vision or people who have similar core philosophies and values.

The second is good because it allows you to work in stealth mode, build something really small and release it to a closed inner circle of acquaintances who do care. This is good news because if you fail or build something that none of your users like, you have just disappointed a really small group who are willing to give you a second chance. You can choose to bury your failure, learn from it, move on, fix it, tune it, work it up and add more people really slowly.

Releasing a product live till you are done with a couple of complete sprints is almost never a good idea. If you are going to release a product live, do it when you are pretty darn confident the product has enough meat for people to love it, because otherwise they are just not going to care and that is not such a bad thing after all. Go on, ship something to your inner circle first and then slowly and steadily, surprise everyone else with a kickass product.

You don't need a big bang release date and press releases. Start with a slow and steady release instead.

I wish you good luck.

posted on Friday, January 14, 2011 5:33:18 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Sunday, January 9, 2011 by Rajiv Popat

Stop Whining About Power And Start Contributing.

Hugh MacLeod's book Ignore Everybody, is a classic collection of well written articles and hugely funny cartoons:

One of the most interesting parts of the book is Hugh's explanation on power and the people who crave it. He explains:

Power is never given. Power is taken.

People who are "ready” give off a different vibe from people who aren't. Animals can smell fear. And the lack thereof.

THE MINUTE YOU BECOME READY IS THE MINUTE you stop dreaming. Suddenly it's no longer about "becoming". Suddenly it's about "doing".

You don't get the dream job because you walk into the editor's office for the first time and go, "Hi, I would really love to be a sportswriter one day, please".

You get the job because you walk into the editor's office and go, "Hi, I'm the best frickin' sportswriter on the planet." And somehow the editor can tell you aren't lying, either.

You didn't go in there, asking the editor to give you power.  You went in there and politely informed the editor that you already have the power. That's what being "ready" means. That's what "taking power" means.

A rather interesting read for anyone who has ever craved for, asked for or haggled for a promotion. You know the kind I'm talking about here. The kind that graduates from a MBA school and expects nothing less than a private cabin and a team they can boss around.

You cannot be expecting the world to give you power just because you want it.

After all, anyone who wants power should not be given power, for obvious reasons.

Now go focus on the taking up more responsibilities and adding a little bit of passion to everything you do.

Stop worrying about the power bit. Seriously.

posted on Sunday, January 9, 2011 10:45:25 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Saturday, January 8, 2011 by Rajiv Popat

If You Want Our Business Or Attention Don't Make Us Wait.

When it comes to personal life and parenting, making someone you truly love wait, to teach him or her ability to delay gratification and self discipline, can be a good thing.

When it comes to business however, how long you make me wait has a inverse correlation to how much you care about me.

Please wait, our customer care executive will attend you shortly, is translated as: we have more customers than we can possibly care about and you are just one of them so talk to a machine instead.

When a restaurant makes you wait for a table or makes you wait after taking your order it sends a similar message. We have more customers than we can handle so wait in queue and stop bothering us.

When your website makes your visitors wait, its even worse.

We know its hard. We know sometimes the message isn't intended but we are all busy and if you make us wait, we are just going to assume you don't care and go somewhere else.

The best you can do is speed things up for us. Hire more trained executives like zappos does and have a human being answer the phone. Allow people to book a table in your restaurant over their mobile devices and give them a time to arrive at. Tune your website to work faster or buy more processing horse power. If financial constraints prevent any of those, the least you can do is explain it with true empathy, say sorry, mean it and work your ass out to fix it as soon as you can.

Relationships are a two way street and treating your customers like replaceable parts of your profit making machine is stupid.

Please don't make me wait, because I won't anyway. If you do I might but only as long as I can find a different option.

I am just saying.

posted on Saturday, January 8, 2011 8:30:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Friday, January 7, 2011 by Rajiv Popat

Things To Do When You Have Nothing To Do - Part 1.

Do you love what you do?

What if you were forced to take a couple of weeks of off time each year. Not a vacation where you go somewhere. Just random couple of weeks of time off.

A few rules apply:

  1. You cannot work on anything connected to your organization.
  2. You cannot be talking, emailing or getting in-touch with people at work.

You get up in the morning, no emails, no fires, no colleagues, no tasks. Just silence.

Most people who claim to love what they do would freak out if this was done to them. If you are one of them, chances are that you do not truly love what you do. You just love your job. That or your job is just keeping you busy.

People who love what they do hardly have time for insecurities and freaking out. Most of them have activities other than work that allow them to workout their creative mussels. This is why countless kickass programmers spend their time blogging, coding on open source projects, launching free products and answering questions on free forums.

These folks would be just as happy if you brought them out of their work environment and gave them a month long unplanned time off.

Others will freak out and resort to nothingness.

Which of these two groups do you belong to?

When you have nothing to do, what is it that you usually do?

Just a little something to think about.

posted on Friday, January 7, 2011 8:30:00 PM UTC by Rajiv Popat  #    Comments [0]