# How GitHub Copilot X can have a positive impact on a developers mental health

> Disclaimer: This is not a study, but rather a personal take from a developer's perspective. If you are in a position to conduct the study sign me up

There is a factor to software development that is hard to grasp, but it explains a state of fatigue after a good day's coding, and an increased need for focus time compared to other jobs. I am talking about "mental load". The concept of the mental load has been recently re-popularized in [feminism](https://www.theguardian.com/world/2017/may/26/gender-wars-household-chores-comic), but very much applies to coding as well. The mental load is the **cognitive burden** of managing, organizing, and remembering various responsibilities and tasks in one's daily life, or in our case, in one's workday.

When you are in the process of coding, there are many factors you need to keep in mind.

\-Does my code meet all **requirements**?

\-Are there **dependencies** I need to accompany or avoid?

\-Am I getting into a dependency **hell**?

\-Is my code **fast** enough?

\-Is it **secure**?

\-Do I handle all possible **exceptions**?

\-Do I have enough **logging**, and is my logging **meaningful** enough?

\-Does my code **run** where it needs to?

\-Will the next person be able to **read** it?

\-Will the next person be able to **change** it?

\-Do I provide sufficient **documentation**?

\-Do I apply all required coding **standards**?

\-Do I keep up with the **bureaucracy** surrounding the project?

<mark>Mental load affects software engineers by potentially increasing stress, reducing productivity, and impairing decision-making abilities, as they must continually manage, organize, and remember diverse tasks, including writing and debugging code, meeting deadlines, collaborating with team members, staying updated with the latest technologies, and managing personal responsibilities. If not managed effectively, an excessive mental load might lead to burnout, decreased job satisfaction, and even adverse effects on their overall well-being.</mark>

Coding requires **creativity**. After all, we are **painting pictures**, not with colors and brushes on a canvas, but with text on an **idea**. Nothing **kills** creativity as well as **pressure**. A task at hand might not look like much, but the surrounding architecture of people, ideas, **stakeholders**, bureaucracy, external change and dependencies is often **overlooked**. When every single letter in your code can break the whole project, every second of focus becomes **invaluable**.

Adding **logging** to a codebase with 10s or 100s of methods is not a creative task, it is a **boring** one. Adding **documentation** in a code file is not fun, it's **exhausting**. **Refactoring** code to adhere to certain standards will make the team happy in the long run but takes the thought process away from where a developer's mind is best used from a "return on time invested (**ROTI**)" perspective. Having to **stress** about the **big picture** of error handling while you might rather redesign the dataflow. Implementing code that might as well be just a repository or **StackOverflow** search away is **not challenging**.

This is where a **co-developer** can take at least some burdens off the shoulders of a software engineer, and since software developers are rare everywhere, the more tedious tasks might as well be done by an **AI**.

Coding Assistants like GitHub Copilot can have a **positive** impact here, not only on the product itself but on the **human** behind it as well.
