Tale of a golang developer
Hi, I am Michael, a french software developer. After studying at ENSEEIHT, I got a master degree in computer science and applied mathematics. From 2012 to 2017, I worked in a startup specialized in web marketing as a software engineer. I am currently working for an advertising company in Paris as a backend developer.
I really like creating web applications. I released my first scrappy html pages in 2003 and I have never stopped learning new things since then. That allowed me to produce software that is easier to maintain, more reliable and more scalable.
And although I prefer to work on the backend, I like to be involved in all the steps of the process. It is just the joy of combining pieces together to make something functional and useful.
I have been interested in go since 2014. This interest has grown, and even more so since 2015 when I started using it at work.
Before coming to go, I mainly used php. But it was not always enough and I was looking for something that would work concurrently. Something that would be faster, but would also be easy to use. Go hits this sweet spot. Especially for my personal projects, where java memory consumption was too high for my poor server.
The tooling around go, the ease of its deployments, its type safety are all things that make impossible for me to go back.
When I was working with php, I used the symfony framework. Symfony is a really powerful framework. And I would love something like this in go. One core concept of symfony is its dependency injection container. It allows the framework to embed the best php libraries. It gives the impression that they are part of the framework even if they are libraries that can live by themselves.
It is the thing that I missed the most when I switched to go, and that is why I have been working on a dependency injection container library. Two actually, one is called di and the other one dingo (which facilitates the use of di).
I am also working on a framework that uses dingo to unify the best go web libraries. The goal is to design an opinionated project structure that allows the creation of web applications in a matter of minutes.