Copyright © 2014-2017 Software Developer Life Blog - All Rights Reserved.
Subscribe to Software Developer Life Blog
Search Articles Of My Blog

2015-11-20

It is easy to overestimate or overlook at the big picture of things

This article will be short and brief, but it will make a very strong point & the future direction of this blog.

Why we lock ourselves into problems

My past articles expressed some stuff, but they didn't talk about the context and situation that I have been. In addition, I have only observed that I just stated a problem & solution but did not give a final execution to that end. To illustrate, look at what I have expressed so far in my last previous blogs. I think many would have lead to the same direction: Blurting out something that you feel unacceptable or wrong (which may have some seasoning flavor on some points), but stopping there intermittently there and doing what you always are usually doing. And that is the problem: The reason we ended up being in a problem in the first place is usually doing what we are already doing and we will endlessly like an infinity loop have this unchanged problem in our minds. We expect by doing the same stuff like we used to before will change things if we keep looping in our heads the problem in our mind. I guess it fits to quote Albert Einstein popular quote "Insanity: doing the same thing over and over again and expecting different results". And most people may not be by nature insane, but become temporary out of their minds, if they think keeping their daily routine jobs will solve an existing problem the more they worry or express about it. When we only focus specializing doing what we actually routinely do, it becomes a sense a part of our identity and capacity. In other words, we are creating a tunnel vision to ourselves.

Changing routine is not consistent, but we must have to

The problem why people lock into problems is because universally we want an environment where everything is standardized, consistent, within our budgets, etc. You do not expect employee A to do out of his routine tasks in month of December when he did his routine tasks in the month of November because you allocated all the production development to be done on employee A. But thinking in such terms of consistency and standardization is counter intuitive in situations.

Example

 
To illustrate the problem, there were points that I found things could be done better or there were existing barriers of communication or sharing knowledge in my environment due to a very competitive environment in one of my working environments. These requires skills that you need to be more communicative to people, more leadership and managerial aspect of coordinating the people to add the best value to the organization, more retaining staff and keeping happy, and so on. In other words, you need more time allocated to spend on leadership or visionary skills instead of development work. However, like I said before in my previous blog, we were running out of people for maintaining and improving technology X. So I had no other choice but to spend 90% of development and 10% of leadership/visualization because I had no other choice to keep the technology X still running. In other words, I was still doing what I was already doing. However, I self deluded that I was not. You see, the brain can self delude itself when it thinks things that do not exist in the first place. To illustrate, a person that is a big fan of a baseball star with a high RBI, may attach himself and feel he is already that baseball star without putting his own effort self to see the perils and injuries of a real baseball player. Self deluding ourselves is very easy and it starts thinking of problems everyday without doing any action about it. The thing is it is not enough to think of a problem and already having a solution or best tactic to get away for it, but also have the time to allocate on getting rid of that problem as quickly as possible. Keeping a problem to ourselves, may delude myself that I am doing leadership 50% and developing 50%. But that is not the case, that if that was "actually" true, the technology X I was working (as most of the team working on that left) would have been sinking already and the direct stakeholders I worked with would already tried to find alternative solutions. So what was the solution for my end? My solution is different compared to others as it is based on situation. I would had to stop worrying about the existing problem and focus only on developing stuff because there is not enough resources to maintain technology X. I could say, "yes I want to talk about the problems that worry me and I am the only one that knows most what troubles me, but if I can't dedicate 50% instead of 10%, then that will not be enough to self align myself and others on how to approach eradicating the problem, it will instead aggravate it more". At the same token, I started to under appreciate my development work. I always feel like everyday I am doing small victories, but given the  limited resources of our team and little support we had, regardless whether technology X is the correct approach or not, based on just that capacity, the context of work behind technology X was kind of astounding. So others may perceive I am doing nothing because I act or feel like I do nothing, but in actuality, I did a lot of stuff and should take just a break for only that matter. If there were more people already in my team, then I would have reconsider to spend more time allocating the things I feel worried about. So there is 2 ways to solve the problem: If you have the capacity then solve it. If you don't then outweigh the sacrifices you have to make and weight the benefits over the costs. If the costs are too much, then you have to accept that the problem is not so important over what you are already doing and you have to set it in lower priority. For me, I had to think: If I really want to change something, I really have to change my routine. Is it worth it? For now it is not. However, can I do later? Yes, once things are 1. more automated 2. I remove most of the technical debt/refactoring 3. Stakeholders do most of the development stuff - then I can focus less on the development. However, there is still a long road to reach there before I reach to that destination. At the same time, I am not sure if my development is really productive as I don't have someone else on my shoulder that has a second non-bias opinion whether technology X is viable and what things or practices we are missing that we can optimize technology X to be faster. It is a risk that I took the plunge ever since I focused working development on technology X for more than a year, my routine daily job that took 90% of my time everyday.


From the above example, we can make conclusions that

1. Management worried when employees are not doing consistent work

There is a problem that management will not understand what an employee does when he shifts direction if he has the capacity to. There should be no worries if he dedicates a lot of time and does not make a huge deficit impact on the assets he currently develops. However, worries should arise if he only spends 10% of the time on it because it is easy to self-delude ourselves and our management that we spend or act like we put much effort on it.

I have to add that management 
  • Cares with mediocrity people who only do routine stuff
  • Prides with people that besides finding a problem and a solution, executes it and eradicates the problem as soon as possible
  • Does not tolerate people who: Do nothing or change routines without solving problems and instead aggravating problems by being self deluded to themselves
This is just a rule of thumb, but in most organizations its sensible that mostly this is how things are approached. The point is if there is a problem you think that exists in the organization, I still support that there is no point of leaving a company due to that, as from past experience and from patterns I have seen, most likely, all companies face the same trivial problems everywhere.

The point is tackle the problems, but tackle the problems only if you are capable of and understand currently your needs, skills and mindsets within it. The only sensible reason to leave an organization may be if you have strong ideologies or skills that you think it does not fit within this organization, but fits in another organization that you want to work for. Or that the organization is substandard to other organizations on making employees happy, work productively, and doing something ethical or helpful to the world. Even if those are the main reasons for leaving a company, evaluate and give it a try on changing the company before making assumptions. In addition, your expectations how other companies are better than your current company may be an overestimation, so its better to evaluate yourself on such matters more better.


2. Before changing routine, weight the benefits over the costs

Do not plunge in unless you are sure what you are doing. If you don't know what you are going through, its better to just cross the bridge they give you instead of swimming underwater because once you want to solve a problem, your aim is to eradicate it as fast as possible, not aggravate it on, because that will also sink yourself into it too.


3. Remember that you are changing yourself, your "me" and you will not be ready from day one


Changing yourself on stuff you never tried before has two implications: One is that you are changing your own identity and that translates to making some of your habits/brain muscles weaker as a substitute on creating stronger habits/brain muscles on other matters on your identity. There will be a strong conflict on yourself when you are used to do things only in a certain way. The other thing is your expectations cannot be the same as you used to before. When you allocate skills A and B to weight 50% and you score 100 on A and 0 on B, your performance is actually 50 and not 100. However, we expect that we should be treated or be in the grades of 100 when we are on the grades of 50. It seems changing roles in ourselves always means we can have the same pride, responsibility, and ownership as we used to the same day as before. However, that cannot be the case and we have to align our external environment in lower expectations of "me" to us and others than we used to before because we take a plunge on a transition, not on something we actually already are. We have to know and identify that our skills on B is to how much time we spend on skill B "actually" instead of imagining or stretching that percent number to 50% (when in actuality is just 10%).


4. Consider the problem in terms of priority: "Do it" OR "Archive it".


The final point is after you find the problem, you have to figure what you will do about it in the end. Whether it will be your first or second priority. Because there are other problems that you may have overlooked easily: our own self routine. Our own self routine is already solving a problem. So do we have time or space on solving a second problem realistically by allocating enough time on it? If not, then just forget it, because the more you think about it, the more you think you are already doing something about the problem, which in the first place, you do not. When archiving or ignoring a problem, make sure you make it transparent to yourself and others why you archive that problem and why that problem is less important than what you are currently solving, and whether there are any plans on the future on solving this problem (because obviously there are a lot of stakeholders affected by this problem).


Conclusion

So now I hope you all guys know how easy it is to overestimate or overlook at the big picture of things. I, myself, admittedly, became a victim out of it. But hey, I am bringing you my journey with you so you may not fall in the same trap as me.

From my previous blogs, it is admittedly right that one of the lessons I learned is that you have to think about the problems of a company very early and try to find a solution instead of just blaming it and then leaving a company. It is better to stay unless the company is substandard to the average company.

The second lesson to learn from this blog post is that having a problem and solution is not enough, it is also to see the existing problems you are already solving. You have to see which is more a priority to solve right now and how can you change the priority of plans for later. It is also important to not delude ourselves on the trap by being obsessed with a problem we don't put much effort as that only aggravates it. Instead, we should see ourselves how we can eradicate the problem as fast as possible.


How we overestimate or overlook stuff is by locking ourselves in a problem instead of executing it and be done with it. By locking in a problem without putting much effort into it, we self delude ourselves, we overestimate and overlook how things are, expecting we are doing something tangible when in fact we do not. In order to get out of the lock, out of the misconceptions, we have to also look our own perspective as well. Everyday in our lives we do something, we solve problems. We have to see and evaluate whether the things we do today are the most important problems we can solve based on our capacity. If it is, then we have to admit that this problem is not so big or beyond our means to able to tackle to it at this moment . We have to self-prioritize that problem by setting a plan for how it will be easier to tackle for it later - in a sense that it does not aggravate us anymore. If it is a problem that we are able to tackle ourselves, then we have to make the transition on allocating enough time to solve the problem and align our external expectations with our current skills. To keep focused on your goal, keep in mind that you are only doing progress the more the problem gets eradicated as compared to still float abound.