As a software developer working for almost 30 years, I feel like the profession has changed in ways that are hostile to people like me. And I feel like there are fewer people like me in the profession, so maybe these things are related.
At the beginning of my career, we were like 2 or 3 people working in a small office. Then the office sizes expanded to about 5 or 8 people, often including the boss. Then came the open spaces, with managers talking on the phones, and lots of noise, and everyone seeing everyone all the time. I am a strongly introverted person. The current working conditions, that now exist in almost every company I interview at, increase my stress levels significantly throughout the day, even if nothing else happens. And god forbid I do some stimming (luckily that doesn’t happen often), of course someone will notice and comment on it. Is it really that important whether I shake my head while debugging?
At the beginning of my career, I was given a complex task to do (such as a small application, or a dialog in a larger one), and then left alone until I did it. I mean, I had to report my progress each day or two, but the assignment did not change in the middle of the work. These days, instead of receiving the entire assignment, I am being spoonfed the information, and they call it agile. “Add an ‘Arrange’ button that will arrange the items.” “You mean, arrange them alphabetically? Or by size?” “Good question, let’s have a meeting on Tuesday about that.” Ironically, as a junior developer I was treated like a senior; I was shown the big picture and I was expected to fill in the details. After a few decades of experience I feel micromanaged, and worse, micromanaged by people who don’t seem to understand the large picture, because it’s often like “Change functionality F to do this instead.” “Done.” “Testers are reporting that it broke functionality G.” “Yeah, F and G are related: G displays the data retrieved by F, so if you want F arranged by size, G will also be arranged by size. Is that not what you wanted?” “Good question, let’s have a meeting about that on Thursday.”
And because there is so much time wasted waiting for yet another meeting, people work on two or three projects at the same time. “Prioritization? What do you mean by that? Task A has priority 1. Task B also has priority 1. Task C also has priority 1. Task D does not have a priority assigned, but it is crucial that it be done this week; the entire company depends on it. These are all very important tasks!” Apparently the words “priority 1″ are a magical incantation that is supposed to increase productivity by 30%, which is why it is important to assign the priority 1 to every task. (Except for refactoring and documentation. That is priority 2, which translates as “this will never be done, because there will always be priority 1 tasks to work on instead.”) I worked at a company that started using decimal places, because everything was priority 1, so the managers had to specify that priority 1.1 task are more important than the priority 1.2 tasks or priority 1.3 tasks (but no one actually used the priority 1.3 because they knew that it would never get done). Another company solved the problem by introducing priority 0, and later priorities −1 and −2; I wonder how far they got by now.
This creates additional complexity, as the managers seem not to understand that Task A and Task B are not two bricks that can be delivered separately, but that sometimes changes in Task B are implemented on top of changes in Task A. “Change the story of Harry Potter so that the protagonist is a girl.” “Done, deployed to testing.” “Also, rewrite it so that it happens in USA instead of Britain.” “Done, deployed to testing.” “OK, now deploy to production the version with USA but without the girl.” “What? There was never such version. Version 101 is Harry in Britain, version 102 is Harriet in Britain, version 103 is Harriet in USA. We have no ‘Harry in USA’ version. I need to create a new version 104, and we should test it before deploying it to production.” “Why do you programmers always make everything sound so complicated?”
Notifications everywhere. At least five different people send me a message on Teams every day. If the Teams application does not have a focus, I also receive an automatic e-mail telling me that I have received a Teams message. If the Outlook application does not have a focus, Windows automatically shows a notification window telling me that I have received a new e-mail. When people start chatting in Teams, I have to stop working because the notification windows keep opening and I can’t click where I want. After a week of vacation, I have about 200 unread e-mails, most of them notifications for the sentences typed in Teams that I have missed. And a daily summary of the messages. And a weekly summary. And something called Yammer; I don’t even know what it is, I just made a rule that moves it automatically to the spam folder.
The communication is so distributed that often three different people ask me about the same thing. And the next week they ask me the same thing again. Because we have so many communication channels that as a result no one knows where anything is. Dunno, maybe the extraverts enjoy this. So much communication!
And all these changes do not make my work more productive. It’s actually less. I change things, then change them again, then revert the changes, then unrevert them. I have a separate meeting about every checkbox. I get pieces of information from different sources, try to put them together, realize that they don’t match, let’s have another meeting on Friday to figure that out and come to a conclusion that will probably turn out to contradict something else. We have more managers than developers. Managers tell me they keep looking for more developers, but it’s hard to find good ones. Friends tell me they have applied but got rejected. Through the grapevine I hear that we actually can’t hire more developers because the budget for them was still not approved. I don’t know what to believe anymore. I just feel despair.
I would be happy to work in the conditions I had twenty years ago. Seems like not an option anymore.
i’m sorry you are experiencing this. it sounds like you are in a company that doesn’t understand how to treat software engineers. there exist companies that are much better than what you describe, especially in the bay area, but presumably elsewhere as well.
As a software developer working for almost 30 years, I feel like the profession has changed in ways that are hostile to people like me. And I feel like there are fewer people like me in the profession, so maybe these things are related.
At the beginning of my career, we were like 2 or 3 people working in a small office. Then the office sizes expanded to about 5 or 8 people, often including the boss. Then came the open spaces, with managers talking on the phones, and lots of noise, and everyone seeing everyone all the time. I am a strongly introverted person. The current working conditions, that now exist in almost every company I interview at, increase my stress levels significantly throughout the day, even if nothing else happens. And god forbid I do some stimming (luckily that doesn’t happen often), of course someone will notice and comment on it. Is it really that important whether I shake my head while debugging?
At the beginning of my career, I was given a complex task to do (such as a small application, or a dialog in a larger one), and then left alone until I did it. I mean, I had to report my progress each day or two, but the assignment did not change in the middle of the work. These days, instead of receiving the entire assignment, I am being spoonfed the information, and they call it agile. “Add an ‘Arrange’ button that will arrange the items.” “You mean, arrange them alphabetically? Or by size?” “Good question, let’s have a meeting on Tuesday about that.” Ironically, as a junior developer I was treated like a senior; I was shown the big picture and I was expected to fill in the details. After a few decades of experience I feel micromanaged, and worse, micromanaged by people who don’t seem to understand the large picture, because it’s often like “Change functionality F to do this instead.” “Done.” “Testers are reporting that it broke functionality G.” “Yeah, F and G are related: G displays the data retrieved by F, so if you want F arranged by size, G will also be arranged by size. Is that not what you wanted?” “Good question, let’s have a meeting about that on Thursday.”
And because there is so much time wasted waiting for yet another meeting, people work on two or three projects at the same time. “Prioritization? What do you mean by that? Task A has priority 1. Task B also has priority 1. Task C also has priority 1. Task D does not have a priority assigned, but it is crucial that it be done this week; the entire company depends on it. These are all very important tasks!” Apparently the words “priority 1″ are a magical incantation that is supposed to increase productivity by 30%, which is why it is important to assign the priority 1 to every task. (Except for refactoring and documentation. That is priority 2, which translates as “this will never be done, because there will always be priority 1 tasks to work on instead.”) I worked at a company that started using decimal places, because everything was priority 1, so the managers had to specify that priority 1.1 task are more important than the priority 1.2 tasks or priority 1.3 tasks (but no one actually used the priority 1.3 because they knew that it would never get done). Another company solved the problem by introducing priority 0, and later priorities −1 and −2; I wonder how far they got by now.
This creates additional complexity, as the managers seem not to understand that Task A and Task B are not two bricks that can be delivered separately, but that sometimes changes in Task B are implemented on top of changes in Task A. “Change the story of Harry Potter so that the protagonist is a girl.” “Done, deployed to testing.” “Also, rewrite it so that it happens in USA instead of Britain.” “Done, deployed to testing.” “OK, now deploy to production the version with USA but without the girl.” “What? There was never such version. Version 101 is Harry in Britain, version 102 is Harriet in Britain, version 103 is Harriet in USA. We have no ‘Harry in USA’ version. I need to create a new version 104, and we should test it before deploying it to production.” “Why do you programmers always make everything sound so complicated?”
Notifications everywhere. At least five different people send me a message on Teams every day. If the Teams application does not have a focus, I also receive an automatic e-mail telling me that I have received a Teams message. If the Outlook application does not have a focus, Windows automatically shows a notification window telling me that I have received a new e-mail. When people start chatting in Teams, I have to stop working because the notification windows keep opening and I can’t click where I want. After a week of vacation, I have about 200 unread e-mails, most of them notifications for the sentences typed in Teams that I have missed. And a daily summary of the messages. And a weekly summary. And something called Yammer; I don’t even know what it is, I just made a rule that moves it automatically to the spam folder.
The communication is so distributed that often three different people ask me about the same thing. And the next week they ask me the same thing again. Because we have so many communication channels that as a result no one knows where anything is. Dunno, maybe the extraverts enjoy this. So much communication!
And all these changes do not make my work more productive. It’s actually less. I change things, then change them again, then revert the changes, then unrevert them. I have a separate meeting about every checkbox. I get pieces of information from different sources, try to put them together, realize that they don’t match, let’s have another meeting on Friday to figure that out and come to a conclusion that will probably turn out to contradict something else. We have more managers than developers. Managers tell me they keep looking for more developers, but it’s hard to find good ones. Friends tell me they have applied but got rejected. Through the grapevine I hear that we actually can’t hire more developers because the budget for them was still not approved. I don’t know what to believe anymore. I just feel despair.
I would be happy to work in the conditions I had twenty years ago. Seems like not an option anymore.
i’m sorry you are experiencing this. it sounds like you are in a company that doesn’t understand how to treat software engineers. there exist companies that are much better than what you describe, especially in the bay area, but presumably elsewhere as well.