Every developer is a writer in some way or another. Most writers have a fixed schedule or a set of routines that they follow to get things done. So do developers and most of it is writing code.
Some writers make elaborate plans or sketches, that are then transformed into a story. The characters are decided, and their emotional states, how they interact with other characters. Developers make design decisions before they set to write code. What a particular module might do or the variables in the said modules need to be meaningful and convey the correct meaning.
At times, writers get into a state that is termed Writer's Block. Writer's block is when the writer just cannot think of anything good to write or the mind is so clouded that ideas make no sense.
Developers think and write as same as writers. The ideas sometimes never take off. This is valid because a developer needs to make sure the code is standardized or follows some design patterns.
This link lists common causes of Writer's Block: https://www.writermag.com/writing-inspiration/creativity-inspiration/curing-causes-of-writers-block/
We explore if this same Writer's Block can affect Developers too.
Developers can have days where their ideas don’t seem to click. No matter how much brainstorming is done, the idea doesn't make sense and can affect productivity.
The overflow of ideas can also cause a temporary block. Which one is better of these. Sometimes the rush is so surreal it makes you dizzy.
Being a developer and stuck at the same job. People who want growth are always thinking of jumping to new companies. These ideas are always floating around. When combined with the work pressure from the current company, developers just go blank. Too many responsibilities at the current company or roles can also affect the outcome.
This is a classic case of not speaking to your colleagues or other developers, managers, etc. Sitting alone and holding the idea and thinking about what would my peers say is not a great way to be part of a team. Maybe the ideas are good, they might just need some polishing from seniors.
Starting problem. Don’t know where to begin and how to begin. What if the code you write is not perfect. No one is perfect. You learn from experiences and most experienced developers too, face this problem. The solution is to just write and then re-iterate.
Sessional depression can hit anyone. Developers are not special. They too get depressed due to varieties of reasons.
Again, perfection is not required at the beginning. Sometimes re-iterating is tiring and makes you lose focus of what the result must be. Doing the same work repeatedly clogs the mind and no new ideas are formed.
Are you? Does the code you are working on make no sense? You might be an expert at a particular technology and suddenly assigned to work on something else. This is an issue. Some developers tend to say I can do it. It only leads to more pressure and project deadline extensions.
Self-loathing. Just because an idea was struck down by seniors/managers, you went into a state of thinking how useless of me. This is not true. You don’t have to be a Ninja or Rockstar developer. Just the one who can get the work done.
With resenting negativity, developers start comparing with other developers within the team or across the company. People have different levels of understanding. No one is perfect without falling down a few times.
This is probably applicable to developers who have started a new life/family.
Facing rejection is part of developer's routine. Why? Because no single perfect solution is readily agreed upon. This fear of rejection stops you from thinking of new ideas and facing the people who reject them.
Ahh well, who is not?
Being stuck at a particular module and seeing no way to complete it. Software is complex. You cannot jump to other modules without completing the current one.
Instagram has pictures to distract your work. Facebook has friends who tell you about their better life. Twitter to tell you about what the world is up to while you slob through your job. Time out from social media is needed to improve productivity else this just makes developer life miserable.