Pre-defined language, framework and library preferences
There are an incredible number of languages, libraries, frameworks and technologies out there and they're increasing in number all the time.
This site is where we'll document for ourselves the technologies we like and use often, as well as listing the choices depending on the intended purpose.
Automation: setup, provisioning, DB migration, testing and deployment
If you do something twice or three times, automate it. It makes sense. We setup, provision, migrate DBs, test and deploy stuff several times each week so automation doesn't just make sense for us - it's a necessity for the way we work.
We're big advocates of Continuous Delivery as an enabler for more agile methods of working. More on that to come soon.
We're lucky in that we get to work on greenfield projects a lot. As we do it a lot, it makes sense that we make it easier and easier to set up new projects and specific dependencies.
Here we'll document specific templates, what they're used for and what those projects will come with, out of the box. We'll also discuss how we use automated provisioning systems like Ansible and how we can re-use provisioning code to enable us to get specific databases or indexers up and running in minutes.
If something's worth doing, it's probably worth doing again. In that event, you'll often benefit from looking back to the original code to get some ideas or to wholeheartedly copy chunks of it. To make that work well, it's often a good idea to turn useful code into a library and open-source it.
We make use of a lot of open-source software to do what we do. It's only fair therefore that we reciprocate and package up anything that might be more generally useful to the wider public.