The reason you should be agnostic to any cloud/tool/language to become Senior

Mateus Lira
3 min readJan 8, 2023

--

First, what does it mean to be agnostic?

It means you don’t believe there is or will be any technology that is the best for everything.

Let me make that clear by bringing one example from my life. I was completely fine studying AWS (I have a basic certification already) and I’m already comfortable programming with Terraform. I was thinking Terraform was the best way to do IaC (Infrastructure as Code).

Turns out, during an interview, my manager asked me if I knew Bicep. If you didn’t click the link you must be thinking “what the heck?” At least I was thinking that.

The thing is: when he explained why Bicep was good and the reason I was going to use it on the project if they hired me, my eyes were just glowing. I needed to learn Bicep. Terraform was no longer the one and true source of wisdom. In fact, Bicep has some advantages over Terraform.

In the end, being agnostic also means being open to the new possibilities you might be able to find only if you are not ignoring them by worshiping some technology.

Let’s take Cloud as an example

As a Cloud Engineer (DevOps, SRE, Platform Engineer) or whatever professional name you identify yourself with, you know you are not going to choose your own cloud provider. Perhaps you can even say your opinion, but the client is going to choose the best option for their pocket every time.

So, should we learn them all?

Hell no! Choose one to get started, learn how cloud services work, and understand how the network on the internet is used. However, be aware!

Do not get enthusiastic about this first cloud of yours!

Some people tend to feel passionate about the first thing they get to know. “Hey, I finally got it! So it might be because this cloud/language is the best!”. No, my fellow, you got it because you finally understood the fundamentals. And the point is, you can now understand every single cloud service!

Aaaand… the project is over, now we are going to change the cloud provider.

Does this mean you should learn a new one all over?

Again, no! You already got the point, there is no need to focus on learning any other architecture from the ground zero. Your mind should be able to map every app easily. I mean, google it and understand it.

There will be always some need, and you should focus your mind on resolving that need, not having all the services (and what they do) in your memory. For that, your hardest job is to understand:

  • What’s going on?
  • What’s missing?
  • What does my client need?
  • Why it is not working?
  • What do I need to do so it can work?
  • What are the best ways to do it?
  • How to document it?
  • How to make it run automatically?
  • The list goes on…

The easiest thing is knowing the tool, the language, etc. You will need to learn something new now and then.

Conclusion

No matter what you are learning, try always to go deep on the fundamentals.

  • After you build a firm basis, it's easier and faster to learn about new technology in the same field;
  • The knowledge you’ve built is genuine, and you can use it to understand more than one tool, but the process;
  • This is the mindset of a Senior (Developer, Cloud Engineer, Architect, etc.)

--

--

Mateus Lira

Computer Engineer, talking about Micro Services, Cloud Native Solutions and of course, lifestyle - Let's all be healthy mentally and physically.