Right from the school days I have enjoyed sharing knowledge with others in such a way that it stays with person who receives it. The good side effect it got me was that it made me stronger with the fundamentals. The easiest way for me to learn something was to commit to someone that I will teach the same. The fact that I will be questioned on many aspects made me dive deeper into the subject as well as look at the meta part of it.

I started learning music recently, my progress was really slow. I struggled to understand or visualize many of the concepts like why the chords have to progress in a certain way, how do you identify its minor or major etc. Until I volunteered to teach someone else the basics, I did not dive deep enough to find the physics behind the music. As I begun to teach, my ability to express something which I understood started increasing multifold. Slowly I was able to draw analogies from different subjects to explain music.

How did it help me at the workplace? Periodically signing up for sharing something with the peers helped me to learn a lot. The eustress provides the right push to dive deeper and come to a good understanding. Many of the organizations have a constant turnover of people which means that it is necessary to get new people on board with culture and technology.

Signing up as trainers at the workplace has a good effect. This has two benefits, one it eliminates full time position of trainers, the other is it provides the trainers the right platform to sharpen and strengthen their skills. It also helps to break the monotony of regular job and provides a different view of it. Some of the questions posed to me in the classroom also made me rethink on some of my beliefs and led me to relearn some things, so it is not just learning but also unlearning.

Joy of teaching is as much as joy of learning.

A typical bad day at work for a programmer is to getting stuck. A stuck programmer is easy to spot, s/he is the one who has not moved away from the computer for a long time and if at all moves away is still visibly occupied with thoughts about how to find a solution.

Some of the solutions which I observed are

Discuss the problem with someone else

This is one of the best solutions which always worked for me. Even at times when someone listens to the problem does not help me fix it, just explaining it to someone helped me visualize and articulate better which in turn brought me closer to the solution. This is where pair programming wins hands down.

Read the Manual

While this may sound obvious, I have observed this to be one of the key issues to someone getting stuck. The entire IT population is trying riding on the keywords like convention over configurations, intuitive code, fluent interfaces; that combined with the hello world kind of exposure to tools gives programmers a more than enough confidence to carry on the everyday work. So when getting stuck the immediate response is to try what is obvious or what looks intuitive.

Take your eyes and mind of the problem

Any person’s action at work will first be governed by the conscience and instincts take over later. It is very similar to how we start driving or play instruments, we will be at ease once we are in a productive rhythm. The advantage of this mode where the instincts control our work is that it is very efficient but at the same time it moves us into a very narrow view of the work. When stuck we are stuck just in this narrow view and might not think out of this view (is it sounding like thinking out of the box?). This is similar to sleeping, it is so easy to get back to sleep when the alarm rings in the early morning no matter how difficult it was to fall asleep; if the concentration levels at work has been high and we got stuck then a way out is to come wide awake out of the concentration. Few times I have been stuck at programming from 6PM till bedtime just to wake in the morning and solve that in 15 minutes.

Almost every one of us at the work place have signed up for some sort of deadline, if we get stuck it adds to the stress. We have to use the phrase from “The Hitchhiker’s Guide to the Galaxy“. DONT PANIC

Image: Master isolated images / FreeDigitalPhotos.net

This is a follow up of my previous post Nice Guys, do you finish first?

I got to know the term seeders and leachers from the Torrents. The term leeching is very common in the computing world,  but is it relevant in any other context?

Yes it is relevant in other contexts as well, I keep observing these in my workplaces. Some of the workplaces I have seen has very rigid written performance expectations and assessment criteria. The performance evaluation is nothing but a way of identifying the leechers and removing them from the system. The key problem in this setting is that the cause and effect might be very spread apart and it is easy to find ways to comply with every word from the expectations set and still be a leecher. Lots of tools and methods at the workplace evolve at a very rapid pace which makes it hard to keep the expectations at a written form and convey to people.

Who is a seeder? Is someone who comes to work delivers the job as per requirement and goes home a seeder?

A seeder is someone who not only does her job but also makes sure the peers need not rework or struggle in the coming days as result of her job. If a team contains lots of seeders then there is effective communication, on time delivery and a good balance of work and life. The team can pretty much handle themselves without a need for a supervisor. On the other hand if the team contains lots of leechers, then there is a need for a supervisor to keep a check on the delivery and try to remove the leechers out of the team.

Any example of a leecher? What happens if we dont remove them from the system?

Let us take the example from the documentary Nice guys finish first, the social setting of a group birds is such that each bird removes of the ticks from the other birds. Each bird is groomed by someone else to be healthy. In this setting it is very easy for a bird to get groomed and get away without returning the favour. The bird which exploits the social setting is a leecher. If we dont remove the leecers from the system then the overall advancement of the system is very limited and will encourage selfish behaviour.

Unfortunately it is not so easy to find leeching in self organized teams, the reason is that leeching might be involuntary through unconscious incompetence. The individuals might not realize that they are over grazing the resources and soon going to add pressure on their team mates. Timely facilitated retrospectives, reflections and corrective actions without penalties will help improve the well being of the self organized teams.

Image: africa / FreeDigitalPhotos.net