May 18, 2012

How do you solve your problems at work? - a small talk

As a programmer, as an analyst or a software engineer, I wish to place a question to you readers.

To solve the problems you face in your work do you read anything, be it technical, managerial or mid-way?

Well, I guess everyone reads only one thing - Google.

There is nothing bad about using Google to find answers to your queries, but when it turns out that you read only the first 5 result URLs and give up in about 5 tries for the same matter, you aren't doing enough.

I have seen some people give up in this fashion and revert to dirty and stupid workarounds for the problem at hand. Most of the time the fixes or changes are done without proper depth of knowledge or know-how of side effects.

This is the very point for which I am against depending on Google to solve all your problems.
Maybe as amateurs, everyone has the right to depend on the resources thrown at your disposal by Google. But as your own understanding and business needs start taking specific shapes, too much dependance on Google can adversely affect the quality and effectiveness of your own solutions.

And yeah, there are well research harmful side effects of Google in a person's everyday life. But I don't mean to touch upon that matter here.

So what is it that you need to do?

 a) Firstly. start thinking about your problems objectively and subjectively by yourselves.

b) Try discussing with peers.

c) Form a mental picture of the problem scenario.

d) Solve as much as possible by yourself. Take it as a challenge.  It will help in reinstating the passion for your job (presuming its existence at least  in the past).

e) Write/draw troublesome points and the entire problem statement if required. Also try tools like FreeMind or Mindmeister which help in doing this in digital format.

f) If you still feel a disconnect between the problem and solution, then TAKE A BREAK. Believe me. It helps in keeping up the motivation and creativity.

g) If you don't have a solution even now, you would be in a position where you can either Google away objectively, blame others or question the sanity of the use case you are trying. :P

Here are a few additional tips that I follow:-
a) Take extreme caution at stages where you commit things to external parties, especially when not connected directly in the hierarchy
b) Learn to estimate more, plan for unknowns
c) Be ready to burn the midnight oil for R&D, experiments etc which you help you catch up against your own lack of competence. The world can be unforgiving sometimes.
d) Read occasionally good articles about design principles, good practices of development (both technical and non-technical). Also more abstract topics like work attitudes specific to your discipline, psychology, statistics etc can come in handy

Last but the most important, "Learn to Work Hard, but Party Harder" and to Do what you love, and Love what you Do... ALWAYS

Signing off wishing happy careers...