Layer5 participates in many open source internship programs. We seek out existing contributors who actively reflect the culture and principles of Layer5 to participate in these programs. Here are the Fall of 2021's open source interns.
Hear about their journeys and follow along this fall as they make waves in the Layer5 community.
The idea of contributing to an open source has been on the back of my mind since I enrolled in college back in 2019. Like how most people formulate what and how they will do in the uni, I also came from normalcy. In Singapore, students are aiming to get the best mark in every possible lesson in college as our grades hold a very high importance in the culture. Going back and forth between classes, planning a startup with my peers, volunteering in community clubs, I had a spectacular two years in uni.
However, during the last summer break, I started asking myself questions. How should I be better? What should I do? When should I do it? As I got more familiar with the Uni and all my messes (like clubs and tech-stacks that I used), I was in my comfort zone. From my experience, once you know that you’re in a comfort zone, that is exactly when you should start taking actions. Then, I found out the concept of open source. I know that I could hone my skills even further in the community, plus I could learn from the very best from all over the world. I took the initiative to join some Discord channels for open source communities and try to contribute to an open source which then somewhat went begrudgingly bad. Frankly, the experience wasn’t as good as I expected. Trying to pinch my way in a Google Summer of Code project, I am overwhelmed by numerous people trying to do the same.
I thought open source would be like this all the time and it failed me. But then, I took my second chance and joined Layer5. First two weeks, I tried to familiarize myself with the project and joined in the community calls. I remember sharing my screen the first time in the community call, and it was thrilling, my hands can't stop shaking. I was very excited to share my tiny bit of change in the UI which then welcomed wholeheartedly by the people inside. Overall, I met with a lot of wonderful people that don't mind extending their hands if I am in difficulty. My thoughts on open source were wrong and I realize that it's just a little badness from the overall goodness. Just like Yin Yang. Layer5 has been a supportive community that not only develops your technical side, it nurtures your thinking and reasoning.
My journey with open source started when I got into college and fell into the company of some geeky open source evangelists. They were the folks from my local open source communities, OSDC and JODC. I learnt there what it means to be a good open source citizen. The fact that I could learn by contributing to a real world project albeit being a student, novice in programming, intrigued me the most and thus I had this goal clear in my mind to make an impact by working on open source software. However, it was easier said than done. I started making small contributions to some projects that I came across but couldn't do much past that. Me being a shy kid and the lack of a welcoming community always came into my way. But this all changed when I approached Lee in the CNCF slack for a GSoC internship. I was invited to Layer5. Since day one, I could feel there was something much different about how the community is treated here. Just as I joined, I received a ton of welcome messages and resources to get started. With the course of time and some great advice I moved on from that internship. I decided to become a good contributor first. Though I started with small contributions here too, this time I was able to scale up with time with help and guidance from the community. Whenever I was assigned something, I tried to get my teeth into it as deep as I could before reaching out for help. This helped me learn a lot in a healthy way.
There was so much happening around and I wanted to be a part of it all. So I started attending all the meetings and was able to put my finger into many pies. I soon became better at expressing my thoughts and pretty soon, I developed an interest in CI/CD practices. Starting with small workflows, I went on to write GitHub actions for performing SMI conformance and SMP tests in CI pipelines. At the same time, I also found myself working on mesheryctl and the adapters as I came across bugs while working on the actions. Fast forward a few months and I was nominated a Meshery CI maintainer. I couldn't be much happier than this but little did I know there was more coming. I learnt about how internships worked at Layer5 during the time I spent and agreed with it in the best sense. Generally, open source projects tend to get more welcoming and open around the months of internship program applications. However, this short span often leads to unjust outcomes.
Thus, I believe paying back for what you give to the project is a philosophy in the best faith of everyone in the long term. I kept my patience until I was asked to apply for an internship and I eventually got selected. I finally knew that I had started to make that impact I always wanted to. During the course of my internship, I'll be working under the mentorship of Utkarsh Srivastava on improving Meshery cloud, the remote provider, and making it securely distributable and usable in "on premise environments". I'll also be collaborating with Ashish Tiwari on integrating a workflow engine with Meshery introducing best practices to be followed by management software. Looking forward to learning and growing during this time while continuing to try my best to help others in the community.
I knew exactly what I wanted to do ever since my childhood, I wanted to become a programmer. Technology related stuff always intrigued me. But I had to prepare for an entrance examination IITJEE which required enormous dedication and focus to succeed. And so, I had to put my coding dreams on hold till I joined college.
But after I joined college, I felt a sense of freedom within me, in the sense that I could now pursue my passion wholeheartedly. So, the next question was, "Where do I start ?". There were a lot of buzz words going around in my college among my peers like CP, Dev, AI and ML etc. I also noticed that people were forcing themselves to do them even when they had no sense of passion or appreciation towards the field. But for me, I always had more joy in the process of doing something than the outcome I get from it. So, I started exploring various fields to find what I loved the most. And I found that I wanted to do development.
So, I started working on myself. After I got the fundamentals clear, I wanted to have some practical experience to have an idea of how production grade products are being made. So, I worked on a couple of startups to get an exposure to real world development. And I learned a lot during that period. But then, I felt I needed to switch my gear. The idea of open source has always intrigued me the most but my efforts towards open source contribution has not been a success because,
- I always got intimidated by the size of codebase
- I didn't have people guiding me
Some of my seniors, who had the best interest in me, encouraged me to get into open source, but I did not take it seriously because I felt intimidated by the idea. I instead thought I would look for some open source internships that way I would have someone mentoring me and that would help me in starting my open source journey. I went through many programs but most of them were closed at that time, except, Meshery in LFX. I thought, this is the only choice I have, let's do it, I had nothing to lose. I applied for that program and as a prerequisite, I had to engage with the community. I looked at the community calendar and I saw that there was a newcomer's call that day and I attended it. I have never had such a warm welcome in any other communities.
On that day, I knew that this community is special and I should spend more time with it. I explored the projects and as usual, I felt intimidated, but this time, I had people, wonderful people to help me. I landed my first open source PR, which was a single line style change. But the encouragement and support I got from the community for that was so wonderful . I realised that this community is not just about building best quality products but also about building best quality human beings. It has been a roller coaster ride with Layer5 since then. I got so involved with the process that I had stopped caring about getting that internship.
The community has really wonderful people who taught me not only about coding, but also about "How to be". I am really grateful that I found this community and I hope that everyone has a chance to experience this. I started engaging more in the community projects, especially Meshery UI and always kept coming up with ways to improve it.
And fast forward to September 2021, I was told to enroll for the LFX fall term mentorship program and here I am. But, this has never been the goal for me, there is more to me and Layer5 than this internship. I will be engaged with this community as long as I can and will try to give back as much as I can.
I started my programming career in 2020 when my classmates were bagging internships.I started late because the first two years of my college I never thought that I was a "programming guy" as I always was more of a Physics/Mathematics guy. But in 2020, when the pandemic hit I started programming from "hello world". I thought I was too late to the party and often felt overwhelmed. After 1 year of getting a taste of everything from data structures, web development, databases and everything in between that a CS undergraduate comes across; I thought to call myself a Backend dev. But I still was dissatisfied and finding something interesting when I came across the concept of containerization which looked magic to me. From there it was a roller coaster ride to kubernetes and then understanding service meshes. I immediately was drawn into the entire CNCF ecosystem.
After procrastinating for a while, I learnt golang one night, made a side project to feel confident in it and dove back into watching CNCF talks explaining some exciting technology in Golang code.During all this my friend and also my current mentor, Utkarsh helped me through and through. He explained to me what Meshery is and I was immediately drawn in because Meshery is a good vantage point to the entire CNCF ecosystem. Believe me, while working on meshery at one point or another you will run into almost all major projects under CNCF. Like for any other beginner, it was all too overwhelming but exciting at the same time. Man it's such a rush when you realize that you don't know so much stuff because then there is an open window for absorbing all that stuff. I started going through docs, blogs and CNCF talks(shit that rhymed). I still binge CNCF talks. There is a plethora of good talks for you, if you are a beginner. I always prefer those over any "youtube tutorials". Anyways, back to my journey.
So two months ago, I found an open issue in mesheryctl. I solved the issue/enhancement, showed the code in a community meeting and got the PR merged. This was my first ever open source contribution. From there it just took off. I wrote a new command in mesheryctl then wrote unit tests. All this while trying to get an opportunity to write code for any core component like meshery server or adapters. Then one day I accidentally got into a WASM filter meeting(believe me,joined accidentally), got asked to add one feature and I said - "yes". And this is how it starts for most people. You get out of your comfort zone and say "yes", start learning new stuff, make mistakes, get corrected and the cycle continues. Fast forward two months, I was offered an internship.From what I have learnt as a person who started late is that you only need two things- "Curiosity" to ask questions out of your comfort zone and "Resilience" to absorb answers when they are thrown at you. Layer5 is an amazing community.
I guarantee you will not find such a warm and welcoming community so easily. If you come here for internships, you won't be here for long (or anywhere else to be honest). When your goals are solely to gain knowledge, experience while contributing to a niche, new and exciting tech- the opportunities will be waiting for you. I still have a long way to go and so much to learn. My journey with this project is certainly going to be longer than the span of this internship.
- Nithish, Ashish, Rudraksh and Bariq
Interns of Fall 2021