Skip to main content

Is Over-Analyzing Just an Opportunity to Avoid Grit?

Recently, I ordered a used cellular phone off E-Bay, the LG G3. My current phone, a Samsung Galaxy S3, is running rather sluggish and given it’s age, I’ve been considering an upgrade. I’ve been putting it off for some time though, because when I make a purchase like this (one I expect to last for years) I go into heavy research mode. Ideally I would line up all the current phones, compare their specs, read reviews, make a list of my requirements and on and on. To my credit, this method tends to work fairly well, at least regarding this particular type of goal, of purchasing a product that I’ll be satisfied with for some time.

My purchase ended up being induced by reading an article online that had a table comparing pixel density on various LCD screens. This included computer monitors, televisions and even mobile phones. Despite a 5k monitor on the list (what the article was actually about), the LG G3 ranked at the top for PPI. For whatever reason, I immediately became interested, did some quick searching on prices and decided I was going to buy it. I read no reviews, just looked at average review score and made sure it had a few important features. The price was in my range for one on eBay, including a wireless charger, and I snagged it. I feel I largely didn’t go the extensive research route out of impatience. I felt the “ideal” route would simply never happen because of the amount of time involved so I just moved forward and hoped for the best.

Later on in the day, I was researching strategies on becoming a morning person. I ended up running across an app called Sleep Cycle. The app is designed to wake you up during a period of light sleep within a 30 minute time window you designate. It does this by having the user place it on their bed and then records their movement with the accelerometer throughout the night. It can then determine the user’s sleep phase based on the amount of movement they create while asleep.

Hours after I made the cell phone purchase, I remembered the sleep cycle app. I remembered that I had purchased a phone that came with a wireless charger. I remember that Sleep Cycle would require me to keep my phone plugged in while on my bed, placing a wireless charger on my bed wouldn’t work. Now, had I thought of this earlier, I would have likely held back. I quite possibly might have canceled the whole idea. “Well something may not work out so I better hold off.” And with that, also would follow no plan for future investigations and I would be right back where I started.

Looking at the “problem” now though, doesn’t feel quite so bad. Perhaps the app won’t even work for me. Maybe I’ll just use a cable charger at home and the wireless at work. Maybe I’ll just use an old cell phone instead. I know this is a rather simple first world problem, but the solutions listed are in a way a mild form of “grit,” of getting the job done and doing what it takes. Maybe I’ll have to use a cable instead of the wireless at home, woe is me. Maybe I’ll have to put up with configuring a second phone, oh well.

At the instance I realized that my potential “problem” had solutions, it struck me, is over analyzing (or perhaps, perfectionism), simply an attempt to avoid all use of grit? That is, to try and avoid a situation in which follow-up action may be necessary because the result wasn’t perfect. Granted we generally don’t want to take on extra work just for the sake of extra work. If excess effort can be foreseen, most people will adjust their plans to avoid it, as I would have done here. Perhaps though, there’s a threshold, where you accept uncertainty and move forward with what is an appropriate “bet.” The follow through I feel, is in invoking that grit when it becomes necessary, when things don’t turn out as hoped. If we instead give up, it just reinforces the analysis paralysis habit. “Things didn’t go perfectly, so next time, I’ll be sure to research more and have 20/20 foresight before taking a step forward.” When the uncertainty then becomes overwhelming on a particular endeavour (perhaps a business venture), we clam up entirely and don’t even move forward as that perfect level of knowledge simply isn’t reachable.

What if the result wasn’t just success or failure but progress? The grit avoidance mindset promotes the former. If the original plans didn’t work out, that just means you didn’t plan hard enough and it’s time to throw in the towel. You already failed before you even took action, you failed to know everything perfectly. That’s in the past and now you’re done. The grit mindset though says I’m only failing as long as I don’t move forward. What tricks can I pull out of my magic hat to make this work? What new innovative thing can I do to solve this problem? Are there things outside my comfort zone that could help? Can I push through the discomfort to talk to that person that I feel unqualified to talk to? To make those cold calls that are oh so awkward?

By demanding perfect information up front. We can avoid grit at all cost. The tough situations where grit is required will simply never happen. If they do happen, we can just blame our early self for not seeing it coming and then strengthen our grit avoidance for the future.

I have a tendency to avoid grit because it is out of my comfort zone (I suppose that is by definition). If I had to bring about a solution to a problem, and I was completely comfortable with that solution, I would say that it didn’t require any grit, even if a lot of effort was required. Now, let’s go full circle back to analyzing. Let’s say I’ve done everything I can trying to find a solution. If I can see the next steps, and they make me queasy, it’s time to go back to the research table. Maybe if I do another 20 Google searches, I’ll find a route that is comfortable. Clearly the lack of comfort is a sign that it’s an unsafe route to go down and too prone to risk. I must go back and research more and more, that is safe, that is comfortable.

Through reading and various life experiences, I’ve come to accept that in order to reach my goals (not just goals, but dreams), I must make risky, uncertain and uncomfortable decisions. I will then have to accept that the outcome of these decisions will certainly not be perfect and I will have to deal with the situations accordingly in order to progress, not pull back. Also, I must maintain a reasonable balance of analyzing along with action. Not be the guy who “doesn’t do his homework” but knowing when to call it quits on the research and push through.


Popular posts from this blog

Fancy FTP Deployment with Grunt

I recently dove into Grunt.js at work for automating our build process and I haven’t looked back. It’s an awesome tool with a plug-in for just about anything. I expected the usual would be there like JavaScript minification and concatenation, but I was surprised at a few others that I found, one being for FTP file deployment. Just shows how popular and community supported Grunt is.

There are a few FTP plug-ins available for Grunt. I didn’t do an analysis of all of them but ran across grunt-ftp-push which seemed to do what I needed so I decided to try it out. A simple ftp-push setup to upload an entire project via FTP could look like this:

Some details here: I opted to put the username and password in the main config rather than using an .ftpauth file. The …

Accessing other HTTP servers on Cloud 9 IDE

If you're using Cloud 9 to do development, you'll quickly realize that only ports 8080 through 8082 are available to the outside world from your development box. This is generally not an issue as you can set your application to bind to the $PORT environment variable when in development mode. However, there are sometimes other servers that we want to make use of that host on different default ports.

I recently had to setup a Neo4j server which defaults the admin interface of port 7474. Unfortunately, I could not access the admin interface even through the IDE based web browser window. So, what to do? I could change the default server settings so that it runs on a different port. However, the app I'm working on with a team has 7474 hard-coded and I currently don't feel like writing a local only work-around.

After some searching, I ran across a neat Linux tool called socat. This allows us to easily forward one port to another. After a quick install via apt-get, I ran the …

Moving to Babel 6 on the Server

Cross post from my employer's development blog:

Decided it was time to upgrade my server-side code to run on Babel 6. Below is a synopsis of all the issues I ran into and resolved while upgrading my 0.11.3 SailsJS server to run with Babel 6 transpilation.

The upgrade to Babel 6 itself is easily achieved in Sails by upgrading the `sails-hook-babel` package.

### Missing preset
`couldn't find preset "stage-0" relative to directory`
Just because a preset is on the official Babel preset page, doesn’t mean that Babel comes with it. Simple fix by installing the [package][1] from npm. Read more [here][2].

### Need strict mode everywhere
`Block-scoped declarations (let, const, function, class) not yet supported outside strict mode`
I didn’t have to worry about this before, and I don’t feel like …