There are numerous advantages to working as a developer. The option to work remotely, as well as the opportunity for continuing on-the-job learning, means that developers can live wherever the cost of living gives them the best bang for their money. But it’s not all fun and games when it comes to programming.

Development, like any other profession, has its drawbacks. The following are the aspects of being a developer that developers despise the most.

1. Too much screen time

By its very nature, programming necessitates a lot of screen time. Erica Gilhuber, a developer at Guardian Software Systems, despises the following aspect of her job:

“By the end of the day, my eyes are asking me to just stare at the clouds, despite taking numerous breaks and a slew of other eyestrain-prevention tactics.”

Erica Gilhuber (@EricaGilhuber)

So, what can you do if you’re spending too much time in front of the screen? Blue-light glasses, according to Gilhuber, can be extremely beneficial. Moreover, “The night-light setting in Windows is fantastic. Set it more intensely than you imagine; after a few days, it won’t seem orange.” She also employs dark mode in all of her OS settings, customizations, and browser extensions.

2. Clients who don’t understand tech but think they do

NacreData’s proprietor, Devin Ceartas, despises working with clients who don’t comprehend technology. It’s one thing to have family members ask for help with printers over the holidays, but non-tech-savvy clients may make your job difficult in the business.

Worse, he said, are “customers who believe they understand technology but don’t,”, particularly those who believe they know exactly how something should be implemented because they read something or watched a video. “As a freelance developer, having satisfied customers and their suggestions or references is critical to my future business.” But being satisfied means more than just executing what you ask, competently and economically.”

Nontechnical clients are unlikely to comprehend the challenges engineers encounter in turning ideas into reality, he says. For example, your new website or app feature fits into an existing ecosystem, and “in the end, you’ll assess me by the influence my work has on the whole,” as the saying goes. Then there’s the fact that the client’s users’ experiences may differ significantly due to the fact that they work with different devices and use technology in different ways.

Clients may be attracted to the most recent development tools, such as frameworks, while developers may not be. “Yes, that new JavaScript library you read about makes the UI really pop,” Ceartas said, “but the one you’re already using can achieve almost the same thing without slowing down your site with another massive code download,” he said.

Yes, that four-tier cascading dropdown menu will let you access every page of your site from the main page, and it will look wonderful on your high-resolution laptop, but have you tried it on a phone?

Clients and managers who do not understand the technical aspects of a project must be worked with by programmers. “Sometimes the client and I don’t agree, and I either do it their way or abandon the project,” Ceartas explained. But it’s often possible to figure it out by focusing on what they enjoy about the technology they’ve come across.

This could be something along the lines of: “I believe I heard you remark that you enjoy the responsiveness of the code you discovered as an example. That’s a fantastic example to follow. I’d like to use that approach while simultaneously reducing page load time to improve the overall user experience.'”

Time and money problems

Working with firms who “don’t know what they want but it has to be available yesterday,” according to SoftwareMill Scala software engineer Bartomiej yliski, is difficult. There’s frequently a gap between what a client wants and what’s feasible in terms of budget, time, and resources.

What appears to be a simple task on paper may out to be too costly or time-consuming in practice. Even Nevertheless, strong communication might help clients who don’t fully comprehend the technical aspects of company ventures.

3. Context switching that breaks your momentum

Developers must manage a variety of responsibilities. Context switching in programming refers to the act of preserving and restoring the status of a thread or process so that it can be resumed later. “Context switching—it wears you out sometimes,” said Over-C CTO James Sugrue.

When things break “at inopportune times, like weekends or when you’re trying to relax, [or] when you’re minding your own business and you start worrying about some problem,” Sugrue added, context switching is required. Context flipping can be mitigated with simple but effective measures like keeping a balanced calendar.

4. You depend on technology, teams for success

While technology might make the life of a developer easier, it can also create obstacles. Dave Fecak, the creator of both Resume Raiders and the Philadelphia-area Java Users’ Group, laments the fact that he doesn’t have complete authority as a programmer. There are dependencies on tools, APIs, open-source products, and other people who have access to your code that he didn’t build.

“No matter how well you do, there’s always the possibility that someone else will mess it up,” Fecak said. Developmental technologies and procedures are both a blessing and a curse. Regardless of your programming skills, you must rely on a number of external elements that have an impact on projects.

5. You’re implementing someone else’s designs

Non-programmers may think of programmers as magicians, but they aren’t. Ankur Kumar, the inventor of Vedcraft, claimed that he despises programming since it requires him to implement “ideas created by others.” There can be a gap between what is conceivable on paper and what is possible in reality.

Working with clients that don’t understand or respect the technological constraints that engineers encounter makes things much more difficult. Working with other people’s code, especially legacy code, can be a real nuisance for developers.

6. Old coding practices that become the newest thing

Although programming has grown in popularity, it is by no means a novel concept. The way some historical code concepts reappear as fresh ideas irritates Mad Botter founder Michael Dominick.

“I enjoy software development in general, but one thing that has irritated me over the years is the presentation of ancient old concepts as spanking new.”

—Daniel Dominick

Functional programming, which has been present since the 1970s “but was just rediscovered by developers of my generation and younger,” Dominick said, has been a hot topic. It’s encouraging to see younger developers adopt older technologies, but “there’s also a lot of value in knowing the principles of where these approaches and technologies come from within their historical context,” he added.

7. Doing someone else’s job

It’s not uncommon for the work you do after signing your contract to diverge from the job description in some way. Doing someone else’s job, on the other hand, is a different thing.

Pam Selle, an Abstract software engineer, said, “I despise doing my manager’s job.” She’s seen managers delegate all organizing responsibilities to individual contributors rather than providing guidance on what each one should do.

“When managers manage, it allows me to work as an engineer, which is why I have my current employment.”

-Pam Selle

In most cases, a manager is in charge for a specific reason: to manage. Many individual contributors, on the other hand, are obliged to manage up or even do their manager’s work for them.

Employees don’t leave firms; they leave bosses, as the saying goes. Having to do your manager’s work on top of your own may lead to burnout in the long run.

This problem, according to Selle, has remedies. “As much as huge organizations are chastised for having a ‘Jira of Jiras,’ management figuring out how to have a steady flow of work coming down the pipe for engineers allows engineers to focus on the engineering and provide better results.”

Can you live with the downsides?

Programming remains an intriguing vocation due to the promise of high-paying wages and the fact that practically every firm is a software company, whether by design or not. However, development, like any other job, has its drawbacks.

Whether it’s working with clients who don’t understand technology, the hassles of implementing someone else’s (sometimes shoddy) designs, too much screen time, or poor management, something is bound to come up that makes coding appear less than ideal. It can, however, be a rewarding job decision if you’re ready to put up with a few annoyances and find ways to solve problems.

For more info:

Also Read: