Hello everyone, my name is Abhishek and welcome back to my channel. So today I'm here with a very special video because I'm going to share my experience on how did I learn tools in DevOps or how did I learn the programming part, Python, Go language and I'm also going to share my experience on freelancing and the open source opportunities that I got and how do we actually get these opportunities. So this is going to be really interesting one because many of these opportunities I created myself. So if you watch the video, probably you will also get some insights on.
OK, so this is how I can learn Python or this is how I can get into open source. This is how I can get into freelancing. Yeah.
So I'll start sharing all the things. So right from first to till date, what are the different things I've done to learn to learn all of these things? OK, so.
I don't want to keep it very time lengthy so let me start it really quick. Perfect. So to start with, firstly, I started back in 2014 and I started as a Java developer because I was trained in Java back in college and when I started with TCS, they hired me for Java development role and I was again trained in TCS as a java back-end developers then when i got into a project uh in tcs uh of course like most of the service-based companies uh you know most of the times you don't get to add a lot of features and it was more or less maintenance activities that were going on but i was not happy so i thought like okay i'm not going to do much of these things so what i did was i started to search around what are the different projects that are going around me inside the same project that we were doing.
Like there is an organization, we were supporting a client and there were multiple teams and I belong to a team where we were doing very minimalistic Java backend changes. So the changes were more or less with respect to the form.xml, we were modifying, we were writing like, you know, modifications to the jar files, which was very, very simple. So, yeah.
So I realized that one of the teams, what they were doing is they were actually migrating the app. applications to IBM cloud. So back then IBM was one of the vendors for our client and IBM somehow managed to back in 2014 they have managed to say the client that okay move to the IBM cloud and it will be very beneficial and they were using the urban code deploy you deploy to deploy these applications.
So I thought okay why can't I just give it a try but of course my manager was not very interested in. my switch to that particular team. So what I said is, okay, I'll try to concentrate on both the teams. And out of office hours, what I used to do is I started reading the documents, understanding, because back in 2014, cloud migration was not at all easy.
Because more or less, most of the applications were in the monolithic architecture. And everybody was new to cloud in 2014. People just started their footprints. or people just started their baby walks on AWS cloud. But IBM cloud is even more difficult because many people did not have knowledge.
There were not many resources. So we failed a lot of times getting onto the IBM cloud with one, the first application itself was very difficult. So this is when I started learning about cloud migration.
IBM cloud, I started with IBM cloud. And the important thing is I also started learning about Linux. because till my college, I did not have experience with Linux.
I was only using Windows. And when we started this cloud migration, so Linux came into the picture and I started understanding a lot about Linux because when we started doing monolithic to microservice architecture and deploying applications one after one onto the cloud, more or less, the things were, you know, there was a lot of toil. So toil is basically same repetitive task that we were doing to.
put the application onto the cloud so breaking the application into microservices uh playing around in the cloud was okay that was very challenging but a little part where uh you know we uh put these steps into the cloud uh so we used to do a lot of linux and shell scripting uh basic shell commands so i started automating these things and there i started learning about linux and shell scripting so this is when i got my exposure towards ibm cloud which is a cloud platform then shell scripting then linux So this was the journey and of course because I was a developer and you know I was writing these applications migrating them into monolithic architecture definitely I'll have experience towards Git because we started with subversion SVN and then we moved to Git. So I have a very good understanding till then with git, Linux, shell scripting and IBM cloud. So this is my journey till now, that is till 2016. So these were the only devops tools that I was aware of. Then what I did was I started exploring something called as Ansible. So yes, in 2016, I started exploring Ansible.
The reason for that was, you know, there were a lot of applications and you know what ansible is popular for right so ansible does configuration management and because we were dealing with this uh hundreds of micro services and because we were dealing with a cloud platform so i saw a scope of ansible and ansible was very new till then uh in 2016 ansible did not have all the modules that we have today so i started with ansible then and this was my profile till 2016. ansible linux git Java because the programming language that I know and then the other thing was cloud because I did basic cloud migration or you can say that sufficient cloud migration that was an IBM cloud and there were no migration services there right everything has to be done manually so with this experience I thought okay I was getting too comfortable because we did one batch of application migration then we did the second batch and the other team that I was initially with they also don't have work so i thought okay uh now it's getting too comfortable and uh you know i i've also been to europe uh then uh led the project uh for four months came back and then i decided that okay i'll switch uh i'll move to a product based company okay uh we have uh i've worked with service with company for two and a half years now it's time for me to switch to product based company and then i did something that i will not definitely not recommend uh anyone so tcs had uh three months of notice period so You know, it was very difficult when you have three months of notice period to convince your manager and also to convince HRs and the recruiting people. So I said, firstly, I'll put the papers. I'll not recommend anybody to do this, but I've done that.
Put the papers and then I said that, OK, I've resigned the company and I'm ready to join. As soon as the manager gives the go to or the sign off saying that, OK, I will relieve you because I've already resigned. Right. So it was.
easy for my manager to just say that okay if you get opportunity you can go because anyways you are in the notice period so then uh what i did was uh i started applying then my goal was to just get into product-based company because i have seen enough of service-based company for two and a half years uh then i got into a product-based company called modelin uh that's in hyderabad and here i went with the same profile like ansible git uh then uh the linux shell scripting and uh of course some idea on the cloud migration so using these things i tried to switch and yes i got into a product based company there uh you know what we were doing is we were using a lot of ansible so my uh i used ansible for almost six months every day so and uh back then there were not a lot of modules so from the beginning days of ansible i have seen the progression of ansible and i've worked a lot with ansible so i said that okay i got very good experience with ansible and then you know the java programming language that i had experience with i was not at all using it and uh you know people started a lot about python uh in 2016 uh machine learning everybody was using python uh then you know data analytics everybody was using python devops everybody was using python so i i thought okay what is this python advice is getting so popular uh i started learning it but i don't have opportunity right because in the current uh project i was recruited for ansible git and all of these things and python was not at all used so there and this is something that i would uh tell everybody how to create opportunity so what i've done is uh then uh in 2016 uh during the time of ipl uh that is a cricket league what i've done is i've written a application in python and i said that okay so uh we used to have fun to fridays and all of these things right so i approached the hr team and i said okay uh anyways uh you people are planning something for the ipl like fun time or something so I wrote an application and I'll deploy this application on one of our servers, that's cloud servers. And, you know, everybody can play this application. It was a very simple application. People used to have a login page. And, you know, once they log in, they can select what is today's match.
If there is one match, it will pop up as one match. If there are two matches, it will show two matches. And people can select. And if their prediction is right, they'll get some points.
Okay. And then there is a leaderboard which says that, okay, how was your prediction? who is in the first place, who is in the second place, what are your total number of points.
So this is it. So this was the application and it was a very simple application of course and even the front-end did not have a lot of knowledge. So I did it with just basic bootstrap CSS and HTML5.
But while doing this, initially I thought there will be some 20 or 30 people that will be playing this. But at one point, there were 600 people who are playing this concurrently within the organization. Because HR has forwarded this.
And I did not have knowledge of handling 600 concurrent requests. Because I was a newbie with Python. Then I sat for, over the weekend I sat and I understood.
I wrote this application in Django. So I understood how to handle Django middleware, how to do this. I learned a lot of Django related stuff with this specific application.
So this is how I created opportunity. And after that, I became very strong in Python because that was a very simple application, but there were real time users, right? And this opportunity I've created by myself and using this exposure. Okay. So I just stayed in that product based company for one and a half year and using this application, I gained a lot of interest in python after this and using this experience i thought that okay i'll switch to python plus whatever i have experience with devops so till now uh the experience that i had with devops was ansible uh git and then i had experience with shell scripting linux right and python so these were the only things that i was aware till 2016 so then you know i again uh started searching for opportunities i got one opportunity then i resigned that company while i was in the notice period I had very good experience with Python.
I was giving interviews on Python. But 2016 Kubernetes was on like, you know, it was on everybody's everybody started saying that, okay, there is a new tool called Kubernetes. And Kubernetes is awesome.
And back then there was not a lot of materials on Kubernetes in 2016. So I still remember there was some YouTube videos by Janakiram. Janakiram is a very popular, you know, influencer on LinkedIn and YouTube. So I started watching his videos. and I started learning kubernetes from youtube itself.
So I was just reading the kubernetes material and I was just reading the sorry I was just watching his videos on youtube and I was learning kubernetes on my own and it was just pod deployment service and ingress was also not that much because there were very less ingress controllers. In 2016 I think there was nginx, there was fi ingress controller and fi was of course it was not fully open source because you need to have big ip or FI load balancer. So till then Nginx was only popular load balancer or popular ingress controller and I was just playing around with kubernetes pods deployment service and ingress and I joined another product based company called FI okay.
So FI I joined in 2016 sorry FI joined in 2017 and you know what I joined in FI was as python developer and my experience with these devops tool. So it was DevOps plus Python role but the team that recruited me was it was a pure DevOps team. And they were doing a lot of DevOps stuff plus very minimalistic Python stuff.
So they want somebody who has experience with DevOps and Python. So this is when you know once I went into FI. So for six months I was doing only this. I was doing Python. I was doing DevOps.
And there I learned about Terraform. There I learned about. Yeah, I think I just learned about Terraform for the first six months.
And Kubernetes, I became very strong because for six months, I was just continuously doing my own projects on Kubernetes. And I was just waiting for real time opportunity on Kubernetes. Okay.
And I was also waiting for real time opportunity on AWS or Azure cloud, but I was not getting any of these opportunities. So what I did was for continuous one year, I did a freelancing on AWS. So I did not know AWS.
I initially started quoting very less price. for AWS. So if you want to understand how did I get that open source opportunity, so there are multiple applications like if you just go to your Play Store and search for freelancer or just search for freelance then you will get a lot of applications on App Store or Play Store.
So what you need to do is just download those applications and this freelancing basically people who require the projects they put a bid and if you want to say that I want to do this then you can tender it or you can just give a quote. So keep it as low as possible because if you are starting with it, I just started saying that I'll do AWS project for $4 for one hour. And that was like very, very cheap.
And so from there, I got one opportunity on AWS because my goal was not to earn money. My goal was to learn AWS. So for one year, then that project for $4, I just did for one month.
But after that, then I started earning good from the freelancing opportunities in 2017, 2018. close to some 40-50k right and so I continued that for one year. So I did AWS freelancing and that is how I learned AWS. So this is very important for everybody to understand that if you don't have opportunity don't think that you don't have opportunity like you know you can learn the things and then there is a lot of things like just keep your linkedin github all the profiles updated and people will reach you so 2017 2018 these were not popular right people were applying through nowcrete people were doing different things but right now if you want to do freelancing it is very very easy right so that is how i learned about aws then you know I was getting again comfortable so I thought okay I want to move to some other project then in FI me and one more colleague of my team so we started looking into projects that were you know in the parking lot so in organizations or product based companies what usually happen is that so sometimes someone starts a project it goes through the incubation and because of lack of resources those projects are kept in the parking lot so in FI there was a project called Kubernetes Ingress Controller And that was kept in the parking lot and it was like, you know, only the basic design was done and there were no customers, nobody was using it.
So we thought that, okay, this is a very good opportunity because I was learning Kubernetes. I did a lot of projects on Kubernetes. Now I want to do something on Kubernetes and there is a project in the parking lot.
So approached my manager and said, my manager said that, okay, this will be additional project for you. Why can't we take it? So manager also approved it and we said that, okay, this is so amazing. So we started learning it and the toughest thing was that entire thing. So most of the Kubernetes controllers, right, they are in Go language.
And I had experience with Java, I have experience with Python, but I don't know Go language. But I don't want to tell my manager that, you know, just because I don't know Go language, I'm not doing this because I was very interested in Kubernetes. So I said, I learned Go language, just give me one month. And I in fact told that I have little knowledge on Go language, but I did not have any knowledge on Go language.
So i started learning go language and after one month we took that project and by the time i left fi i think there were more than 50 customers and it was not customers but they were very engaging customers so we have designed redesigned the product we have done a lot of open source content it is an open source project i can share the link in the description as well uh it's the popular kubernetes controller even today uh so commercial not open source completely open source so the code is open source the repositories in GitHub, you can see the code, you can understand how the Kubernetes controllers are written but to use the project, what you need to do is you have to have a FI ingress controller, right? But FI ingress controller is not a free tool. So code is open source, entire thing, there were a lot of open source contributions as well. But if you want to use that product, you have to use the FI ingress controller. So kind of, it is mixed of open source plus commercial product, right?
So this is again, 2018, 2019. And yeah, it was going very good. We had 50 plus customers and engaging customers. And the product was quite popular on OpenShift and Kubernetes. So OpenShift was an addition because there were many customers who were using FI Load Balancer on OpenShift.
So then we got free OpenShift licenses. I played around with OpenShift and I became very, very, you know, comfortable with Kubernetes. And kind of not just comfortable, but... Because I was learning Kubernetes from 2016-17 and till 2019, I did a lot of projects on Kubernetes, open source contributions to FI and deploying this Kubernetes controller, writing a Kubernetes controller.
So in and out of Kubernetes, I was very comfortable and I learned a lot of Kubernetes. So then, now my profile has become very strong. So I have Go language, I have Python, I have DevOps, I have Kubernetes. I've done... AWS freelancing for one year.
I have experience with IBM cloud. So all of this, when I tried to put in a profile, I felt that, okay, I have a very strong profile. And then I started looking into my dream companies because till now I was not a, you know, I did not have a strong profile, but when I realized that, okay, my profile has become very strong.
So I thought I'll move to my dream companies. And I had a list of dream companies and I was only applying for them. And Red Hat was on top of all of them because Red Hat is king of open source, right? So if you talk about open source, the first company that comes to mind is Red Hat. So they are everywhere, right?
The footprint of Red Hat is everywhere, right from Kubernetes. So if you look at the top Kubernetes contributors, who has contributed ingress to Kubernetes, that's Red Hat, who has contributed to Ansible a lot, that is Red Hat, who has contributed a lot to Linux, that is Red Hat. So Red Hat is one of my dream companies.
And luckily, I applied, I did not apply, actually, it came. uh through the hr on my linkedin and i did not don't want to lose that opportunity so i prepared prepared hard for it and yeah i got into red hat uh obviously Because I'm still with Red Hat. So yeah, that's how I got into Red Hat and I joined as a Go developer. Because from 2017 to 2019, I was only writing Kubernetes controllers. And Kubernetes controllers are written in Go language and I have very good experience with Go language, multi-threading and all of the things.
So I applied as a Go developer and the project that I started working on is Argo CD. So Argo CD, I think everybody is quite aware of it. It's a popular GitOps tool. So Red Hat was doing contributions to Argo CD open source and they had a team called GitOps.
So I started with that GitOps team. I'm still with the GitOps team, of course. And so that's how I started learning GitOps, understanding how Argo CD works, more experience with GitOps, then a lot of things.
So till now, I'm with Red Hat doing Go language, Argo CD. So because Argo CD is a DevOps tool, so a lot of DevOps customers. are using these tools and every day day in day out i interact uh with devops customers i uh deal with uh people who are in the field of devops so and of course because of my past experience with freelancing and previous companies with devops so i gained a lot of knowledge on devops and this is where uh you can ask me like okay all of these things is fine then how did you learn about azure so azure i purely like you know when azure 2020 when Azure started not started I mean when Azure started to gain the attention so I thought okay what is this Azure again because it was gaining a lot of attention and I had my experience with AWS very good experience with AWS in fact so what I did was I started learning about Azure create a free account you know I tried to just replicate everything in AWS into Azure because I you In fact, at that point of time, I knew about 50 to 60 services on AWS.
So what I did was I used to compare like, okay, in Azure, there is VPC. So how does that work in, sorry, in AWS, there is VPC. How does that work in Azure? In AWS, there is IAM, authentication model, right? So how does that work in Azure?
What is service principle in Azure? So I used to do the same project, the freelancing projects that I used to do. So personally, I just did the same project on Azure.
So that's how I gained. you know equal knowledge or i don't say equal knowledge because aws i did literally practical uh for one and a half year and freelancing and then every day i play around with aws so azure i was just replicating the same things and understanding so i gained a practical experience on azure as well so this is how i built uh the entire profile and this is how i learned the tools in devops so as you keep doing it the other things will fall into place right so because you are a good developer because you are writing kubernetes so you learn about admission controllers you learn about metric server you learn about monitoring so every day when you keep doing it when you keep interacting with the customers or when you are doing freelancing opportunities so things like these little things will keep adding to your profile and whenever there is an opportunity you have to steal the opportunity and you have to get better day by day so yeah so this is my experience on how did i learn about devops and if you found something interesting put that in the comment section and if you are inspired yeah i'll definitely recommend you to Start with your open source contributions, start with your freelancing contributions. Both of them are very easy today.
So if you want to do open source contribution, it's very easy. In the field of DevOps, just go to CNCF, Cloud Native Computing Foundation page. You will see a bunch of projects there. And all of those projects are either incubated or graduated into CNCF. And they're all Go-based applications.
So this is how you can start your Go-based open source. And if you want Python or Go projects, then you can... put that in the comment section i'll also explain you for example uh you can do you can contribute to boto3 uh that is a very popular python based project right so similarly if you want anything you can put that in the comment section i can help you with both freelance i mean freelancing i cannot assure you because it's it depends on uh what you are marketing on the uh freelancing portal or uh what do you want to how much do you want to bid and all of these things so just the applications go to the play store or these things and download But if you want to put open source, yeah, I can definitely help. If you want to start with Java, which project you can start. If you want with Python, which project you can start.
So these things I can help with. So thank you so much for watching the video. I hope this video is insightful.
And even if one or two people benefit out of this video, start their open source or freelancing journey, I'll be more than happy. Thank you so much. I'll see you in the next video. Take care, everyone.
Bye.