Tuesday, March 29, 2005

Job Motivation

I have many friends working for various software firms. Almost entire spectrum is covered; services companies, product companies, small companies, big companies, everything. Not even a single one of them found his job intriguing! Some have jobs which don't have much work to offer, just like my last job. There you don't really add much value to your resume. Some have jobs which really have loads and loads of work, but since they are working on the same stuff all the time, you don't add much value there either. Big companies don't provide the bigger picture, small companies don't have the coffee machine in place (just like my present job :). Almost everyone will agree that working for any software firm doesn't challange one's intellect much. You might have small time spans where you'll need to pump up those grey cells, at other times, its plain routine work. Now the question arises, how to be content with what you've got and how to kill that nagging desire to utilize your academic knowledge and intellectual capabilities towards mutual benefit of the firm and yourself as a professional (I've read/wrote my share of resumes :)!

Now I shall provide some solutions from my vast experience. First thing, being a black hole always helps. Remember, no work is so important that a skip can't go unnoticed for quite some time. In case, during the meetings some queries arise about that particular work, you can always say "working on it" (and add that to next four weeks' status reports) or if its too late you can feign forgetting (just a plain dumb look; if it sticks to manager's mind s/he might stop giving work! :). So, barring some rough meetings, black hole funda is all smooth sailing.

Next, always project what ever you do as larger-than-life. Publish one HTML page and send 10 emails to various mail-groups (don't forget to ask for their suggestions; something to put on next two weeks' status report!). It always helps to start working at the last possible moment; perfectionalists like me don't get the time to make it perfect and lots of time is saved! Nothing is perfect anyway (and who is looking for perfection is stupid javascripts!)! Team meetings, tech talks, etc also appear very frequently on a software engineer's calendar. You might not know the job well, but its very important to keep the jargon at the tip of your tongue. In your reports and other communications, always (ALWAYS) use loads of jargon and abbreviations. Apart from covering up your weak points (who doesn't have those!) it further discourages any queries.

Conference calls are another important corner stone of software jobs. These are dicey things, its recommended to take these as granny's tales (never interrupt but keep humming with the story) at the same time you're screwed if you're found asleep during one of those (it takes practice!). If you HAVE to speak, keep jargons in mind and put yours points as obscurely as possible. Never ever commit a deadline as a definite date; rather give vague ideas, e.g. "this *should* take *perhaps* two weeks time" (note the starred words!). Keep your "hellos", "byes", "goodnights" polished and always remember to laugh at their jokes (no one gets them, NEVER ask for explanation or add on to the joke!).

Teamwork is mighty important for a peaceful career. You should have confidant who can mark proxies for you in useless training sessions. Moreover, the secret to success is to know whom to blame for your failures. This blame game also helps in procrastination ("my part depends on XYZ's module").

For further inspiration:
Top 25 Explanations by Programmers when their programs don't work.

1. Strange...
2. I've never heard about that.
3. It did work yesterday.
4. Well, the program needs some fixing.
5. How is this possible?
6. The machine seems to be broken.
7. Has the operating system been updated?
8. The user has made an error again.
9. There is something wrong in your test data.
10. I have not touched that module!
11. Yes yes, it will be ready in time.
12. You must have the wrong executable.
13. Oh, it's just a feature.
14. I'm almost ready.
15. Of course, I just have to do these small fixes.
16. It will be done in no time at all.
17. It's just some unlucky coincidense.
18. I can't test everything!
19. THIS can't do THAT.
20. Didn't I fix it already?
21. It's already there, but it has not been tested.
22. It works, but it's not been tested.
23. Somebody must have changed my code.
24. There must be a virus in the application software.
25. Even though it does not work, how does it feel?


Anonymous said...

dost dampatya jeewan ki aur bado. yeh sab bhool jaoge. :)


Vivek Kumar said...

Oh man.. total laugh riot.. :)

I should write one for govt. functioning :)

adarsh said...

few of the explanations are really used ;-)

BD said...

Dude blogs can get you fired...don't you know that *LOL*

David said...

Hi, I was just out blog surfing for detailed info on building self esteem when I ended up on your page. Obviously I ended up a little off base, but I am certainly glad I did. If you wouldn't mind, I would like to post your link on my "favorites" page. Should you ever need it, there is valuable information on my site about building self esteem.