Boris Brodski · Rails · since 2008
Ruby on Rails
Ruby since 2008, Rails since 2010 — mostly inside Redmine, where I build large plugin suites, audit third-party plugins, and run the installations in production. Puppet for everything around them.
Redmine specialist. Plugin suites for data exchange with external systems; Git/Gerrit workflow integration; running the installations themselves.
Audits, not just features. Security review of third-party open-source plugins before they reach production.
Operations included. Podman containers, Restic backups, data anonymisation for test systems, JMeter load tests.
Ruby beyond Rails. Puppet modules and infrastructure as code for a large Java platform.
Redmine
Redmine is Rails with fifteen years of conventions on top, and plugins are where it gets interesting. Since 2022 I maintain a large plugin suite for an energy-sector client — bidirectional data exchange and data maintenance with external systems — and I run the installation: containerised with Podman, backed up with Restic, load-tested with JMeter, with production data anonymised before it reaches any other environment. Every third-party plugin gets a security audit before it is deployed.
The first Redmine work was in 2010: a plugin that automated feature-driven development — a branch per issue, branch monitoring, Gerrit review requests generated from commits — later reused to streamline the workflow of an insurance project.
Puppet
Ruby is also the language of Puppet, which describes the infrastructure of the Java platform I architect. Writing modules, testing them, keeping environments reproducible.
What I do for clients
- Redmine plugins: new development, maintenance of grown plugin landscapes, upgrades across Redmine versions.
- Security audits of Rails applications and plugins.
- Hosting and operations: containers, backups, anonymised staging data.
- Rails applications beyond Redmine, and Puppet infrastructure code.
Relevant work
-
Redmine plugin suite — development, audit, operation
Large Redmine plugin suite for an energy-sector client — data exchange and maintenance with external systems — plus the operation of the installation itself in Podman, backups with Restic, load testing with JMeter, and the security audit of every third-party plugin before it goes live.
- Plugin for bidirectional data exchange with external systems
- Audit of open-source plugins before deployment
- Containerised operation (Podman), backup and anonymisation pipeline
RubyRuby on RailsRedminePostgreSQLDockerPodmanResticJMeter
-
Redmine, Git and Gerrit integration for feature-driven development
Redmine plugin automating the feature-driven workflow — branch per issue, branch monitoring, Gerrit review requests from commits — plus a preconfigured demo VM.
RubyRuby on RailsRedmineGitGerrit
-
KONSENS — backend platform for German tax administration
Puppet (Ruby DSL) for the platform's infrastructure as code.
- Architecture and design authority; coaching a team of 15+ engineers
- Text-model-driven development with Xtext at the core of the platform
- Test-driven, with infrastructure as code (Puppet)
Java EEJBoss EAPXtextHibernateSOAPOracle DBEclipse RCPVaadinMavenGradlePuppetTDD
-
Statutory accident insurance software — further development
Rails-based Redmine plugin integrating Git and Gerrit into the team's workflow.
Java EEJMSJBoss 5Ruby on RailsGitGerritRedmine
Skills in this direction
Java
- ★★★★★ Test-driven development 2011–
Web
- ★★★★★ Ruby 2008–
- ★★★★★ Ruby on Rails / Redmine 2010–
- ★★★★★ Puppet 2020–
- ★★★★☆ PostgreSQL 2006–
- ★★★★☆ MySQL 2002–
- ★★★★☆ HTML / CSS / JavaScript 1998–
- ★★★★☆ React / React Native 2020–
- ★★★☆☆ OpenAPI / Swagger 2021–
Infrastructure
- ★★★★★ Linux (Debian/Ubuntu) 2004–
- ★★★★☆ Docker 2018–
- ★★★★☆ Podman 2022–
- ★★★★☆ Kubernetes 2024–
- ★★★★★ Git / Gerrit 2009–