How to Evangelise a Github Library with Maxim Bartkov

Written by monkdi | Published 2022/06/28
Tech Story Tags: programming | evangelism | bucket4j | github | libraries | evangelise-a-github-library | github-library | open-source

TLDRUkrainian developer Maxim Bartkov is one of the two co-authors of the JAVA library Bucket4j. He is 26 years old and has eight years of experience in high-load systems and microservices. In this interview, Maxim tells about how he became a Technology Evangelist and what are the main ways to promote a GitHub repository. The most impactful for marketing of your library are Reddit, Product Hunt, writing articles and giving speeches at professional conferences. via the TL;DR App

Promoting a Github library could be a challenging task – sometimes it takes years to become noticeable and get enough stars to enter the ratings. That’s why Technology Evangelists exist – their goal is to popularize a particular piece of technology amongst other developers.

How to do it right? Let’s learn from one of the youngest and most effective Technology Evangelists on GitHub – Ukrainian developer Maxim Bartkov. He is one of the two co-authors of the JAVA library Bucket4j, which for now has 1500+ stars and downloads more than 250.000 times per month. In this interview, Maxim tells about how he became a Technology Evangelist and what are the main ways to promote a GitHub repository.

Hello, Maxim! Could you please tell us a bit about your background and how you became a technology evangelist?

Hey there! I am 26, a JAVA developer with eight years of experience, and I specialise in building architecture for high-load systems and microservices. I became an evangelist and a co-author for Bucket4j in 2021. The funny thing about that is that I was offered to become a co-author even without writing a string of code!

Nice! What does the library do?

In a nutshell – it’s a solution for rate-limiting. For example, a developer publishes an API and wants to limit the number of calls for it, for example, to a hundred per hour. Our library allows you to limit it on the app level, and not at the infrastructural one. Of course, in a lot of cases, it’s better to implement rate-limiting on the infrastructure level, but some cases require a different approach. That’s when our library can help.

Thanks for the explanation, and how have you become a co-author?

On one of our projects I needed a rate-limiting solution, I googled it and found the library. I leapt on the solution and after several uses, I decided to write an article about it. So, I reached out to the author of the library and asked him to check the article – he agreed. That’s how we got to know each other.

Following that, I got a crazy idea about publishing a scientific article. I found a co-author (it has to be a person with a PhD), a journal – the International Journal of Online and Biomedical Engineering, and spent a lot of effort to publish the thing – the whole publishing cycle turned out to be very long.

After this, I started to promote the library on Reddit, Product Hunt, HackerNews, etc. Also, I wrote several publications for tech media, and the library’s documentation, and suggested a few improvements for part of the functionality. That’s when the author of Bucket4j proposed I become a co-author. That was unexpected because at that moment I had written zero strings of code for it, but still, I realized that I had already made a significant contribution. However, I had written a very substantial part of the documentation, so that was a rational decision. Spoiler: since that time, I have contributed a lot to the library (not only from the point of code).

Okay, articles. Could you tell us what articles have you written and whether it has helped to promote your library?

The most impactful were two publications. I wrote quite a detailed “How to” guide on our library on Dzone– one of the largest resources for Java developers. I tried to make that article as simple as it could be – added some illustrations that explained the principle of the library work with visual examples, and provided pieces of code with comments. As a result, the article has got around 10 000 views and brought quite a notable amount of traffic and stars to our GitHub repository.

I’ve translated this article and also posted it on the largest Ukrainian developers community dou.ua. It started quite a lively conversation – 26 comments total and also brought some stars for our repository on GitHub. Another cherry on top was that participants really tried to contribute to the quality of our code – as result, we got a couple of ideas for optimisation. So, articles could be helpful also from a crowdsourcing point of view.

I can’t say that articles are the best way to promote a library. But they are good for increasing awareness and finding like-minded people who could contribute to your code.

What about Reddit and HackerNews? Were they effective?

Reddit worked as right as rain, from a mid-term perspective. We’ve got approximately a hundred stars from our publications. The trick is to think about a benefit for the community, find the right threads, and have some previous activity in your profile. Here are some posts, for example, one, or two.

HackerNews wasn’t very effective but still gave us some traffic. Maybe I should have asked my network to upvote my post and the results would have been better.

Writing a scientific article… Was it helpful?

Actually, I am of two minds about it. Writing a scientific article was more like a personal challenge for me. That took an enormous amount of time. Regarding library promotion, I would say that it’s good for a general awareness increase and useful when you apply to some event as a speaker. But for more practical results I’d recommend Reddit activity, events and writing articles for specialised media. You can check the articleif you want.

You mentioned events. Was it hard to get there as a speaker? What effect has it had on your library promotion?

Well, some events were easy to get into as a speaker. Others were a really tough row to hoe – you have to be very skilled in your speciality and pass several interviews with the organizers and polish your speech lots of times before the event. It was fun, though, and very useful for improving public speaking skills. The top three events I had my speeches are Stage of Java, JPrime, and Jpoint.

Regarding the effect – that was tremendous. Events can get you hundreds of stars on GitHub, and more importantly – solid connections with influencers and publications in media. I totally recommend this channel for your library promotion.

Any other channels you’d recommend using?

Our Product Hunt campaign had quite good results, we were featured and got a lot of traffic and stars. I definitely recommend giving it a shot. I posted it there and also asked some of my friends to upvote it, and shared it on social media.

What personal qualities are needed to be an effective Technology Evangelist?

First of all – being very proactive. You should accept all proposals to discuss your library, answer every question and try as many ways as you can, come rain or shine. Second – you have to like people's attention and admit it to yourself. Third – constantly improve your soft skills: writing, sociability, and public speaking. Last, but main – you must go as deep as possible into a topic you promote! Those are the basics that could give you a start.

Thank you, Maxim, for so much information. Dear readers, if you know more ways to promote a software library – please share it in the comments, let’s crowdsource our experience. We wish your libraries to get thousands of “stars” on GitHub and get into “GitHub trending” someday. Break a leg!


Written by monkdi | I write about Product Management, Marketing, and New Technologies
Published by HackerNoon on 2022/06/28