Reputation Management
Justin Colangelo
by Justin Colangelo
share this
?fl
« Back to the Blog

The Science of Being Overwhelmed

01/07/2016
The Science of Being Overwhelmed

Or is it the signs of being overwhelmed?

In the past few months a lot has happened. We launched so many ski sites. I don't even know the number of sites we have launched even though I have worked on each one. These projects are not small either.
At least 5 websites in just a few months time have been brought live in time for ski season. For a developer that means 5 instances of Visual Studio (or your favorite editors) are open at the same time, at all times.
Wait, there are also other sites we maintain after launch from the past 3 years or more. In my case, there are at least 4 more instances of Visual Studio open at the same time, bringing that total to 9+.

How do we keep track? I can use a title changer to make the applications show me what project I am about to click on from the task bar. There's a bit of relief.
There's not only 9 instances of Visual Studio, but 2 web browser tabs per site open as well. Did I make a copy of the latest database to develop locally?
Did I merge my changes in source control yet, and is my coworker's change going to cause a merge conflict that could take up 15 - 30 minutes of my time because the .csproj file is so fun?

Our issue tracker just assigned me 12 things to do spanning 5 projects, as well as assigning 2 other projects (starting in a week) to me, and the current projects aren't finished. 
Desktop notifications told me that, and my phone, and my email, and my instant messenger program, and multiple humans.

I'm in a technology loop.

This is just work. What else happens outside of work that could make the previous examples worse?
In this short time of building these sites, my daughter has potty trained, moved out of the crib, and become a toddler with toddler things happening.We welcomed another daughter. A close friend has been diagnosed with brain cancer. My physical and mental health has deteriorated.

Around Thanksgiving, I thought I would visit my friend again because he was given a short time to live. I thought, "Let me get some work done first and we'll go down there in the morning."
The night before we were set to visit, I received a phone call from my dad that it was over.

The week before Christmas, I became very ill and later found out it was an ulcer. This can be fixed by a good diet and a little bit of medication temporarily. Will it come back? What caused it? Stress? Poor diet?

Here's a typical day for someone in a similar situation:

    public void Main()
    {
        while (true)
        {
            Thread.Sleep(2000);
            CheckForNotifications(12);
        }
        if (!DidNotSleep)
        {
            WakeUp();
        }
        if (!GetKidsReady() || DidNotSleep)
        {
            EatFood();
        }
        GoToWork();
        Work();
        GoHome();
        GetKidsReady();
        EatFood();
        Work();
        SleepTime();
    }

This is how it looks on the outside to anyone. Our lives can seem somewhat simple when you break it up into these items. This is how we simplify things for clients.
Our sites are easily updatable by clients. All that they see is the simple part of what we do. What is really going on can be messy. Let's take a look at the whole thing.

    class Day
    {
        public bool Overwhelmed;
        public bool DidNotSleep;
    
        public void Main()
        {
            while (true)
            {
                Thread.Sleep(2000);
                CheckForNotifications(12);
            }
            if (!DidNotSleep)
            {
                WakeUp();
            }
            if (!GetKidsReady() || DidNotSleep)
            {
                EatFood();
            }
            DriveToAndFromWork();
            Work();
            DriveToAndFromWork();
            GetKidsReady();
            EatFood();
            Work();
            SleepTime();
        }
    
        public void WakeUp()
        {
            if (DateTime.Now() > DateTime.Now().Date.AddHours(6))
            {
                Overwhelmed = false;
            }
            else
            {
                Overwhelmed = true;
            }
        }
    
        public void SleepTime()
        {
            // have I been looking at the computer for 14 hours today
            // is that one of our children crying and awake again
            // did I eat the wrong thing
            // what do I have to do in the morning for work
            // should I just go do it now
            // are the bills paid
            // what are we doing this weekend
            // am I really thinking about another javascript library
            // I want to build a game in my spare time
            // I want to spend more time with family in my spare time
            // I want to play and record music in my spare time
            // did I learn the cello yet
            DidNotSleep = true;
        }
    
        public bool GetKidsReady()
        {
            bool childDoesNotWantToGetDressed = true;
            bool childDoesNotWantToEat = true;
            bool childDoesNotWantToRememberPottyTraining = true;
            bool childDoesNotWantToDoAnythingButCry = true;
            bool childWokeUpHappy = false;
            if (childWokeUpHappy)
            {
                OverWhelmed = false;
            }
            else if (childDoesNotWantToGetDressed || childDoesNotWantToDoAnythingButCry || childDoesNotWantToEat ||
                childDoesNotWantToRememberPottyTraining)
            {
                OverWhelmed = true;
            }
        }
    
        public void EatFood()
        {
            // is it part of my diet
            // do I have time
            // will we eat together as a family
            // do I even want to talk about my day
            Overwhelmed = true;
        }
    
        public void DriveToAndFromWork()
        {
            // drive to work
            // enjoy music for 20 minutes
            // breathe
            Overwhelmed = false;
        }
    
        public void Work()
        {
            // what project has priority right now
            // is VS going to crash again when I try to publish
            // are we really going to talk about another javascript library
            // are we really going to talk about another c# library
            // will an old site have issues
            // will I eat my meal at my desk or enjoy it
            // will someone have something for me to do during my meal if I'm at my desk
            // is there a meeting
            // did I bill hours
            // do I have email
            // why is the internet so slow right now
            // how do I right click in Remote Desktop with a trackpad on a Macintosh Apple
            // is that a phone call from a client directly to me
            // do I have to redo something
            Overwhelmed = true;
        }
    
        private void CheckForNotifications(int notifications)
        {
            // is there a new javascript library out
            // is there a new c# library out
            // did iOS update
            // did Xcode update
            // should I learn Android development
            // did I mail that
            // are the kids ok
            // is the family ok
            // did I eat today
            // vitamins
            // am I assigned anything urgent
            // should I take a few minutes to myself
            if (notifications < 4)
            {
                Overwhelmed = false;
            }
            else
            {
                Overwhelmed = true;
            }
        }
    }

As you can see, it's complicated. It can be overwhelming. It's not just one person's life. This applies to lots of people, not just developers.
How does a developer keep up with the latest technology? How do I divide my time between all of these things?

    Overwhelmed = true;

Relax.
 

Thanks!

Thank you for contacting us!

We'll be in touch!

Back Home ×