Introduce Go (that had great adaptation)
We got to a point where we had to start deploying some apps on low-end machines and ruby stopped being the right tool for this problem. High memory footprint, tricky to track memory leaks pushed us to the corner.
Once we were in that corner I started looking into compiled languages that could be potentially easily adapted at our company. Go seems really attractive in that department - really simple syntax, solid tooling, ridiculously simple deployment (single binary) and it was gaining more and more attention (for example it had great
netlink library that we could just effortlessly consume).
I drafted the first proof of concept of the app and we didn’t have to observe results for long - really good CPU usage, very steady memory consumption - everything looked super promising!
Later on, the whole team took over Go as their primary programming language and they created more and more small binaries and APIs for different purposes while still using Ruby for most problems.
I still tent do use Go from time to time - especially almost free threading (go routines) is really useful - combine that with multi-stage docker compilation you can build things in almost no time.