Would we still have aeroplanes if Wright brothers were not able to invent it? The answer is yes, someone else would have made the breakthrough may be months or a few years later. It is applicable for most of the inventions. The end result for the general public will more or less be the same; even if there was no Marconi, JL Baird we will still be having radio and TV. Things will happen and breakthroughs will be made, some winner may take it all, but inventions would keep happening irrespective of those individuals doing it or not.
Who creates and invents things? Is it the individual? No, it is the environment. If we look through the history, inventions mostly come from places where lower hierarchy of needs are taken care and people are able to concentrate on more complex things to solve problems. To learn well & build upon previous inventions requires a certain level of development and surplus of food, skills and mind space (to mind one’s own business).
Many organisations that I have visited or interacted with the people who work there are doing something the opposite. They are grooming individualistic culture of heroism and rockstars. Some of them have gotten into rewards and recognitions on a big scale to the point of very small achievements are rewarded well. A few lucky individuals who get noticed end up getting a lot of support and becomes a showcase for self fulfilling prophecy and others have to be motivated a lot to do their day to day things that they sign up for.
Workplace has to be an engine of producing high quality people who go on to bring results instead of focusing on identifying high quality people and giving them the upper hand. Workplace should encourage people who are inclined to continuously learn and work well with each other, build on top of existing advancements. It is too easy to focus on top performers but that tilts the balance further out of aspirants.
I was reading Nassim Taleb’s works and one of the writings that stuck to my mind was how seemingly harmless things can add up and cause great distress over a period of time.
There are lots of activities that does not have any significance if done in isolation but when done repeatedly or multiple times over a period of time it ends up creating a profound problem. One such he states is smoking a Cigarette. The risk of smoking just one cigarette will not even have any noticeable effect on the body, but it is a well known fact that years of smoking will eventually lead to bad health compared to non smokers.
In the current knowledge world it applies to our habits at workplaces as well. The risk due to procrastinating a whole day and not learning anything new in a day is almost zero, in fact it can happen for a few months without much effect on one’s ability that is how we take vacations; but there will come a time when we will be left out of the crowd if that procrastination prolongs.
Simple things we do or don’t do in a day can cause a lot of harm in the long run.
The biggest killer of developer time is meetings, it is a double whammy when it is run by people who do not know how to run it or how to finish it. So often a meeting eats up as much as the 25% of day without adding benefit to any of the attendees.
Developers cannot spend time in 30 minute slots like non developers. It takes some time to get into the groove and let the mind feel the code as if it is the extension of the natural language. 3 hours of unbroken developer time is the golden rule for me, it does not matter if I am coding, writing something or just starting out of the window thinking about something. The biggest killer of my productivity is when people pull me out of my zone for status checks during the middle of the coding session.
Also too often the planned meetings are more of information gathering sessions for the highest placed person in the corporate ladder. Any agenda or plans are thrown out of the window when the first question comes from a leader. These meetings scheduled for about 30 minutes will get converted to rants, status checks, random questions, fears and more that drags on and on to go well into 90+ minutes.
The best way to run meetings is to
Set agenda & time window (Make sure attendees are prepared, if it is a status check it is best done at the start or the end of the day)
A facilitator who can keep time and moderate conversations if that goes away from the agenda
A parking lot to make sure to capture random thoughts that can easily derail a meeting
Any one I have spoken to, agrees to the above points, but fails to keep the meeting in check because it is mostly run by non developers who don’t mind those additional 30 or 60 minutes getting wasted; or they just keep quiet and stay on so that the seniors are not offended.
If you are a manager and have a development team, please give unbroken chunks of time to developers and learn to run precise status checks and meetings without draining the energy that can otherwise be put into solving problems.
p.s: Design discussions and dev huddles do not follow in the above category but they also need to be facilitated well by the tech lead.