Ravi Mohan's Blog

Monday, May 28, 2007

FAQ (from my mail-box) #3 I am just starting out in the sw industry/I am still in shool. Can you give me some advice?

Sure. Giving advice is easy. Following it is hard :-)

If you like coding (and technology in general), seriously consider if you want to study further. A B.Tech from most Indian Universities is utterly useless. A good MS or PhD will get you the good technical jobs. If possible get some deep grounding in science or maths. Or if you are the non tech type consider an MBA.

Even if you can't study further, start specializing in a "tough" sub domain of software. If you are working in Java, learn C and assembly. If you are wrestling with java and xml on the job , acquire some expertise in algorithms or networking stacks. which brings me to

Decide on whether you want to be an "enterprise" programmer early. Pros = fairly easy work, easy to get that first(and subsequent) job, plenty of travel. Cons = ultimately unsatisfying if you are a seriously technical person (you may need to move up to be a manager if you want good work or money, but being a manager is not a technically intensive job), it is too easy to get into an endless grind of developing the next website for an arbitrary series of industries.

If possible, join a startup/small company/technically sharp company (like Google) vs one of the behemoths (like Wipro or Infosys). [Useful heuristic - if the company is an ISO/CMM./other process heavy company, run for your life!]. You'll learn more in a shorter period of time. You can always join Wipro or TCS after a couple of years when you are ready to "settle down" (and be mediocre).

Be prepared to work like crazy for the first couple of years.

Be prepared for intensely political environments (the more so if you join a big company). I am not saying be political, just be aware of politics. Politics is a part of every human endeavor which incorporates more than one person. Either scrupulously stay above it or learn to play the game well. Don't get caught in a "middle path" where you play sufficient politics to get hurt but not enough to use it get more money or power.

Be aware that a job is not a continuation of college. It is surprising how many people make this mistake. (Some companies even encourage this in a ludicrous attempt to be "cool". If the company HR asks you to play Dumb Charades on a company outing, or if the company workforce is divided into "houses" which compete against each other in "skits" or "Dance competitions", you are probably in one of these companies) Seriously consider leaving. There is a subtle distinction between a job that's fun and a boring job with pseudo hip "activities" layered around it.

Above all if you don't enjoy coding, for God's sake move on. Do something interesting with your life. There are enough doofuses in the Great Outsourcing Destination without you adding to it.

No comments: