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

2015-04-12

Short Snapshot #4: Advice from the best professional engineers

4 years ago, as a side project, I was doing around a dozen of interviews to technology professionals. Most didn't stood out to me at that time as special. However, one that I ignored 4 years ago now gave me the full focus and attention and see things in a different perspective.

At that time, there were so many cloud technologies, you wouldn't know which one is the one that will blink or be a fad in the end. The interviewee told me that he worked in the cloud infrastructure and I didn't know much what it was about at that time. Now that I am more familiar with that technology, I can see his words resonate me more than it did before. In summary, interviewee first job on 2006 was on EC2 Amazon Web Services and moved his career the ladder up to do more cooler cloud architecture designs for Amazon. How more cooler can that be?

In any case, he gave some word of advice that most professional engineers could resonate to them at some point of life or its their boiler plate of life that they will babble everyday as the word advice to new comers who join in the IT industry. Regardless of who you are, here are the three advices I think any IT professional should take a look at:

1. Being blunt and to communicate a lot of necessary changes will not always bring benefits to the company

Solution: Tact, diplomacy, giving up is better ways to sell your original idea.

Analysis: Now who can imagine that giving up or leaving your job will really sell your original idea? Now, jokes aside, if you really care about your original idea more than staying on the work culture you are working on and you have some back up plan to cover yourself financially (and if not, and if that is one of the reasons with the highest weight you still retain the job, some companies counter offer a resignation in the so term called "parachutes"), then selling your original idea by moving to another department or leaving the company completely really works out. I have seen people that were really upset about me and I couldn't see the vision of theirs too much until the bridges got really cut off. Their advice was not lost in ruin, its a perspective (but not my own and my strongest preference) that I still keep in mind. At the same token, I have been very upset with my previous organization I worked that they could not see that visibility of the problems they had that my only option was to not waste more time on it and focus my time on better opportunities.

Now, you see, the real reason I would leave a job is not because I am demotivated but if there is any potential or support
that you can tap from your work load. In my organizational behavior classes, what stood out to me the most is the survey that found out that managers being innovative and supportive bring workers more productivity while adding more value to the business than being autocratic. That is because the latter brings a centralized environment while the first two positive traits bring a decentralized environment where people have the power to be initiative and self-taught, two important traits, that are the prerequisites to get high end quality developers, that you will never find in your company if most of the employees are treated in a centralized way for whatever bias reasons management has chosen to do so. Now the nice thing is that when you work in a big organization is that a lot of people may not like you, but a lot of people like you. So unlike small organizations where there is higher chance to be in a dead end, big organizations have more ample space to still stay away (=give up) from a territory you don't like while still working in the same company but within a different territory. However, in order to do that, you must have tact and diplomacy and be decisive on which other options you can do while working on the same company. We can call it here how finesse you are to avoid dodging the bullets. If your original idea or reasons really can float above the water, your rivals will see it as a competitive advantage that they must also incorporate into their business regime.

And the story of the point is? Most people only see a side or part of the puzzle of the whole truth. They cannot see the whole part of the truth even on the context of their own organization, especially if its big, because they have not associated with all the stakeholders that people work there to the point of having the big picture. For those reasons, some people may think others are demotivated when they are not because they cannot see the full visibility how the whole structure of the organization works or others think that they are on the top when they cannot see the deficiencies others can point out easily on them.

The whole point of this blog is to express a part of truth based on my own perspectives. There may be other parts of truth that have a different perspective that they are more sensitive on it based on their habits or cognitive mindset, and I appreciate those perspectives as much as my own perspective I have in mind. However, in order all perspectives to work out, they need to be integrated, but before they are integrated, they must be first expressed in a constructive way which asserts also opinions of others that contradict our own point of view.

However, let me explain that leaving is not the complete solution. Here we go the game of whether I should choose the path of suffering or the path of patience. This is all about how mental networks are integrated into our mind and I need to devote a whole section in it here in order to elaborate.

I have seen that many people may have left countries to really learn experiences from other countries, yet they still have not left behind their past. Let me explain examples: people leaving X country to work in Y country but still interact most of the time in Y country with people associated to the culture and language of X country. Its where some habits changed in order to get the real goal they wanted to aim, but their motivations still remain the same. Some people who are in Y country, but lived in X country, X governments offer some mental networks to associate themselves still with X country no matter what. Some examples is the United States reminding expats to file taxes for them every year. There are other X countries that create a culture that you feel incentive going back because that is the perceptions they created about their health services or the currency is strong and many other thousand reasons that you can bottle up. So far, I discussed the effect and tactics to assimilate your status to X country when in reality you live in Y country. But beyond that, when people move out to another country to work for, most of the time is so they can get a higher pay salary. If that is the case, they are not leaving there for the purposes of learning a new culture and its history, but they are there to just to emulate the presence of X country in Y country. That is really effective in countries that have a lot of races and cultures as there is enough resources to be able to emulate that. Now, you do not see the opposite too much, but you can see it. Americans or other English speaking nations go for instance to China or other Asian country to teach English. Unless you are moving abroad to another country to limit the expense costs, people who move to other nations like the examples before go there to learn new experiences and not to assimilate anymore with the countries they lived in the past. Money is not the real motivation our habits change and it will still keep us stagnated to able to see other perspectives beyond our culture, which is is usually focused on only one or two cognitive modules or patterns of thinking. Even when they claim they have those external technical skills, the way those skills they use or associate is limited to the cognitive mindset they learned from their culture. It is kind of true that who you are is the 5 people you interact the most, so its good to have variety in life, to have a more big perspective how all things work around.

Now the above paragraph, why is it called the path of suffering? I do not see suffering either, but there is, as you will see, for most expats, this will not work for them in the long term. In contrast, accepting different cultures and views from others will be more important for them in the long run.

This is how the path of suffering works. Lets take the example of being fat and the goal is to avoid eating food that have fat. Most people response to combat the resistance of eating fat food is to stay away from places that have fat food or someone else do their shopping and cooking for them, of all things in the shopping list there should not be any chocolate, as what its in the house, it will be gone and that will be coming from me. We can add more examples but the whole point or moral of this story is that they try to learn have a healthy diet by avoiding away fat food because it triggers the mental network that the food is nice and they must eat it. However, they do not learn the motivation why they should avoid eating fat food, that if its incorporated in a good way, when that mental network triggers, it will focus more on the bad ripple effects of their well being than the short term satisfaction that the food will aim them to get. But then there is the problem that mood depression finds as a substitute food to alleviate the mood problem. Then, the problem of mood depression has to be linked with another associate mental network instead that provides almost the same positive mercy experience. For instance, talking with people and mumbling about your problems and understanding your concern is a good mercy replacement. Of course, that will not work for everybody, but I think you understand what I am talking, I am talking about the concept of replacing mental networks with substitutes of mental networks that have a less negative effect. Once all those mental networks are replaced, there is less reasons to motivate myself to eat fat food and when I see fat food the more it will be the image you feel when you know this food makes you allergic. Although simple as it sounds, its complicated, as the replacement of mental networks requires a lot of patience. You still  have to experience for a long time rejecting mental networks for a long time while finding ways to replace them with better ones.Its more like debugging and refactoring yourself in terms of code instead of putting a patch out there that will eventually break the code again because you still kept that mangled set of code still lying around. And that is how we deal our life most of the time. Instead of changing our original identity because we are sensitive, we put "if conditions" to ourselves to avoid those special use cases without understanding the real cause of the problem.

Now lets go back to the story of the expats. You came to a new country for a higher salary, but you couldn't control yourself talking with people of the same country of origin as you because you can connect the mental networks to them in a matter of seconds instead of hours with others in how they feel and what they want to do on a project while at the same time share the same cognitive mindset most of the time. Now I do not know what that all means, but in my article Ranking Company Traits in Software Environments a trait people would work for a company was a "Culture that fits my personality". Now that is something I despise, and although the company that I worked for started to be in an environment that was supportive, innovative, and open to diversity - now its more autocratic and teams are a set of majority of one culture which becomes a bottleneck for diversity to cover up weaknesses we don't see.

In summary, as in the example of the chocolates, leaving a company completely is arguably a method of suffering to others. Most of the time people will understand the problem, as that mental network they really need is not there anymore and it has to be replaced with something else that it compliments the same mental experience. However, don't expect miracles, their motivation will be the same. The reason for that is there is no escape for them yet to find how to substitute their existing mental networks with other mental networks, and as in the example of the chocolate, that may be an easy case as the control is based on my own autonomy. Now go to the borders of an organization to follow the same use case and you know that the control is within a multiple set of people with different motivations and agendas in their minds. It is hard for this to be manageable unless there is a leader who is in control that has the ability to influence people break off their old habits with better ones.

Tact and diplomacy are the best ways to solve the problem and it reflects more the method of patience. It is better for such cases to have an intermediary to handle your tact and diplomacy instead of directly because you may be bias to whatever you are attached with the daily tasks you do. That is what really product managers are where their positions most of the time is neutral as they are not associated too much with tasks of a project (its not just about delivering projects but transforming existing culture as an intermediary). Once you are very proficient and are able to not attach yourself with the tasks you do, you can see that leveraging the company is not about deliveries anymore but how others team see you, how users see you, how the whole culture infrastructure runs as a food chain within your own company.

Now Amazon is a company that is still known to the public being a culture that is very adversarial. But here is the difference of what adversarial means. Its different being "just adversarial" to "adversarial while constructive". During the interview, he told me that only top performers are hired in the job and he has not seen at any point of his lifetime while working on the company any person taking some slack off.  That may be one of the rigid systems of Amazon removing from the pool staff of employees the low performers on time intervals. However, although Amazon is known for its culture stating their opinions out boldly, being blunt all the time and asking for a lot of changes won't take the cut in the long run.

You see, a lot of changes will not make the right cut because it makes an environment that is non-agile. You cannot put all changes to be done in one sprint. What I liked with one of the departments that I have recently worked with is that they ask for little changes and they don't quarrel too much as long as it gets delivered on time. Now if the result is wrong or not, does it matter? Not much at all as the sprint was small and it can be recuperated again with another small sprint. Beyond that you have to be working everyday on your toes and active all the time about it, you are more familiar with the process of your clients as you interact more times per week. Lets take that in contrast of bundling a lot of tasks and when something goes wrong, of course you will get complains as that was a lot of time wasted for getting a result customers didn't ask for. This has worked effectively in my two jobs I had before: getting a small tasks or a big task to be broken in small tasks. There was a time I had a big task that I broke it into 5-6 separate tasks when my management thought it was just 1 task, which unless you work in a small company or there is no open environment to collaborate cultural or technical wise, is a communication problem that you must address by giving the level of magnitude of tasks for a particular project. Why agile works and non-agile works is a philosophy that can be looked into depth, its a thing already that many companies gain success because the focus is the main customer and not too much about the technology (although its still important if it becomes a bottleneck).

Now many will confuse that being tact and diplomatic is only showing a narcissist positive outlook to others while ignoring how much other constitutes to a lot of problems you disagree of. Being tact and diplomatic is still being yourself but also being the ideal product manager that can be neutral in seeing things and fixing problems on your own side and on the other side. You expect that something you have to change yourself and they must address specifically to you as you do not have visibility what is wrong. In exchange, you also have to address specifically to others what problems you see that are prerequisites for you to work with them. You also know that your requests is something that may not address fully and that you are okay if you get something between the middle but nowhere if you get little or nothing out of it. Its more of a give and take situation where you learn something in exchange you teaching them something about too. When I changed jobs, my previous code experience was that clean formatted space alignment of code was a cosmetic thing and did not offer anything functional to offer. In addition, breaking an easy to understand piece of code into smaller pieces of code did not made any sense to me when I could already see the simplicity within my cognitive set of skills. Those were two whammies that I feel grateful I took lessons from other developers who wrote all his source code in such format. Not having code aligned with white spaces and breaking a task more simpler than you can already understand now will not make you to have the same experience (= to be able to understand) when you see it a second time which may be a month later or a year later. Now all my implementations are smooth and error free as most of the changes are maintenance based and requires me less cognitive power to understand where the code is going on. On the other hand, I provided to my team some foundational concepts of how the code works behind the bush, insights that were helpful all to know, so they can write code that does not do what they didn't expect to do. At that time, I may have been completely opposed to write queries in a format that took so many lines of code when people try to fit all their code into one page to meet the same standard as keeping a resume in one page. But when people told me to do it in such way, and it wasn't a deal breaker for me, I did it, and I ripped the benefits now maintaining the code.

2. Good high competitive workers are all over the world, even on third world countries. They are initiative and self taught
Analysis: This is true in all sense. Race or upbringing does not matter much as their traits in their working environment. If they are initiative and can learn things by their own selves, that is, its a thing they like and have an interest to dive through, then its a natural motivation. They will definitely even do the task for free for you if it really matters so much to them. For instance, this blog, discussing concepts that revolve around mental symmetry, human behavior, and so on, are just a natural motivation for me on writing them in here.

I think being initiative and self taught can bring the most original ideas and paths that no one could have imagined of. At the same time, the quality will be unparallelled to anything else that it was just for the sake of money or moving up the ladder of the corporation. Its a thing that they do because they have a big reason why they do it. Now every situation why a person does a thing is different, but the bigger the reason the more they are motivated by it. In law and court, where we look at homicides, an element of importance to claim an individual guilty is motivation. If the individual is found he did it with no real motivation, he is put into mental ward or hospitalization. In other words, we are looking for people doing things because of a real good reason, not because of an accident or something. If somebody in a third world country has a passion to work in X company because he founds the holy grail out of it, regardless whether that reason makes sense or not or whether it will last for long, then his first two to three years will be very productive careers within that company. The problem is that many find motivations that do not last for too long. The turn over on average for an employee within a job is 2-3 years and the cause is for a multiple variation of reasons. Its good for those reasons to find something you really like and hopefully my previous last blog posts may have enlightened you all where you can find the real motivation we can put all effort into.

Now in order for them to be initiative and self taught, the work environment should be supportive, innovative and decentralized.

3. Our duty and rating is not the pride of how good we technical are

Solution:
We should be rated by how we influence our customers with our services

Analysis: When everything comes down, even for developers who handle the low level tasks of their organization, the duty is all about whether the work will influence positive to the customers in the long term. Our duty is to listen to our customers and be with them at all times on solving their problems. That is our highest priority. In contrast, I have seen in many cases people attached with the technical infrastructure and be completely detached with the stakeholders needs. In many cases for several purposes, I have seen people devote more time on creating nicer libraries, more robust coding and refactoring, that in some sense, they are useful to removing technical debt, but for now, did not had any practical uses so much for the stakeholders at hand. That was okay if their natural motivation was less inclined on tools instead of keeping the customers up to date to every fix that needs to be done. But I cannot blame them, because their natural motivation is to make nicer tools that will help in the organization in the long term. However, duty unfortunately, is more important than our natural motivation, and it should not be ignored too much, yet not so focused to the point you lose your natural motivation for working within the company. On the other case, I see people working on specific terrain of a technology sector they own while ignore the terrain of a technology of others. It is more like my technology is utterly superior than yours (and arguably by fact it is theoretically) so there is no point of involvement or collaboration of technology that others stakeholders are using and are in need of. And I cannot blame them at all as their natural motivation is the new technology people are working for. Now those are just some examples and use cases I have seen to date.

In my experience, when I try to peer review the people I work for, I can see a lot of nice talent and skills in how technical they are. In contrast, in the way they treat customers as second level citizens because of their natural motivation kind of diminishes the rating of what they are actually worth of in terms of bringing value to the company. They have the maximum potential and capability to bring value to the company, but not too much when they are constrained or attached to their natural motivation.