Prateek Singh

Writing
Dark

Journey So Far

March 5, 2021

Article Header image

Almost 2 years ago, I started exploring my passion, I started with my quest to find what I love to do. Up till now, I have tried my hands on Design, Software Development, Cloud Native and Artificial Intelligence. I liked the learning process of every domain and I often go back to them in my free time.

Design

Initial interests being design and art where I learned about design principles for some time, I liked Typography, layout design, Poster designs etc. I am self taught in most of the things, It can be a boon as well as a curse. The biggest problem with being a beginner in any domain, is wrong advice. I liked design, but did not know how to capitalise that skill and a lot of people around me gate-keeped saying, I cannot be a good designer if I have not been to a design school. So I just switched after some time. because I needed to make money.

The skills did not go to waste though (they never do), I designed many websites/posters for my college events. People really liked the designs. I often helped my peer learn the skills too. Learning Design basics actually helped me a lot for the next step as well. Which was Web Development.

Computer Science

I am from an Engineering Background, with major in Computer Science so I had an environment, that made me try programming. Following the curriculum, I learnt the C Programming language, along with Data Structures and Algorithms using C.

Then other subjects I enjoyed are Operating Systems. I got familiar with the Linux Operating System. Really dived deep into it, tinkered with the system calls using C programming language. I thouroughly read this book Operating System Concepts for about 2 months.

Another subject I really enjoyed was Computer Networking. Playing around with packet tracer really made me understand how the internet works. This book specifically, Computer Networks: A Top Down Approach was a great learning experience. I spent like 2-3 months on this.

Other subjects I enjoyed learning and dived deep are Theory of Automata, Compiler Design and Design and Analysis of Algorithms. Also, I was exploring outside my Computer Science Curriculum in the meanwhile, below is the list of them.

iOS Development

In my freshman year, I started with iOS development, why ? because I really like the experience Apple products provide, so I was like, why not find out how they build it. I had a MacBook, so hardware was also not an issue. I also had prior experience with Java, so I started with Swift. Learnt the basics, built some small projects. But, I was fairly new into tech, and a person online with experience in iOS Development shared their experience, the takeaway was "There are not a lot of Job Opportunities here". I got scared, I did not want to unemployed at the end of my degree.

So, I just dropped it there. I know it was a stupid reason, but it felt right at that moment. As a result of all this, I started looking for things that I might enjoy and also have a good Job Market. I came across Web Development.

Web Development

Front-end

I started with Front-End Web Development, using the technologies around it. I thought I can utilise my experience with Design as a Front-end Engineer. Initial experience with Java from my school years made getting started with JavaScript easy. I built projects, joined communities around it. HTLM, CSS and JavaScript, spent a good amount of time in it. This was the first time my interests were algning with some skills I can earn with too ! So, I kept moving ahead without any hesitation.

I liked React and what it offered. So finalized it as my front-end library. Then I came across using APIs and building dynamic projects. After building a few projects, I realised that State management was getting tough, so I learnt and built a few projects with Redux. There are many React projects on my GitHub.

As mentioned earlier, I used many APIs to build React Projects, so the next question in my mind was "How Does these APIs work ?". Hence the next step.

Back-end

For almost a month, I learnt Node JS and built projects. Majorly REST APIs. Learnt about concepts of REST. I learnt about using Databases, and picked MongoDB as my "Apply anywhere" database. I later realised that people who have experience with front-end as well as back-end are called Full Stack Engineers and there is a Job Market for them. Again, I could keep learning without second thoughts.

I wanted to build things with a community, under the guidance of senior developers, I wanted code reviews and good practices suggestions. Open-Source caught my interest.

Open Source

The things I wanted could only be found in Open Source communities, so I started looking for active ones who are very welcoming to beginners. I went to the GSoC Official website and after searching a lot I came across CNCF

The community is super active and huge too. Kubernetes project being the second biggest OSS Project ! It peaked my interest, because so much was going on there. A large number of new-comers, were getting help and support from Senior Engineers. I wanted to be a part of it. But there was a blocker. The entire eco-system is based around Kubernetes, and even though I understood what was needed from many web-interfaced projects, I could not understand a lot of what was going on. So, I just tried to take a look into Kubernetes. I could not understand a single word in the Readme 😂.

Community supported me, they directed me towards things I should learn to understand these things better. Hence it started with something that turned out to be DevOps.

DevOps

I started with 90 Days of DevOps, where I re-visited previously learnt concepts like Operating Systems, Computer Networking etc. I also learnt about new things Docker, Kubernetes, CI/CD, Azure Cloud and Git and GitHub.

After spending a few months learning these, I realized my interests revolve around Kubernetes Development. So I started searching for ways I could contribute the project, hence I also learnt Go Programming Language.

On the other hand, due to my public profile and learn in Public initiatives, I got approached by an amazing Company Fountane. They offered me a 6 months internship as a Full Stack SDE intern.

Fountane (Internship)

I learnt so much from my mentor Siddharth Gelera, this was the first time I was being paid for the code I wrote. I helped with many Front-end tasks. I also learnt about Next JS and Tailwind CSS. Learnt about Hasura too and came across GraphQL for the first time. I found GraphQL so amazing, like it really solved so many problems. So dived deep into it, built many projects Top Crew, being the one I mastered a lot in. In fact this is the project I also learnt and implemented Authentication and Authorization.

While working as an intern at fountane, I was continuing my journey to learn Go and Kubernetes and looking for ways I could contribute into the Cloud Native projects.

Life Changed

On January 26th, 2023. My Father passed away. Everything changed. I dropped everything and went back to my village with my Mother and Sister. Stayed there for 3 months, looking back at life. I am the person who is responsible for my family, I couldn't remorse all life long. I had to pick myself up, we came back home on the fourth month. I started seriously looking for a Job, my performance at Fountane impressed the people and when I approached, I was offered a full time role there. I joined in my Third Year of Engineering.

On the other hand, I was pushing more towards polishing my skills, so that I could provide a stable life to my family. After learning and working hard, I applied and got selected as an LFX mentee in CNCF.

LFX Mentorship

For the next three months, I got mentored one-on-one by a senior mentor at a leading cloud native company Isovalent. My learnings exploded exponentially. A developed an entire Kubernetes Operator using Go. I also learnt about writing Integration and unit tests. The technologies I learnt and implemented were, Helm, Kuberntes Go Client, Kube Builder, GitHub Actions and most important, How to work with an International organisation, I got the code reviews I was looking for.

These are the Pull requests I worked on:

Fountane (Full Time)

I am currently working as a Full Time SDE at Fountane, where I work on many internal projects. The major things are co-ordinating with a remote team and fixing issues or working on Features.