Monday, February 11, 2013

84 problems applied to software engineers



I've been in Software Engineering for 17 years, and let me tell you this:- In this field, you are never going to be perfect. The feeling that you have that you don't know this or that technology, or there's more you can do never goes away. It's a good thing too, because that's what keeps moving you forward. However, at the same time, you should look at what you have accomplished too.

Reminds me of a Buddhist parable:- One farmer goes to the Buddha and tells him that he is unhappy. Buddha asks him what he is unhappy about. The farmer starts talking about his kids, his cows, his wife, everything. Buddha tells him "In life, you are always going to have 84 problems. You solve one problem, and another one will pop one up in it's place" . The farmer says "How does this help me solve my problems?" Buddha says "It doesn't help you with the 84 problems" Farmer says" I heard you were a great saint. But you haven't solved any of my problems" Buddha says "But, I have solved your 85th problem, which is the biggest problem" Farmer says "What's the 85th problem?" Buddha "Your 85th problem is that you expect to have no problems at all"

A software engineer's career is also like that. There are 84 more technologies, or tools that you can learn. You learn one and another one pops up in it's place. You cannot let what-you-don't-know define you. You have to define yourself by your accomplishments. Doesn't mean that you don;t stop moving forward. It just means that when you put your head on a pillow at night, you sleep with a feeling that you did something good today.

That's what you have to focus on. Every night, go to bed thinking of the things you did good today. Every morning,  think of things you can do better today. That's all. Simple, probably a little stupid, but highly effective