Technology Isn't Complex

Technology Isn't Complex
Photo by Luca Bravo / Unsplash

Yes, triggering name I know, but give me a moment to explain. I've had a career spanning from tech support, to app implementation, to building back end databases, servers, Windows Admin, networking, tracing, developing, cloud computing, deploying, management, etc. - and I could on. I am not talking about electronics and hardware, but rather the systems that actually run on that hardware. I've been working with them for over 12 years now - dealing with everything from mobile devices, to laptops, to servers, to cloud computing, into development and automation, and dose of management, project leadership, and business side dealings.

Okay enough "badging" myself. What I am here to explain real quick for those in tech and work in any of those areas I listed is that none of it is actually complex. The difficulty in tech doesn't actually come from individual pieces of code, equipment, and various forms of programs, no... it comes from multiple moving parts, tooling, pressure, and people. We make it difficult. We put ourselves in mindsets that limit us, when in reality it isn't that hard.

NOTE: I am not calling anyone dumb or stupid here; I am simply trying to reframe your thinking of technology and how it works. Experience does matter. I am not discounting that. However, if we shift our thinking, we can learn to make our lives and tech a bit simpler.

To illustrate what I mean by it not being complex, doesn't mean that everything is simple. It's most certainly not. The deeper you go into any specific skills, the naturally more complex it gets.

Most of tech isn't though, especially if you're still early in your career or struggling to advance. Let's talk about it; 5 ways to show tech isn't complex, but there are complexities.

Those 5 are as follows;

  1. Mindset Shift: Know It's Simple
  2. Simple Systems, Just a Lot of Them
  3. Tooling & Preference
  4. Pressure & Time
  5. A People Problem

Mindset Shift: Know It's Simple

The human brain is pretty crazy. You can literally make whatever you want out of the reality in front of you if you're trying hard enough. You can look at a blue cup and convince yourself it's red. The same thing tends to happen for technology engineering folks, just in a different way. We're always surrounded by people outside of our workplace who know nothing about tech and don't care too. For them it seems complicated, complex, just this amazing magic. You on the other hand, understand it, live it, and work it, it's no mystery, but we tend to think we're somehow working on things that are complex and that mindset ends up being very limiting, and often frustrating.

Why would we end up like that? Have you ever been in a position where you are an expert at what you do, but something happens and a brand new technology that's actually been at the company for a while but no one manages it comes to you? If you're anything like me, your first instinct is "oh God, how in the world am I supposed to figure this out?" - and there's no shame in that feeling. I always end up in the same place every time though.

All applications, OS's, servers, software, 3rd party apps, etc. - they are all at the highest level, the exact same thing; a set of code instructions that is configured to connect to something else for a specific purpose. Argue all you want, test it. This is the framework I use to simplify whatever I am working on. It boils down to a few basic questions to ask to understand what you're looking at. Everything else is just minor details, and yes while those details do matter, these are the guard rails that get you over halfway done with the race.

See, it's not hard now is it? If you're dealing with multiple components, then yeah, maybe you have to ask these questions about each component, but still the same thing; then it's just a game of expectation.

Oh right, what are those questions;

  • What is the thing ultimately trying to do?
  • What is the thing connecting to?
  • What configuration is needed to perform the action and/or connect?
  • What are we expecting to happen?
  • BONUS: What changed?

No matter where you are, whether it be developing a small piece of code, troubleshooting in a high visibility incident, or just performing basic system maintenance, it applies to it all.

Don't let your brain get in the way. It is simple. Know it's simple. Your brain is what's making it complex, with it's attempts to protect you.


Simple Systems, Just a Lot of Them

Rocket science is complex. You tend to have to know exact measurements, keep complex strings of theory and reality in your brain, and work with the knowledge of a bunch of other scientists to accomplish the goal.

Technology isn't like that though. Usually your job or skillset revolves around understanding the connecting factors, not each individual piece. Even developers are just stringing together a bunch of logic to make something specific happen.

So this section is short. If all you ever did as a network engineer was work on a single set of Cisco firewalls, you'd probably excel in no time. That's not your role though. You need to understand the firewalls, the topology of where things are, how data is sent, how load balancing works, etc. - all of which individually are not that hard, but we tend to think it's "complex" because it's 5 things and not 1.

Break it down. Learning one thing versus learning a "network of things" is a huge difference. One thing at a time. Again, it's simple. Believe it. Complexity comes from a collection of simple things.


Tooling & Preference

Half the struggle I have with work is managing my ADHD. What it means is that I don't work like everyone else. I often have periods of high productivity, voids of EF shutdown, and frustration with repetitive tasks. What it tends to do though, is exacerbate the problems that I would have if I didn't have ADHD. Along the way, especially as a growing leader, solving a lot of my own issues ended up helping others. It's when I really started discovering that our tools and the preference for the way we work tends to make things complicated.

Most companies have a set of tools they want you to use. Half those tools are trash and don't make a lot of sense. So in order to complete or learn whatever it is you're working on, you have figure out the tooling first, giving you an extra layer of... we'll leave it at that. What I've found is that the tooling itself often makes my work a lot harder. If I pick different tools, find different ways of using those tools, I tend to have a lot better time completing and learning things. Learning how to integrate and work with the tools are complex, not the technology itself.

Preference isn't hard to understand, but our preferences often clash with best practices and business expectations. For example, if you're trying to implement a change, but you have to talk with 3 groups of people, make 7 different tickets, wait two weeks for all that to happen, prepare a change, get it approved, decide on a date to push that change... ugh. It's not actually complex, but it's ridiculously time consuming.

This case is a little bit of a whirlwind. In short though, I have this thought process of "minimal viable work" - I'll give you what you want, but at the lowest possible way I can. Typically it's the process that is needlessly complex, and if you can shortcut to the goal, everyone wins. Maybe those meetings could be Slack or emails, because the requirement is "proper parties are notified." Maybe those 7 tickets were an old habit of some guy who left the company 5 years ago, and all you need it one ticket and a couple of comments. Have your approval chain prepared. Then it's more like a runbook than a complex process.

Again, point being the technology itself isn't complex. In this case, it's often process and personal workflow.


Pressure & Time

I know... we all wish due dates didn't exist. 90% of them are just made up by the company and don't really have a true impact, and management isn't ever willing to budge. When they are though, they never make it clear. I hear the "shooting for the stars to reach the moon" analogy, but Lord does it make things full of pressure and a lot of hopelessness with unattainable goals.

Often what this pressure does is put us into panic or stress. When we're there, our minds are not operating at full capacity. No it's not a mindset thing Mr. CTO, it's just the reality; you aren't going to get 110% quality, speed, and an excited team by constantly pressing for more. The reality of what it does is make something very simple (which is the technology) and turn it into a complex work vs value to meet a deadline. We leave out crucial pieces, we make mistakes, we shortcut to accomplish the goal.

While there are solutions to help you meet that deadline (aka personal time management), this pressure and time limitation will make your job ever more complex, because you are forced to make decisions and add complexity to something that is simple. We're working against the grain.

Now from a business perspective I get it; you can't give a team 3 years to complete a project you know can be done in 6 months. But that 6 months in your head is the "happy path," not the reality. You have to balance the time, reduce the pressure, and let the systems be systems, and the engineers do their thing.

Another go around, another point that the technology is not actually complex. In this case, it's the business creating complexity, consciously or not.


A People Problem

Let's face it; us humans are difficult. Even those of us labeled "easy to work with" often are sacrificing rather than "collaborating." I could fill the rest of this article with a dissertation of how people make things complex; that's the point here. I won't though. Let's just focus on a few hurdles I often run into.

People tend to be ambiguous and make assumptions. Sometimes intentionally, most times not. Especially leadership. As a leader myself, I often find myself talking to engineers not realizing that they have no context as to what I am trying to get across, because I may have spent the last two weeks discussing things with other leaders, bosses, and people, but the team has just been diligently working. We tend to not want to embarrass ourselves though, so we don't ask, and we tend just run with assumptions, which half the time are NOT correct. It's not complexity with technology, it's the ambiguity that creates a lack of clarity.

People tend to demand rather than ask. We all have this strange idea from society that "confidence is king." We need something done, we make a ticket, and assume it's going to be done, rather than understanding the reality. That, or they just run into a meeting with a super important one liner of a massive project and run away. Leadership often sets a goal, and you have no choice but to reach it. This tends to create priority and workload issues. Now you have complexity in the way you work, not with the technology itself.

People are passionate about different things. Sounds great on paper, but often it turns into a mess. This is an inevitable part of humanity though. You have customer facing folks passionate about helping their clients get the best possible product, you have management wanting to ensure that all operations are as smooth as possible, you have QA with a burning passion on implementing new test procedures, and it just gets exhausting after a while, because maybe you aren't passionate about any of those things, but someone else is. Maybe you disagree with the solutions behind the passion, but the passion makes them defensive and difficult to compromise with. People complexity, not technology.

Here's also some honorable mentions -

  • Motivation is different for everyone, which makes management complex
  • People often don't know what they want, so you have to take guesses or figure it out for them, making sometimes the planning complex
  • People often don't know what it takes to do something, and create impossible goals or expectations, making your job that much more complex

Final Thoughts

If you are of the mind that being in technology is difficult then you are definitely not wrong. It is. However if you think the technology is complex or difficult... it's really not. We tend to take something simple, and make a huge bag of mixed nuts and call it "trail mix" - but each of those nuts are simply made by nature.

Honestly, some of this is just the human condition. Running into mind hurdles, reframing things, dealing with people... it's all unavoidable to an extent. Exists far outside of the world of technology as well.

From my very personal opinion though, it's the businesses that ruin things with complexity. Businesses aren't focused on making things easier, people happier, etc. - and if they are, it isn't really the goal... businesses care about the dollar amount. They care about returning to their shareholders. They care about the stock price. Whatever it takes to get there.

What a business does is look at everything through the lens of metrics, output, and success. The problem with that, is none of it makes things easy. They develop processes so they can see what's happening. They create deadlines so they can measure success. They track and monitor what you do so they can judge your performance. They set SLA's and KPI's so they can easily see where deficiency is. They choose tools that makes things faster. It creates a complex loop, which at it's core is asking the basic question of - "are we making money and how do we make more?"

Corporate greed makes things complex. And one last opinion here; the complexity comes from removing the humanity from the resources. Who are you, what motivates you, how you work, what is needing to be done... doesn't matter so long as the money is flowing and they can recognize success based on numbers. They only focus on the people when the people affect the money flow. They only focus on quality when quality risks the profitability. They only reduce friction and mend processes when things stop getting done.

Whether you realize it or not, they have convinced you that work is supposed to be miserable. That you should accept the complexity they create. That it is in fact the standard to which you live. That the only way to make it is to focus on the success of the business' money flow. When they do appear to "care" for you, I guarantee there's a bottom line behind it; the purpose is to make more money... it just so happens you might enjoy it or it may help you. They have convinced you that what they pay you needs to be proven, and they determine what that proof needs to be.

I couldn't disagree with mindset more. Don't buy it. Live your life my friend. Whatever it takes. Even if you work for business, recognize that you're not a resource, you are a human - with a spirit that needs feeding.