February 24, 2019

some forgotten tech

Been quite a long time since I wrote on my technical blog, and I can't put my finger on the reason quite easily.

Probably its because I am back to more coding than meeting/reviews/thinking per day. Even then the number of lines of code or complexity that I deal with daily isn't really substantial. There is nevertheless, quite more learning and re-learning these days.

Some of the topics I found myself scanning my own old code, man pages, stackoverflow and many other websites are C++11 features, memory management, signals and a bunch of other system calls.

When the regular work demands very little to no coding and still fills up almost the entire day, one lands up in situations where the technical practice is sustained only by faint memory and constant theory relearning. But none of it matches actual coding practice.

Even the language and concepts I just mentioned are quite archaic and are the verge of being replaced. So its really high time to equip myself with real practical experience with new tools, languages, design paradigms and architectures. Lots of reading and imagining happening, but until the itch of the fingers are satisfied by implementing, the yearning for learning remains unsatiated.

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...