Wednesday, April 7, 2021

What is life?

 Life is 

Happiness

Balance

Purpose

Liberty and Freedom

Social contribution

Mental Control

Pleasure principle (Happiness maximization and Sorrow minimization)

Regret minimalization framework

Inner peace

Ecosystem

Meditation

Samta Bhaav

Reflection

Acceptance

Niyam

Egolessness

Contemplation

Peace

Contentment

"SANKIPAN"

There is no one frequency or phase or word which can describe life in its entirety. Everyone gets their share of plate full of all the emotions, luxuries, joys and sorrows.  All these things keep happening all the time.  So enjoy each phase to the fullest. Live life king size.


Computer Science conundrum

 

If you have watched the web series Lost in Space, then you can definitely empathize with Information Technologists. Both suffer from the same fate of BEING HOMELESS. In the series, ‘Lost in Space’, few enthusiastic astronomers travel in space to discover life on another planet. In the process, they are lost in translation and keep hopping from one planet to another. The same is the case with IT practitioners. They begin their journey of designing and building new applications in different domains but in the process, they move far away from their own domain of core Computer Science and keep hopping from one application to another. And during this process, the core domain develops so fast that one often feels light years away from it making it really difficult to come back home.

Every day there is so much new happening in this field that people in ICT often feel outpaced by the pace of new development and research. Take for example, till 2008, smartphones were nowhere in the picture, and then suddenly smartphone, and the android operating systems emerged. While technologists were adjusting to this change, Artificial intelligence, machine learning, deep learning came to the forefront. In parallel, the traditional client-server architecture made way for cloud computing and the cloud became ubiquitous and the whole notion of DevOps changed in a span of 2-3 years. Cybercrime, Datacenter technologies, Software-defined networks and a host of other development happened in a short frame of time that an engineering degree syllabus started looking dwarf and incomplete. Therefore, the biggest challenge which people in ICT face is how to remain connected with HOME in the face of fast-changing contours of technology. 

The key to making a successful career in computer science is to learn, unlearn, and relearn on a continuous basis. The moment you stop learning new technologies, you would simply become obsolete in the field. However, this is a simplified understanding of the subject. People in different job profiles require different strategies to connect with “HOME”. 

The highest in the varna hierarchy of Computer Science are Researchers, Professors, and Core Technologists like engineers at Google and Apple. They rely on research conferences, literature survey, pilot projects, and group-based learning. They have a free and vibrant atmosphere in the university or company which is deeply motivating and helps in updating their knowledge base.

The second in the rung are Technologist, Programmer, Architect, or Team leads in the service-based industry often working to apply the tools of Computer Science in other domains.   Oftentimes, their employer deploys a full battery of HR experts whose main job is to keep the work force up to date with help of sponsored training or on the job hands on training.

The real challenge lies for people working in the government sector as IT professionals. The general atmosphere is not conducive to learning. The security of government jobs and hierarchical setup further takes away any incentive to learn and apply one’s skill. The domain experts often confuse them with contract employees or consultants. Hence a sense of ownership is difficult to develop. The feeling of homelessness is most poignant and incisive for these classes of people. Ironically, they are the poorest in the clan. The limitations of salary do not even allow them to prepare for any mid-life crisis, unlike their private-sector counterparts.

Considering above challenges across the spectrum, it would be good if following things could be institutionalized for IT professionals across the world:

1.     Every workplace should have provision for sponsored training and industry-academia-research linkages.

2.     The working week should be either 4 days or the per day working hours be reduced to 6 hours so that rest time could be spent on learning about new technologies.

3.     Computer Science should be branched out into different sub-branches. The time has come to declare it as a new mother of all branches.

4.     Super specialization should be a must. An emphasis should be placed on projects rather than formal degrees.

However, one should not discount the luxury of being homeless because only a true wanderer with no bonding or desires can achieve real salvation in life.


Office Office

 I intended to write this post in January however due to certain delays, lethargy and inertia on my part, I could not write this then. Hence I am picking this thread again with renewed insights and events from last 2.5 months.

First thing first, every office has a different culture and arrangement. For instance, Military might follow a cadet culture. Private sector may claim to follow non-hierarchical innovation oriented culture. For instance, everyone given equal size cubicles be it CEO or a developer. Public sector i.e. Government tend to follow a hierarchical and authority oriented culture which is not cadet style culture except for police service.  However it tends to get tricky in situation where it involve private vendors, direct recruits, promotee recruits, and other-direct recruits  in the equation. Here the leader has to wear many hats and change his communication and leadership style while talking to different actors. 

From my experience, best way to get the work done from the vendor is following:

1. Get things in writing
2. Review code and understand the topic in detail
3. Fix timelines and do regular follow ups
4. Always do a mail communication and know the last person who is working on the system

However, if a manager/leader/authority do not have real reward and punishment strategy in his hand then it is challenging to bring the best from the worker. There are very limited options in such setting. Some of them which I have experienced and faced are following:

1. Symbolic reward like reserved appreciation and symbolic punishment like frequent scolding and name-shame as one way to make the vendor work.
2. Create imaginary pressures like weekly work follow ups, number of days for which work is pending, daily accounting of the work done, taking timelines from the vendor and doing regular follow up with them
3. Know when to escalate the issue to leadership
4. Reserve your harsh words for exceptional situation 
5. Create your image in the office through your behavior pattern. For example,

        Use of anger in instrumental fashion like Sanjeev sir does
        Use of frugality of words like Ramesh sir does
        Keeping distance to create your aura
        Keeping conversations professional so that vendor do not get easy with you
        Not mix the personal and professional life
6. Play Good Cop-Bad Cop strategy
7. Develop a tone of authority

The situation is complex when you deal with government staff like other-direct recruits and subordinates. Hence few more principles could be applied.

1.  Treat them with respect, response and attention. At the end of the day, they are government staff who have fixed promotional timelines and fixed reward punishment patterns
2. Find their basic nature and accordingly allocate the task. For instance, whether he is aggressive, meek, sincere, calm, analytical or theoretical and so on
3.  Motivate them. Give them speech. Provide some referential authority so that they can also get the work done.
4. Provide them work related authority and tools
5. Don't get involved in the petty issues of office. These things work out on their own. At least, not pay attention to them until they are flagged. 

But just imagine that you are on other side of the table. How would you deal with an angry and aggressive boss. Following are some insights:

1. Develop a thick skin: Let the other person shout as much as he can. As long as he is not harming you physically and in substantive sense, it is ok. Just absorb the rebuke.
2. Under promise over deliver
3. Learn that client will always tag a task as urgent but essentially, there is nothing called URGENT
4. Buy as much time as possible
5. Always keep some output or excuse ready
6. Use visibility and opaqueness in functional sense. Use it wisely to deflect tension.
7. Become a Yes Man. 
8. Strategies like "Sir you are not audible", "Sir there is another output for you", "Sir, I take the responsibility for delay", and some other tension diffusing lines should always be available.
9. Show as if lot of effort is going on but live life as usual. Work need not be done but it must appear to progress.
10. Take approvals in writing and never give anything back in writing
11. Do not let the client access code or real work environment. Else he will know the truth.
12. Keep multiple versions of the documents.
13. When you can't explain, confuse
14. Pass the decision to client. This will help you in buying time.

There are many other situational techniques. If in case you are government staff then also you should have few tools in your hand. For instance:
1. In government, never give full answers
2. In government, always tell less than what you know
3. Keep a low profile
4. Speak less, observe more
5. Never be on the front, work from the back end
6. Delegate as early as possible. Never keep it pending at your desk
7. Show as if you are the busiest person in the office
8. Learn to see the hidden meanings of directions
9. Never sit in a car or room bigger than your boss's car or room

There is lot more to write but I think enough for now.