One web application I used to maintain was using MySQL 5.6 as the main database for a couple of years, but we decided to take a leap and upgrade to MySQL 8.0 to benefit from various improvements: performance, extended online DDL operations, JSON support, …

After weeks of testing, once…


Disruptive Deployments

One backend application I used to work on was written using the Django framework, and production web servers were powered by Gunicorn: whenever we performed deployments, the gunicorn workers were restarted (to be more accurate, they were stopped and started again).

However, restarting the production Gunicorn workers was usually followed…


A stupid challenge

A few months ago, I was playing around with C++ by trying to build an MVC web framework similar to Ruby on Rails. The project itself didn't have an end goal, besides experimenting with a few things, but it brought interesting challenges.

One of the challenges was routes configuration. One…


I don’t like open-source: I love it!

I first started to contribute to the open-source community in 2013 during my very first software engineering internship. I was really anxious and excited at the same time when I opened my very first pull request! …


The most rewarding feeling you can get when building an open-source project is when others are contributing to it! It is truly exciting and it always makes me happy, even tiny code changes!

But be wary! A rookie mistake is to accept all incoming pull requests as-is. It's understandable: someone…


After releasing and promoting your project, you can expect some people to start playing with it: congrats!

The flip-side of success is that your users will open some issues on your repository for various reasons: bug reports, questions, suggestions, …

Receiving your first few issues can make you feel anxious…


You have developed your project, you thoroughly tested and documented it, and you just made your first release!

So now, what's next? Working on the next release? Waiting for people to use your project? Move on to another project?

Even if your goal is not to get adoption is to…


Once people start to use your project, you need to make sure you don't break things unexpectedly for them.

More specifically, your users have built their projects around a specific version of yours. You may have great improvements to release, but your users do not want to discover these changes…


There is nothing worst than an undocumented project. People shouldn't have to guess how to use your project by spending time reading your code.

Writing documentation is usually considered boring, similar to writing tests. It does not even help that developers frequently argue about the usefulness of documentation in the…


The README of your project is crucial and strategic: this is the first thing people will see when they find your project. Whatever features you provide and however elegant your code is, most people will only look at your README. …

Simon Ninon

Passionate about programming since middle school. French living in San Diego, California. Senior SRE at PagerDuty.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store