After finishing my bachelor’s degree in computer science, I got a job as a consultant. In about one year, I worked at two very different projects. In the first project, we were 5 developers working on a case management system. The second project was devops driven, with between 20 and 30 developers working on an integration platform.

Project 1

tools

project management

To ensure code quality we had a QA checklist, an excerpt:

As “everyone” else, we worked in “sprints” and had retrospectives. Status meetings were once per week.

Workflow

technology

Backend

frontend

Since SQL server does not work on a mac, a SQL server docker container was used. This was the first thing I actually fixed on the project, before, mac users had to run SQL server in a windows VM.

deployment process

project 2

tools

Same as project 1, except Github enterprise for version control.

project management

This project was devops driven. Developers were in addition to writing new code, responsible for deploying and monitoring the applications.

teams

problems

Workflow

technology

scripts

There were a lot of scripts for automating tasks, examples:

It worked like git and many other tools with subcommands. base_command sub1 sub2 --options.

deployment

old method

Custom bash/python script. One problem with this approach was that to be able to deploy, every developer had to have a lot of dependencies installed on their machine.

new method

deploy via ansible playbook and a python flask app.