My DevOps Journey — How I Went From Being A Technical Support Guy to a Solutions Architect

My DevOps Journey — How I Went From Being A Technical Support Guy to a Solutions Architect

My Inspiring DevOps Journey from Technical Support to Solutions Architect

DevOps represents a cultural shift in software development, extending beyond vendors or products. Achieving a successful DevOps transformation necessitates both technical and cultural changes, which can pose challenges for many companies. Now, let me share my journey of transitioning from a Technical Support role to becoming a Solutions Architect in just a few years.

A few years back...

A few years ago, I embarked on my journey in the IT field as a Technical Support Officer. Starting out, I lacked a mentor, guidance, or someone to support me. Despite not having a CS degree, I had high aspirations of venturing into the industry and finding a job that would help me achieve my goals. Although I had acquired some IT knowledge in college, I struggled to secure a job that utilized my skills. Consequently, I had no choice but to enter the IT sector as a Technical Support officer to sustain my income. Additionally, I needed to find employment to meet my house rental payments.

Lesson 01:

Jump into the IT industry at the entry-level position if you don’t have a CS degree or a CS degree but don’t possess enough skills to land a Software Engineering role.

I went in for an interview for a tech support position and answered all the questions honestly. By the end of the interview, they were satisfied with my answers and offered me the position.

Lesson 02:

Be honest, bold, and willing to learn.

In that job, I lacked guidance and was left to work alone. I received tasks to complete and only received assistance from Senior Engineers if I encountered difficulties. Unaware of the knowledge I was gaining, I dedicated myself fully to my work every day. Little did I know that I was accumulating valuable knowledge that would aid me in my journey. Fortunately, I had a supportive supervisor who encouraged me. My responsibilities included handling incoming calls, creating Jira issues, and assigning them to the appropriate developers.

The company I worked for utilized Linux servers to handle production workloads. To transition from handling phone calls and Jira tickets to working on Linux servers, I embarked on learning Linux. I installed Ubuntu on my virtual machine and began studying. To grasp the essential commands, I made use of free online resources. Subsequently, I acquired the knowledge to set up Nginx, Apache, and database servers on Linux. Within just one month, I gained sufficient proficiency in Linux to work with real-world Linux servers.

Lesson 03:

Learn Linux

After three months, My Tech Lead granted me access to the development environment servers. I still vividly remember my first task: setting up a web server and a database server to host a WordPress site. Subsequently, several interns utilized that website. As a result of my progress, I was eventually allowed to work on production servers. During this period, I deepened my knowledge in Linux, SQL, web server optimization, Docker, Jenkins, and Ansible. Through consistent growth and dedication, I earned multiple promotions and spent two years at my first company. Unexpectedly, I received a job offer as a DevOps Engineer from a former coworker who had left the company earlier. This offer came with a significant salary increase, four times higher than my previous earnings.

Lesson 04:

Learn new technologies as much as possible and make friends at the workplace. At least be friendly. People observe what you do at work as it might help you get unexpected offers from your former co-workers.

First DevOps Engineer Offer

My first offer as a DevOps Engineer came through a former co-worker. However, there was one problem: the company interested in hiring me for the DevOps position was facing financial instability and heading toward bankruptcy. Consequently, my friends advised me against joining that company and encouraged me to remain in my current comfortable and stable job within the Technical Support team. Now, I had to make a decision—whether to stay in my secure employment or take the risk of embracing the role of a DevOps engineer and officially changing my job title.

I decided to take the risk because great things do not come without taking risks. I took a calculated risk. I knew there is a chance I might lose my job if the company went broke. So what? I can find another job because I am confident in my skills and I believe in myself.

I decided to take risks because great things do not come without risks. I took a calculated risk. I knew there was a chance I might lose my job if the company went broke. So what? I can find another job because I am confident in my skills and believe in myself.

The interview was pretty simple and practical. In the interview, the interviewer asked me to Deploy an Nginx application on the Ubuntu server. So I had to set up Redis, install Nginx, and configure a reverse proxy to deploy the Nginx app. I did it within 30 minutes, I remember. That’s it!

The next interview was with the project manager, who asked me general questions. The final round consisted of an HR interview where we discussed the package, and HR agreed to meet my requested salary. It was a significant increase, four times higher than my starting salary two years ago. Once I accepted the offer, I proceeded to resign from my current company. However, before submitting my resignation, both my HR manager and Tech Lead strongly advised against accepting the DevOps role at the new company due to its financial instability. I proposed that they match the offer, but they were not prepared to make that move. Despite the warning, I decided to take the risk, accepted the job offer, and moved on from my current company. Naturally, I ensured a smooth transition by properly handing over my work and providing knowledge transfer to the person who would assume my position.

At this moment, I was entirely into DevOps and started learning Kubernetes. I introduced the DevOps practice in the company. Before me, Developers were deploying the application manually. I built the entire CI/CD using Jenkins with Automated testing. Written many Python automation to get rid of the manual tasks developers were doing at that time. Because of my automation, CI/CD developers could entirely focus on building the application.

But unfortunately, the company could not recover from the losses they were making, and after five months, they could not pay other developers and me on time, and sometimes I had to work the whole month without a salary.

Many friends laughed at me after hearing about the situation. I did not pay attention. I started looking for a new DevOps role, and it just took me one week to find another one. I went in for the interview, and the technical interview was easy. The interviewer asked many questions about Kubernetes to check my Kubernetes knowledge, and I was very comfortable with Kubernetes, so I answered all the questions.
I received an offer that was 50% higher than the current package!

Lesson 05:

Don’t be afraid to take risks. Without taking risks, you will not achieve greatness. But, most importantly, follow your guts and ignore what others think about you.

Becoming Solutions Architect

Fast forward to 2020, I excelled at Python, Docker, Kubernetes, Terraform, Jenkins, etc. After becoming a DevOps engineer, I did not stop learning. My friends went out on Friday night, but I stayed home learning and practicing.

Early morning while others were sleeping, I was learning and working. It was pure hard work. I don’t know about smart work because I am an average person with bigger dreams. So to achieve bigger things, I had to work very hard.

During this time, my LinkedIn profile started to get traction. I received an offer from a company for a Solutions Architect position, and the interviews were brutal. I had to face Six interviews. I will talk more about the DevOps interviews in upcoming articles.

The First Technical interview was about AWS. The interview lasted two hours, and the interviewer asked me about all the AWS essential services. One interviewer even asked me to create a VPC and asked more profound questions about subnetting. Other interviews focus on cloud infrastructure design, Terraform, Jenkins, and, most importantly, in-depth Kubernetes questions.

Lesson 06:

Never stop learning.

Dawn of the remote jobs

While working as a Solution Architect because of the pandemic, I started working from home. One day, I was searching online about how I could make money online as a DevOps engineer and found Topcoder. Topcoder has a Gig work section where you can apply for short-term & Long term jobs, which will pay you in USD. It was so exciting that I started applying for some of the job posts, and surprisingly I got an interview invitation. So I went in for the interview, got the offer, left my full-time job, and started to pursue remote work.

I will talk more about finding remote work as a DevOps engineer and what kind of interviews you need to face to land in one of the high-paying remote DevOps work. It isn’t easy to write everything in one article.
I will publish more about remote work, DevOps interviews, and a complete guide about becoming a DevOps engineer and transitioning to a Solutions Architect position.

Now let’s look at some of the essential skills you must build to succeed in this field.

Be a lifelong learner

There will always be someone more intelligent than you. There will always be someone who can teach you more than you. There will always be someone who can guide you better than you. There will always be someone who can solve your problems better than you. There will always be someone who can show you better ways of working than you. There will always be someone who can show you your mistakes. Finally, there will always be someone who can make you learn from your mistakes.

I have been a lifelong learner throughout my career as a Solutions Architect. I have always been on the lookout for the latest developments in my field. I have had a constant desire to stay updated on the upcoming features and enhancements in the technologies I work with. Additionally, I have been keen to learn about the approaches adopted by other companies in the same domain and how they leverage technology to solve their business problems. I have always been interested in attending conferences to stay informed about the latest happenings and advancements in my field

I always wanted to learn from people who are senior to me. I have always wanted to learn from people who are more knowledgeable than me. I always wanted to learn from people with expertise in areas where I was weak. I always wanted to know what books people were reading. I always wanted to learn from the books people were reading. I always wanted to know what books people were writing. I always tried to read books from people who were more knowledgeable than me. I always wanted to know what books are recommended to me by people who are more knowledgeable and senior.

Build up your Networking skills

You have to work on your networking skills. First, meet people in your field. Attend conferences, events, and seminars related to your work. Go and meet people who are senior to you. Make friends and build a network of people. Network with skilled people who have expertise in areas where you are weak. You might find that networking is an easy way to discover the right questions to ask and the right things to learn. Remember, though. Networking is not just about meeting people; it’s also about showing them value and making a lasting impact. You can start genuinely by asking questions, trying to understand their challenges, and seeing if there is something you can do to help them out.

Build up your Automation skills

Automation is the key to success in DevOps. If you can automate repetitive tasks, you can save time and money. Automation means you write scripts and programs to take over repetitive, mundane, and time-consuming tasks, which is what a DevOps engineer does. He writes code and automates tasks. As a Solutions Architect, you will build and manage a Continuous Integration and Continuous Delivery pipeline. You will create standards for your team to follow. You will introduce new best practices and automation in your team. Finally, you will create visibility across the entire software delivery pipeline.

Build up your Scripting/Programming skills

Automation and scripting are two ways to do the same thing. For example, you can either build an automation framework using Python, Ruby, etc. or a script using your language of choice like PowerShell, Bash, etc. You will have to work on scripting and programming when you have to build tools and create standard workflows which are reusable across the team. You will have to work on scripting and programming when you have to develop tools to automate repetitive tasks. You can map the process flow and break it down into smaller sub-processes. Automation and scripting are two different things. Automation is designing a self-controlled device or process to perform a task that people usually do. Scripting is writing instructions in a computer language so that a computer will perform a series of actions.

Summary

This blog details my journey from being a technical support guy to becoming a solutions architect. It discusses how I transformed my attitude towards work and life to thrive in this field. I strongly advise everyone to embrace lifelong learning, be open to criticism, network with others, and be adaptable to change. With dedication and focus, success is within reach.

In my upcoming articles, I will delve into topics such as remote jobs and DevOps interviews.

Follow me on Twitter (@sharonsahadevan) or LinkedIn so you won’t miss the updates!

Did you find this article valuable?

Support sharon sahadevan by becoming a sponsor. Any amount is appreciated!