An Unproductive Workplace

Sometimes, I like to think about different things in my free time. Some days ago I was thinking about how a workplace may affect the amount of productivity. The workplace may be a company, a co-working space, or just the home if you are working remotely.

Having experienced working in all these environments, and facing issues real hand as a developer, I think I can highlight some issues. This may not apply to everyone and could be just me.

Congested Workplace

Too many people in a small area really hurt my field of view and subconscious mind. Even if I am only focusing on my work and watching my screen, movement in the background makes me notice things distracting myself.

If it happens a couple of times a day, it does not matter. But if there are a lot of people constantly moving around, talking, and not doing anything productive, it really hurts productivity.

Noise is another issue that is directly proportional to the number of people in the workplace who wants to get heard.

Open Workplaces 

Kinda related to the previous one. I can't grasp my head around the concept of open workplaces. Maybe it saves the cost of desks, cubicles, and space but it does not save a person from the agony of distractions and noise.

Things get really weird when someone at the left of the table wants to talk to someone on the right of the table. Like what? Go to the meeting room or just outdoor (open meeting rooms).

Maybe the workplace is not to blame as I have worked with people who used a messaging app instead of vibrating the gas particles in the atmosphere.

Constant Poking

Constant poking not with fingers but voice. Nothing is worse when your teammate(s) constantly ask you questions, related or unrelated to work, by mouth instead of using a messaging app. 

You are trying to focus and maybe listening to music and someone pokes you, distracting and destroying the flow state. You answer the queries and focus again just to get poked again. Not only it distracts the person engaging in the conversation but also others who are trying to focus.

Messaging apps are built for a reason. I remember those days when I had to use the messaging app to ask or tell something to my teammate sitting right beside me just feet or two away. The synergy was amazing.

Unexpected Stories, Infinite Expectations

I still don't know how Agile really works. Everyone does something different but calls them Agile. Maybe it's something I will learn in the future. But what I see and observe is constantly changing issues in the active sprint. 

Tasks are added, removed, changed in the active sprint but the expectations and deadlines remain the same. You are expected to complete n+ stories day, each with no descriptions and points assigned to it. 

Another issue is the estimation. I have been fortunate enough to work with some amazing people where the scope of work was clear as crystal, glass, or whatever. We estimate things, start the sprint and completes it before the deadline, always. They called it Agile too.

Ass In The Chair, Sir!

Some businesses think that productivity is directly proportional to the time your ass with the chair. Even watching funny videos counts productive if your workplace does not use a productive time tracking software.  

There is a culture of extra productivity where you are supposed to arrive before your time and leave as late as you can. This not only increases the health risk associated with sitting but also increases the productivity and chances to become an employee of the month. Not really.

One of my clients, who work in the health industry, used to share different things related to productivity and other cool stuff. The thing is that working longer hours does not make you productive but brings you closer to burnout. Development is a creative brain-intensive work not physical.

Multitasking: A Bug, Not a Feature

Multitasking is an illusion that you are working more. Even the processor takes more time to run multiple threads concurrently as compared to running them sequentially. And that's because of context switching.

Even though we are human, and not machines, it applies to us. Working on multiple issues/stories at the same time means constantly switching between branches, waiting for builds, and wondering where did you leave and what was on your mind when you last switched. 

That's why some project managers or team put a limit on the number of issues you can put in your "In Progress" column. Always try to focus on one thing at a time to do it efficiently.

Automation Sucks

A lot of things we do every day can be automated. There are automated toilets so why not an automated workflow. Manual deployments and testing is something a lot of businesses do.

They think spending a day setting up these things is unproductive and a waste of a productive day but it's okay to spend hours manually doing these things because you are doing work (and your ass is on the chair). 

Invest In Your Tools

A developer is only good as his/her tool, and so the productivity. Using an outdated system with a mechanical hard drive waste more time and energy than we realize.

Some workplace does not invest on their devices and blame developers for not hitting the targets. Working with JavaScript is more pain in the ass if you are using HDD. It will take more than 5 minutes to just make a build-out of those thousands of tiny files in node_modules. 

Investing in a faster processor, SSD, and more RAM will not just save time but will also decrease the stress and frustrations you get while waiting for the build. And yeah more stories/day.

return;

I will keep updating this post as ideas and memory come to my mind. Besides that, I wish everyone a productive and happy day weekend.