There are times when you have to take a step back and observe your surroundings. What is happening around you? Sometimes you’re not aware of the things, things that might be harmful to you or put you in a position that is not any more pleasant. After reading “It Doesn’t Have to Be Crazy at Work”, I decided to make a big change in my life.
For the last one year, I’m struggling to maintain my side projects. I feel like I’m burnt out. Maybe I am and I wasn’t aware of it? I’m not sure … One thing that I’m sure is, I’m not happy how my day to day life is evolving around me.
Working on a side project is fun until it becomes your second full-time job.
When I first started creating vim-go, it solved a problem of mines (and many others). It was fun and it was very rewarding because in exchange I was getting more and more productive with Vim. I no longer had to use another editor because I was using Vim since 2002. It was the editor for me. vim-go enabled me to write Go inside vim, in a very efficient and productive way (and still is).
My side projects didn’t stop with vim-go though, I started to create many other small Go packages and tools. Some became very popular, such as the color and structs packages. Working on these projects were fun. Again, it solved many problems and back then I wanted to use Go packages that are easy to use and just works out of the box. I also really like to work on Go tooling and editors.
Creating gomodifytags was one of my most enjoyed projects so far. It has zero bugs and it just works. I kept it simple by design because I didn’t want it to become a full-time job. But this is not the case for many of my projects, especially vim-go. With the popularity of all these projects, my day to day work also increased.
What if I said to you, that you have to spend 10-20 hours per week, outside of your day job just so you can maintain these projects? How scalable and feasible is this tempo? Every single day, when I open my e-mail, I pray that I don’t receive yet another Github email. Pull requests, issues, feedbacks, fixes, etc.. you name it. I can no longer maintain this tempo and I think it’s insane when I continue doing it. Economically, it doesn’t make any sense anymore (not just in terms of money, also in terms of well being).
As some of you know already, currently I’m working for DigitalOcean and we’re going to soon release a brand new managed Kubernetes service. It’s very exciting and something that I’m very eager to share with you all. This is my full-time job. I have a family to take care of and just like any other grown-up in the world, you do what you have to do. However, there is no place for Go tooling and editors here. It’s a hobby and passion. But if a hobby feels like it becomes a second full-time job, something is very wrong.
The time has come to end this craziness.
A new direction for vim-go
Starting today, I’ll be no longer maintaining vim-go anymore. I’m taking an indefinite sabbatical from the vim-go project. This means I’ll be no longer overseeing it and I’m not sure when I’ll be coming back to work on it again. It’s been 4.5 years since I created the project. It’s very hard for me to do this, but trust me I’m thinking about this for a long time. I cannot continue this anymore without sacrificing my own well being.
However, this doesn’t mean that vim-go itself will be unmaintained. It’s not! For the past 1-2 years, there were people who were contributing to vim-go and eventually became full-time contributors. These are:
I had a chance to speak with Billie about my intentions and the direction of vim-go. Having said that, from now on Billie will be the lead of the vim-go project. He has already hundreds of contributions to vim-go (recently added unified async support for Vim and Neovim) and knows vim-go’s code base very well. On top of this, I worked with Billie together at DigitalOcean for a long time on the same team. He has tens of years of experience, is an excellent communicator, team player, and a very good lead. I don’t know if I could find anyone else that would make a great fit than him. I’m very lucky to have someone like him. The vim-go community will be in very good hands.
Also beginning today, I’ll be sunsetting most of my popular Go projects and packages. I will go over them for the last time, archive the repos and will be no longer maintaining them. This means, if you depend on them, you’ll be still able to fetch and use it with your projects. I think most of them are in a very good state and don’t need any additions anymore. My hope is that some people from the community will fork these projects if the time comes and people will switch over it.
Here are the projects that will be archived:
These are the projects I’m still going to maintain:
I really like working on these and they don’t require constant attention from me. These will be maintained, which I call in “sleep mode”. So if a pull request comes in or if someone opens an issue, I might go over only for serious issues (i.e: it doesn’t work with latest Go version). However, things like feature additions will be only checked whenever I have time.
As I said, I’ll be still working on small/existing projects (see above). I have now so much time that I’ll be spending for myself. For example, I have a side project that I’m working for a couple of months privately (more on this in the future). It’s fun and I enjoy every single moment of it. It’s fun because I don’t have any obligations anymore! I don’t receive up to 5 - 10 emails per day and I learn a lot of stuff during this process.
Now that I took over my free time, I can do whatever I want, play more with my son and just hang out all day, without doing a single thing. The weekends belong to me, and I can spend it very differently. I no longer have to worry about the last opened pull request’s to vim-go or my other Go projects anymore. It just feels so refreshing, it feels liberating!
I wish I could sustain and work on these, but life continues. I suggest everyone do the same thing, take a step back and see what’s happening around you. It’ll help you to become a better yourself.
For all the people who have helped me creating these projects and contributed back in various ways. Thank you so much, I really appreciate it.