Recap: Year 2017

Recap: Year 2017

I've never written a post like this, but I think it's worth writing something about 2017 now that we entered 2018.  This is not just for you, also for myself, to take a step back and see what I've done (or not). There are many things I wanted to talk about so I just divided them into their respective sections. Let us start with my family.

Our little lion: My son Alper

We have a little son since April 2016. Since then, my son  grew and I can't still wrap my head to think how everything went so fast. I work from my home, therefore my interactions with my son are very different and rewarding.

As Alper started to grow, we had to make a lot of adjustments throughout our apartment.  Especially when he started to walk around. Some of the things that comes to my mind to make the environment more safer for him are:

  • We lock our main house door now. In addition, I also lock my office room from inside as he usually tries to first open my door (because I have music and headphones). He is a great distractor.
  • All shelves under one meter with pokey items or things we believe could harm him are either locked or emptied.  Ikea has really great products to lock things that don't have locks by themselves. For example, we use this multi latch item a lot.
  • Some tables have now corner bumps to prevent Alper hitting sharp corners (we use these from IKEA)
  • All wall outlets have safety plugs to prevent Alper sticking small items or playing with them.

Of course, life is not just about safety. One of my most favorite things to do is to play with Alper whenever I can. We even dedicated one portion of our living room entirely to him with full of light. It's winter right now, so we wanted to provide him a place where he could hide, build things or just do nonsense things (for us adults) without any limitation.

Alper’s playground at home

Working remotely and having a kid is the best thing and the most exhausting thing you can experience. It's great to see how your little child grows and how you can literally spend time with him. Unless some other parents, I see my son every single day from dawn to sunset.

With all great things, it also has its up and downs of course. As Alper grew and he started to crawl, he detected that I'm always in that one room (office room). Now that he can walk and can reach door handles and open doors by himself, I've started to see random interrupts where a little boy came into my room, laughing and wanting to listen to music with me. The temptation to resist is not easy.

I'm now locking my door from inside during my work hours so he can't disturb me anymore. I'm not sure how things are going to evolve, but so far to any change I made, he found a counter-attack and was able to mitigate in a way I didn't imagine. Let's see how he plans to bypass my locked door.

Another point is how less time I have now because how much care Alper needs. He is still a baby and requires constant attention and the care of his parents. Previously in the evenings, I would have time to hack on vim-go or on any other new project, but nowadays this is not the case anymore. I have to make sure to plan ahead how I can spend my time. Sometimes I say myself that I want to work on something in the evenings, but when the times comes I'm left out of energy and barely want to do anything anymore. I'm going to take some precautions to make it better (see conference sections).

Just like any other ordinary parent, I can speak about Alper all day long. So I'll stop here (p.s: arslan means "lion" in english, hence my little lion ;))

Trips

I really like traveling. We usually do two big family trips per year (one overseas and one domestic). We also do 1–2 day weekend trips in Turkey to various other cities (Bolu, Istanbul, Adana, etc..). Each city in Turkey has it's own kind of food (i.e Adana with its kebabs) or environment (i.e Bolu with its mountains and forests). All these combined help us to get some energy and rest from our day to day work. Also, life is not just about work.

Before Alper, it was just Zeynep, my wife, and me. However, with Alper, everything has changed quite a bit.  It was hard to adjust to the initial trips. because we didn't know how a one-year-old baby would act in the public for a long time far away from its home. If it was difficult for us, I imagine it was the same for Alper as well.

Zeynep, Alper and me at Nymphenburg Palace - Munich, Germany

For example, we were in Germany (Munich) and Czech (Prague), throughout our vacation Alper mostly was on the stroller as he couldn't walk back then. We went with some friends there and it also created some burden to them. But it was a great experience for all of us. Traveling with a kid is not easy. However, I'm a strong believer that no parents should change their personal lives dramatically unless it's required. Life should continue how it was previously and we should adapt continuously to the new challenges.

Speaking & Conferences

This year was the year of conferences for me. I've started first speaking internationally at DotGo 2015, Paris. Since then I've tried my best to deliver great talks on various different subjects (but mostly Go tooling). After giving tens of talks, I can now say that I'm much more relaxed and I know how to give talks.

GoCon 2017, Tokyo

I've attended a lot of conferences in 2017.  As always, I've tried to give a talk about a subject I believed was interesting. In 2017 I've visited the following conferences

I've received a lot of invitations from other countries as well (thanks all!), but I had to, unfortunately, reject them as I didn't have the time. I wish I had more time, but now that I'm a father, I want to spend more time with my family and our little lion. Also, I'm not a developer advocate, so speaking is not what I do full time.

On average I'm spending 4–5 weeks for preparing my talks and it takes a lot of time and patience to prepare something that is worth presenting to others. It's not easy and very time-consuming. I'm not sure how long I can sustain this, giving the fact that I have many other things to do.

To conclude, I don't plan to give any public talks in 2018 anymore (except a local one here in Ankara soon as I've promised them). I'm planning to re-spend this time towards my current open-source projects (more on this later), to write more technical blog posts and work on new upcoming projects I have in my mind. I know that many people in the Go community would like to have me for their upcoming conferences, but I plan to take a step back and spend more time on things I believe need more time.

Open source

I really like open source. Open source was the reason I'm here and how I can earn money for my family and myself. That's why I always think it's never late to give back. I'm now doing open source work for almost 10 years with various kind of projects.

In 2017, I've created a new Go tool called gomodifytags. This was a huge success and was adopted by all mainstream editors (vscode, emacs, atom, etc..). Some of you know that I'm also the author & maintainer of vim-go. Observing how something that is not vim related was also adopted by other editors made me very
happy.


Vim-go continues to be a very successful project. I've learned that I really like to create products and providing tools that enhances how people interact with technology. Vim-go provides this playground to me. On the other hand, vim-go is now used by thousands of people from all over the world and I'm also trying to make it very stable as well. This success came with an award from Google and I've received the Google Open Source Peer Bonus award. Yay! A very proud moment for me.

But, with all good things, there are also things that get hard. Vim-go's popularity never stopped, with it the number of issues, feature requests, feedbacks, etc.. also didn't stop. I was the sole maintainer of the project and therefore it was very hard to keep up with changes.  Luckily two great persons have joined maintaining vim-go with me together:

Managing vim-go is now much easier with the help of Martin and Billie. (I'll plan to write a lengthy blog post about the history of vim-go itself with much more information)

Beside vim-go, I also have other open source projects, such as color, structs, pool, etc.. These are all popular Go packages that are used by thousands of people in hundreds of projects out there. In overall, I've received many PR's and bug reports. I believe most of my projects are well done and don't need any big changes. I never did huge refactoring or similar things as those were not. But no project is done and as technology evolves new things appear. So those projects always need maintenance.

DigitalOcean

It's been now 2 years at DigitalOcean and it's still going strong for me. The last year went very well for me. I've worked  very hard to improve & maintain our existing platform for delivering applications. We actually created this platform in 2015 when I've joined the company, so I know all the in and outs of it.

It's called DOCC ( DigitalOcean Control Center, fun fact I've coined the name) and is built on top of Kubernetes. Because it's not a big secret anymore, we also gave many talks about it. Check out my manager Mac Browning's talk about how we wrote our application delivery platform on top of Kubernetes.

Our internal platform built on top of Kubernetes to deploy and manage applications

The last year I've learned a lot more about the internals of Kubernetes. I wrote multiple controllers, created CRD's and also upgraded several times our internal Go Kubernetes version in our monorepo (it was not easy).

Kubernetes is really an awesome project and I'm very lucky to be on a project that allowed me to use it extensively in our daily work. Not all of my work was directly involved with Kubernetes. There was also work to improve the CI/CD systems, our internal Go tooling, etc..  In overall it was a fully packed year. I can't write a lot but in overall I've worked on these things:

  • Persistent volume support that uses DigitalOcean block storage with ingress support for each individual pod
  • Job/Cron job support with notification support upon success/failure
  • Monorepo improvements and maintenance (I've covered this in Gocon 2017, Tokyo. Check out the slides for more detail: Go at DigitalOcean)
  • Auto TLS cert (signed by internal CA) provisioning for applications.
  • UX/UI improvements for interacting with DOCC

Each of these bullet points can be a very lengthy blog post. In 2018 I'll plan to write more on these subjects.


Finally, starting with 1.1.2018, I'm switching to the Container team and going to work on our upcoming products. 2018 will has its own new challenges and I'm looking forward to showing what are we planning to work for!

Blogging

I'm blogging since 2004—2005. Back then it was in Turkish. I'm not sure when, but at some time I've decided it was time to write in English (to reach a wider audience). I've purchased arslan.io and started writing on Posthaven. Posthaven was a simple but working platform. However, it was limited in several ways (no customization, no https, etc.. these were all added later but though). Later I've decided to use Medium.com and started writing there. Writing on Medium is still the best experience I ever had. Also, I miss how I easily I could share my blog posts privately for review.

My Medium.com journey didn't last long and I've decided to move back to my own domain again. I've used Wordpress.com for several months but didn't want to commit and changed the underlying blogging platform to Hugo. Since then I'm here and very happy what I have.

Current design of my personal blog

I'm lucky that I could get the domain arslan.io. Though there are some concerns about it. For me, it's not a big deal until it gets serious.

2017 also a was the year where I started to blog more. The number one reason was that I believe written medium is better than short explanations (i.e Twitter) or verbal ones (i.e Youtube). I'm much more productive when I read something rather than listen to something. That's why this is also the way I can reflect myself better. I also like shooting videos of course, but that needs another serious dedication and equipment, which I'm not prepared for yet!

Beside that, one of my blog posts, "The Ultimate Guide to writing a Go tool" was one of the most popular article in 2017. This further solidified my commitment to blogging.

Bags

This year, I also started to write more about the things I like.  I've discovered that I really like bags and was obsessed with one-bagging. I've switched my style and don't travel with any kind of rolling bags anymore unless it's required. I don't check any bags either. Throughout the year, I've traveled to Italy, U.S., Japan all with a single bag (Goruck GR1 and Tom Bihn Tristar).

After reviewing my first bag, I've also discovered who much I like shooting bags in various conditions. Bags, the ones I like to review, have tons of little details and you appreciate when you detect a good design. This also means, the amount of time I've spent investing in writing bag reviews increased as well. So far, in 2017 I wrote these bag reviews:

I'm not sure what bags I'm going to review in 2018. I have an Everyday Backpack from Peak design, so I'll plan to review that, but let see what other bags I'm going to review. I don't have any clear plans here.

Recap

2017 was a fully packed year for me. I've traveled a lot (Italy, Germany, Czech, U.S, Japan, and Turkey). I wrote about 11 blog posts, which averages to about one blog post per month. This was unintentional, but it was a great that I could keep up the pace here. I've improved my speaking and even gave talks in Japan (this was a life goal for me and I'm very happy I could achieve this). I've struggled on the open source side of my projects a little bit (in the second half), but it wasn't as bad as I've imagined.

What do I want to do different this year? I don't have clear plans, but some of them are these:

  • Continue spending quality time with my family
  • Stop giving conference talks and spend the time for other projects (I have
    some clear ideas already, just need to start)
  • Learn a new programming language. I'm thinking of Swift or Rust, but I need
    to find a good case for it.
  • Write more technical blog posts.

Let's see how things evolve until the end of 2018.  Thanks for reading all this and happy new year :)