Over the past twelve months, I’ve been doing lots of interesting stuff, and I haven’t really had time to recap… before now 🙂
I’ve been participating in the Kubernetes open source community, which has been really fun, been attending upper secondary school, been travelling to the US for the first time, been playing soccer, and been learning a lot in general.
Here are some of the highlights from my 2016:
General Upper Secondary School in Finland
This is probably where I have consequently spent the most time this year, in school. And it has mostly been fun. I mean, in Finland we (still) have the welfare system with high taxes but free school, so attending Upper Secondary School (High School for those in the US) has been free of charge.
Since I’m natively speaking Swedish, I’m attending a Swedish school. But what’s interesting and very special with our school is that there’s two schools in the same building, one Swedish and one Finnish. This has in my opinion been a great way to learn some more Finnish (I’m speaking Finnish quite okay, but not natively), by talking and working together with the Finnish students.
I also was lucky enough to be one of the 24 from my school that travelled to Strasbourg in France for the Euroscola event. Euroscola is an event where students from all over Europe comes together in the European Parliament and discusses various topics, for instance The future of Europe and EU or Human Rights. It was an amazing experience to visit the heart of Europe in the form of the city of Strasbourg with my friendly fellow students, from both schools.
Starting to hack on the official Kubernetes code…
In May 2015, I first heard of Kubernetes. I thought it was awesome that design concepts that had been confidential inside of Google, one of the greatest tech companies in our time, was released as open source. I was invited. I decided to learn how it works. Unfortunately, at that specific point in time, I hadn’t access to a Linux computer, except for my Raspberry Pi. And then things went fast, during the summer, while not playing soccer, I got Kubernetes working on my Pi. I realized I had done something really cool, and I wanted to show that to the world, and see if there’s anyone interested. So in October 2015, I published my project Kubernetes on ARM, which I’m today officially deprecating.
In the beginning of 2016, I had the goal to move the code I had in my Kubernetes on ARM project to the official repositories. So I simply started making pull requests agains the main repo.
In February, I went to a competition for Upper Secondary School Students in the Swedish-speaking part of Finland, called TekNatur. I went to Helsinki and demonstrated my Kubernetes on ARM project, and won my class!
That was quite cool, I introduced people there to Kubernetes and showcased it, told them what it was, how it worked and why it matters. I haven’t seen many companies or people in Finland expressing interest for Kubernetes yet, but I feel it coming (thx The Weeknd for making awesome music) soon.
…which leads to becoming a Kubernetes Maintainer…
Porting Kubernetes to ARM officially during the winter/spring of 2016 went really well. I participated for real in the community for the first time, and saw my contributions getting merged from the people I had (and have) as role models, mostly the Google and RedHat folks working full-time on making Kubernetes better. That was just amazing.
But it got totally crazy when I then was invited to the Kubernetes organization, and one week later in April became a maintainer, thanks to the work I had done. I just didn’t contribute code, I also was active with answering user requests, pinging maintainers on stale/old/fixed issues, identifying duplicates, reviewing others Pull Requests, and so on. Because it felt like I did something important, and that’s probably the one of the strongest motives one can have for doing things. I recognized directly that this maintainership was a mark that the maintainers trusted me, and that was valuable to me personally. I’ve been keen to always do my best for the project, and now I got the chance to improve the project even more!
I continued to implement the feature I’m the author of: Multi-architecture Kubernetes. When v1.3.0 was released in June, Kubernetes could officially run a cluster with mixed architectures between amd64, arm and arm64. That was really awesome!
During May, before my first year in upper secondary school ended, I was in the maintainers team for Minikube as well. I jumped on that boat when I saw there was only one person actively contributing on it; I could make a difference there. Also I wanted to improve my Go skills, and starting a project from scratch (initially there was only a Markdown file) felt like a good way to do that.
During the summer, I played soccer in a local youth team on a hobby basis, worked for an IT company that does websites and apps for businesses 100 kms from where I live. It was kind of my first real summer job, so that was exciting as well. Lastly, when I was not swimming at the beach, I was writing a proposal for how multi-platform Kubernetes works and should work. Funnily enough, I wrote the proposal _after_ I had made all necessary changes!
…and a journey to KubeCon Seattle!
In August, my second year in Upper Secondary School started. Meanwhile, the sig-cluster-lifecycle group was formed, and I had always been interested in making the setup/bootstrap story of Kubernetes easier, so it was a natural fit for me to attend those meetings from the beginning.
This was special for me also, because I had only been hangout-ing with others on the internet like 2 times before, so it was a great experience to see the other folks there and see how it works etc. It took about 3 hangouts before I talked in the SIG call, before that I had only been commenting in the chat. Achievement unlocked!
We did a terrific work in time for v1.4, and managed to get kubeadm released in time. Funnily enough, our PR for kubeadm into the core repo wasn’t technically lgtm’d on the day before the release, so I lgtm’d the PR so we got it in in time the evening before a Maths test in school (The Maths test went really well anyway, I promise).
During the autumn I also got the offer to come to Seattle from some Google folks. It was unbelieveable initially. I couldn’t really understand it (and I don’t know if I have realized I was there for real yet either :-)!)
I got the diversity scholarship and the possibility to bring my Dad with me as well, which was a requirement for me to come. I just turned 17 after all…
The journey from Finland to Seattle was long (~13 hours), but definitely worth it. On the Monday before KubeCon, I had the opportunity to visit Google Seattle for the first sig-cluster-lifecycle in-person meeting ever. It was a great meeting, and visiting Google was spectacular. Later that evening, I and my Dad headed back to Google for the Seattle Kubernetes Meetup, which was really interesting to see. I realized the meetups are important social events for the community. This was the time when I met a lot of Google people I only had known by Github handle before, and it was really cool to see that most of them recognized me by name as well!
The first thing that happened on Tuesday at KubeCon was breakfast, and I was interested in what the panel at The New Stack’s Pancake Breakfast had to say, so I headed there. There were lots of people already there, so I went to one of the tables at the front of the room. There I met Alex Williams and he asked me if he could ask some questions and let me introduce myself for the audience during the show.
I said yes. It was a totally crazy thing to do, but brave I guess. I had never spoken English in front of an audience before. Now I have. And I will do it again!
Then I went to the large stage in order to listen to the speakers. One of them, Chen Goldberg, talked about the community. She also mentioned me as the youngest contributor of Kubernetes, which was really cool.
I spent the rest of the Tuesday and Wednesday mostly talking with people in the lobby and at various company booths. It was my first experience of such a large conference, and my first visit to the US, so I got a lot of impressions at the same time.
All in all, it was an amazing experience!
Lastly, on Thursday I attended the Kubernetes Dev Summit where we planned for 2017. I can say 2017 is gonna be an exciting Kubernetes year as well!
On the way back home from KubeCon, I wrote a document that summarized the technical discussions we had regarding sig-cluster-lifecycle and kubeadm. I later turned this into a more user-friendly text on what our goals with sig-cluster-lifecycle and kubeadm are, and that post is gonna be published on the Kubernetes blog in the beginning of 2017.
So far, my Github and Twitter accounts have been using the autogenerated Github user picture that might be well-known to some readers of this blog post:
I’m planning to show this more descriptive image of me during the next year instead:
While I’ve enjoyed my privacy, folks have just known me for my contributions and comments in text. I think it has been good to not expose too much personal information in the beginning, but now it feels like it’s a good time to expose a little bit more about who I actually am. Hello.
My first contracting customer
Lastly, I’ve just made a small private company for myself so I’m able to do contracting work, and now in December I got my first customer, Weaveworks. We have started a contracting journey together now where I’m splitting the spare time I have for programming between to work on sig-cluster-lifecycle stuff and to work on Weave projects.
This was an extract of what I’ve been doing this year. I hope yours has been good as well!