Close Menu
  • Home
  • Articles
    • Attacks
      • BEC
      • Data Breach
      • DDoS
      • Evasion Attacks
      • Injection
      • Malware
      • MITM
      • Phishing
      • Ransomware
      • RCE
      • Social Engineering
      • Spoofing
      • Spyware
    • Business and Policy
      • BCP and DRP
      • GRC
      • Regulations
    • Data Protection
      • DLP
      • DRM
      • Encryption
      • IAM
    • Future, Trends and Insight
      • AI
      • Events & Community
      • Emerging Tech
      • Expert Panel
      • Interviews With Experts
      • Insights
      • Study & Research
    • Resources
      • Guides
      • Tools
      • Training & Education
    • Security
      • API
      • Apps
      • Cloud
      • Critical Infrastructure
      • Endpoint
      • Hardware
      • IoT
      • Mobile
      • Network
      • OT
      • Port Security
      • Security Architecture
      • Software Development
      • Supply Chain
      • Zero Trust
    • Threats and Vulnerabilities
      • Emerging Threats
      • Insider Threats
      • Risk Management
      • Threat Intelligence
      • Zero Day
  • News and Exclusives
    • Latest News
    • ISB Exclusive
    • Positive News
  • Who We Are
    • About Us
    • Information Security Buzz Expert Panel​
    • Write for Us
    • Media Pack
  • Contact Us
  • Newsletter
Facebook X (Twitter) LinkedIn
Facebook X (Twitter) LinkedIn
Information Security BuzzInformation Security Buzz
  • Home
  • Articles
    • Attacks
      • BEC
      • Data Breach
      • DDoS
      • Evasion Attacks
      • Injection
      • Malware
      • MITM
      • Phishing
      • Ransomware
      • RCE
      • Social Engineering
      • Spoofing
      • Spyware
    • Business and Policy
      • BCP and DRP
      • GRC
      • Regulations
    • Data Protection
      • DLP
      • DRM
      • Encryption
      • IAM
    • Future, Trends and Insight
      • AI
      • Events & Community
      • Emerging Tech
      • Expert Panel
      • Interviews With Experts
      • Insights
      • Study & Research
    • Resources
      • Guides
      • Tools
      • Training & Education
    • Security
      • API
      • Apps
      • Cloud
      • Critical Infrastructure
      • Endpoint
      • Hardware
      • IoT
      • Mobile
      • Network
      • OT
      • Port Security
      • Security Architecture
      • Software Development
      • Supply Chain
      • Zero Trust
    • Threats and Vulnerabilities
      • Emerging Threats
      • Insider Threats
      • Risk Management
      • Threat Intelligence
      • Zero Day
  • News and Exclusives
    • Latest News
    • ISB Exclusive
    • Positive News
  • Who We Are
    • About Us
    • Information Security Buzz Expert Panel​
    • Write for Us
    • Media Pack
  • Contact Us
  • Newsletter
Subscribe
Information Security BuzzInformation Security Buzz
Home - Articles - Address Decision Fatigue – Before It Turns Code Into Spaghetti
Articles

Address Decision Fatigue – Before It Turns Code Into Spaghetti

ISBuzz TeamBy ISBuzz TeamJuly 20, 2020Updated:March 4, 20235 Mins Read
Share LinkedIn Twitter Facebook Copy Link Email
binary code
Share
Facebook Twitter LinkedIn Email Copy Link
Quick AI Summary
ChatGPTClaudeGeminiGrokPerplexityDeepSeekCopilot

 Derek Lee Boire, Senior member of Technical Staff at VMware Pivotal Labs, highlights how pair programming can combat decision fatigue

Coding for at least eight hours a day, programmers are constantly faced with the need to make decisions. This can become exhausting. Today’s full-stack engineer could be dealing with different aspects of technology simultaneously. This could include using DevOps skills to orchestrate a continuous integration (CI) and continuous delivery (CD) pipeline, or programming in different languages, depending on the client and server technologies being used. Some may also be working in programming languages, such as object-oriented or functional programming, which have varying paradigms. 

With each task comes a different set of questions. Do we start to build this feature from the outside (user interface, or front end) and work our way in (towards the back end), or do we work from the inside out? Do we use a third-party library to implement this feature or do we write the code ourselves? How should we refactor this code? How do we automate this process? The list of questions goes on. 

With this endless need to make decisions, and hours on end of coding, developers may find themselves leaning towards the option that presents the least amount of friction. They may also end up looking at certain aspects of a decision in a limited way, or maybe even avoid making a choice entirely. This is referred to as decision fatigue. If not tackled early, it can lead to the phenomenon of ‘spaghetti code’ – code that is difficult to follow and understand, and can later become impossible to untangle. 

Can decision fatigue be avoided?

There is really no avoiding decision fatigue – but we can put our efforts towards making the best use of our mental energy. This is where programming in pairs becomes very helpful. Pair programming helps by sharing the load of decision making between two people. Proactive communication within the pair and within a team can help everyone to get on the same page.

Regardless of how the decision goes, pair programming is one of the many ways that engineers can get immediate, real-time feedback on the code that they are writing. This is in stark contrast to performing a code review where the reviewer doesn’t always have access to the thought process that went into writing the code. This is similar to seeing a finished video on YouTube, an artist’s performance, or a published book – consumers don’t have visibility into the process that contributed to the final product.

Pair programming ideally leads to less decision fatigue as both members of the pair can work together to support each other, make higher quality decisions, and come to those conclusions quicker than by oneself.

In some cases, the duo may encounter situations where they feel it would be better to involve the entire team. In this case, they can gather all of the engineers together to discuss different topics such as how to design a solution to a specific technical challenge, ensuring consistency with code style, or any other topics that would benefit from communicating with everyone in the group. The diversity of skills, backgrounds, and experiences that a team brings ensures robust solutions to any recurring problems. It is also very important for the pair to remind each other to take breaks – especially when one of them is too engrossed in their work to remember!

Has remote working during this pandemic led to an increase in decision fatigue?   

Ideally, working remotely while pair programming should not have a negative impact on decision fatigue – assuming that both members of the pair are actively communicating and engaged in the work that is being done. Regardless of pair programming or not, the reality is that working remotely itself can be challenging for a number of reasons, and when people are not actively engaged in pairing when working in person or remotely, then teams may see an increase in decision fatigue and lose the benefits of pairing. 

Many people tout the benefits of remote work, and certainly there are a lot of them: flexibility, no commute, comfort of working from home, and so forth. However, without a proper working environment and equipment, working from home can be difficult or uncomfortable for many. In particular it can be difficult for people to get their mind off work and can also inhibit the ability to build relationships within teams. These opportunities are either completely lost when working remotely, or they take a lot more effort to create.

This is where the values of extreme programming (XP) become increasingly relevant: communication, feedback, simplicity, courage, and respect. Working remotely makes practicing these values more difficult, as it limits the ability to interact with your teammates compared to in-person interactions. Therefore, it’s even more important that team members consciously consider these values when interacting with teammates.

As many continue to work remotely, my advice to other developers would be to preserve mental energy for decisions that really matter – such as how to design or test a new feature, or how to refactor an existing feature – and expend less energy on less important decisions that engineers are faced with daily. Some processes can also be automated, so engineers don’t even have to worry about the overhead of re-making decisions. Automation can be something simple as consistent code formatting, or it can be something more complicated like writing a script for a repetitive task. Automation codifies decisions so they don’t have to be made a second time, ensuring that the processes are executed consistently, and makes them discoverable by other members of your team. 

Decision fatigue is an issue faced by all engineers across the board. However, by ensuring regular communication and mindful working, this issue can be overcome. This allows developers to express themselves articulately in beautiful code – avoiding the alternate of cryptic and brittle spaghetti code.

ISBuzz Team
  • ISBuzz Team
    Air Canada Data Breach: BianLian Extortion Group Claims A Massive Heist Contrary To Airline’s Earlier Statement
  • ISBuzz Team
    Unprecedented DDoS Attack Rocks The Web: Tech Giants Reveal A Digital Tsunami
  • ISBuzz Team
    CISA Flags High-Severity Adobe Acrobat Reader Flaw Amid Active Exploits
  • ISBuzz Team
    Curl Security Alert: Patching A Critical Bug Averting Potential Cyber Catastrophe

The opinions expressed in this post belong to the individual contributors and do not necessarily reflect the views of Information Security Buzz.

Share. Facebook Twitter LinkedIn Email Copy Link

Related Posts

The Real Cost of Inconsistent Third-Party Access

December 18, 20255 Mins Read

What Happens When Devices Cross Borders? The Role of Geofencing in Global IT

August 7, 20256 Mins Read

The Evolving Importance of Identity Governance in FinTech

July 10, 20258 Mins Read
ISB-Bora-Side-Bar

No se ha podido establecer conexión. Error 429

 
ISB-Bora-Side-Bar
Black ISB Logo

Information Security Buzz is an independent resource that provides the experts’ comments, analysis, and opinion on the latest Cybersecurity news and topics

X (Twitter) LinkedIn Facebook RSS

Working With Us

  • About Us
  • Advertise With Us
  • Contact Us

Write For Us

  • How To Contribute

The Pages

  • Privacy Policy
  • Cookie Policy
  • AI Policy
  • Terms & Conditions
  • Copyright Notice

Information Security Buzz and all its contents are copyright © 2014-2025. All rights reserved. All third-party trademarks are recognized.

Type above and press Enter to search. Press Esc to cancel.

Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
View preferences
  • {title}
  • {title}
  • {title}