Over the past decade, it has been evident that a software engineer has become one of the highly important and in-demand jobs there are. As reported by the International Data Corporation, 26.2 million of the world population in 2020 worked in software development, 13.5 million of which working full-time creating new programs and enabling services that make people’s lives, more or less, easier and better. Yet, there is more to this job than what non-coders might think.
Software developers encounter challenges that at best promote their professional growth and at worst dominate their entire existence leaving them with almost nothing else to have time for, let alone do. When I first got into development, I romanticized the impact this job would have on my professional and personal life. Seven years into it already, I can fairly say that reality turned out quite different from expectations given all the bumps I hit along the road. For instance, there is no such thing as work-life balance in the life of a developer, not to mention many other challenges that our community should cease to overlook.
The Paradox of Growth
Though working for a Fortune 500 company is worthwhile for one’s career prospects, it has a seemingly dark side that poorly influences the progress one expects to make. At IBM, where I used to work, there was that very strict process that regulated the workflow in a way that preserved the company’s integrity. While it was helpful in some situations, such as settling disputes among teams, such a process did not provide much of a chance for me to develop my performance in terms of putting new ideas into action or genuinely contributing to decision-making.
Secondly, with big companies, there is not much freedom of choice regarding the projects developers work on nor, sometimes, with being enabled to climb up the career ladder. For instance, I was working on what I considered an exclusively insignificant project for my growth. I tried so hard to escape it; however, my client at the time decided it was better for me to stay ‘for the moment.’ Furthermore, the only chance for me to progress at IBM was a promotion that I never qualified for because I had to lead a team of at least three developers. That was very unlikely because
a) my team was always down to two developers including me and
b) the client had no intention to expand it. And that was the last straw and I was left with no other option than to quit.
###The Controversy of ‘Work-life Balance’
Software development involves a great deal of brainwork stimulated by its very own life cycle which includes phases like planning, design, and testing, to name a few. Developers have to think all the time to fix bugs, find new pieces of code, or come up with ways to do refactoring for existing codes, the thing which, hopefully, can lead to more mental and intellectual development in the long run. Yet, this very quality that boosts the brainpower often turns into an obsession mainly due to the nature of the industry itself as well as the workstyle most developers are subjected to.
The thing about technology is that it evolves incredibly fast. This requires developers to keep pace with the new technological changes by means of continuous learning, which translates to more time outside their daily work schedule allocated for study. Though this sounds very straightforward, it is still challenging for it also requires a combination of physical energy, focus, good planning of what must be studied, and, of course, a distraction-free environment. And let’s not forget that developers, after all, are human beings who need to rest and recharge, care for their families, and simply live their lives.
Supposedly, all those requirements are met, finding time outside the daily schedule should be possible if developers have a work window that does not stretch, as contracted, beyond eight hours. But is this the case? Spoiler alert: no, it is not.
Work, just like the universe, is constantly expanding. It expands so much that it hijacks developers’ personal time, risking the quality of life they might want to live and eventually leading to burnout. For instance, it is very common for many developers to work overtime to support a project or even multiple projects at the same time, and in many cases, the pay is just ridiculous, let alone compensatory. I remember one time when we had to work four consecutive weekends to meet our deadlines. Ironically, we failed to do so because no one had enough energy to work on normal workdays! Ultimately, work colonizes more and more time slots, creating a vicious cycle that dominates both the developer’s day and mental energy and gradually sparks workaholism in their life.
The notion that what we do has a direct, positive impact on other people’s lives adds a lot of meaning to our work, yet this should not be at the expense of our own lives. Such things as the opportunity to progress and be creative, the right to disconnect after working hours, and respecting employees’ time off are not just luxury needs—sadly they sound out of reach for many—but thoroughly vital ones to work in a healthy environment in which we feel a sense of belonging.