Languages, languages…

The standard language of Onebip is English, but being the development team located in Milan (with a few exceptions while speaking with colleagues from other offices), Italian is what is most commonly spoken during the day.

But since we are programmers, human languages are not the only ones we understand (no Klingon though). It’s just that often we talk (actually, write) to computers; and like people from different countries, they may speak many languages too.




PHP is first and foremost the languages we write in everyday. Even if most of the end users of Onebip see a single page application, there is a lot of backend behind it that is running PHP processes in a web server and with the cli SAPI, triggered by users, external APIs exposed to the carriers and internal timers.



JavaScript runs even on washing machines nowadays. We are covered for the server-side right now – but “talk” JavaScript for two wildly unrelated tasks: 1) the front end, consisting of the payment page and the administration panel; and 2) inside the MongoDB console, and occasionally for writing Map-Reduce tasks.


MySQL is still a key part of our systems; although MongoDB covers many unrelated persistence mechanisms due to its ease of setup, the transactional power of MySQL is key for a payment system. Race conditions security issues that would make MongoDB unsuitable are handle easily by MySQL transactions. So add SQL in the MySQL dialect to the list of languages to speak.



Last but not least, let me say we aren’t installing Rails anytime soon. However, on the DevOps side our system administrators are starting to work with Ruby as an higher level of abstration with respect to shell scripts. For example Chef, a tool for server configuration management, uses Ruby as its language for specifying which libraries and daemons a new machine should contain.

– Giorgio