Recently I had to convert a manual jenkins build job into an automated job that will trigger each time a push gets made to the SCM server. For SCM I use git with the help of a git management tool called gitolite which allows you to setup and configure your git management from within a git repository, talk about meta.
As of recently I have been picking up C++ again, and having used Premake in the past, I thought it would be a great time to try out a new build management tool. I chose CMake as it seems the more mature of the build management tools as well as having a large adoption rate meaning a lot, if not most, 3rd party libraries have CMake configs readily available.
GoLang is an interesting language in that it is an imperative language by all accounts, yet because of how it is build and handles composition, it essentially allows you to write Object-Oriented code with very little difference to how you would in say C++.
The term scalability often gets thrown about when creating online services. Most people just assume it means having the ability to add additional servers on demand, and to an extent that is mostly what it is, but of course if you are in a situation in which you have the need to add more servers all you are doing is moving the bottleneck further up the line.
A while back whilst researching languages for a new set of tools, it became apparent that ease of deployment was a definite benefit. On one hand there was Go which can be compiled to a single native binary, on the other there was Scala a language I personally preferred due to its compatibility with Java libraries and tools, as well as it forcing me to learn functional programming, but that has a lot of dependencies in the form of the JVM.