Years in IT — manual QA first, test automation next, backend and infrastructure since.
> whoami
denis levenko_
DevOps / Backend Engineer — Ruby on Rails · Go · Python
Nine years in IT, spent moving in one direction: from testing other people's systems to owning them end to end. I build and run Ruby on Rails services together with the GitLab pipelines, Ansible roles and containers they live on, in a codebase that spans Rails 4.2 to 7.1 — and I reach for Go, Python and Bash when they are the sharper tool. I like long-lived systems, honest automation, and documentation that other people actually use.
> highlights
The short version, in numbers.
Of production services migrated to Ruby 3 in a codebase spanning Rails 4.2 to 7.1.
Features delivered and 60+ bugs closed across internal and external services.
Organic impressions on GetCourt, my own product, with zero ad spend.
> experience.log
Reverse chronological. Product first, then what I actually changed.
Abak-Press Media Holding
product Media holding running «Пульс цен», the BLIZKO.ru network of city portals and dk.ru — internal and external services on a Rails codebase serving branches in 32 cities.
DevOps / Backend Engineer (Ruby on Rails)
— present
stack Ruby 3.1 (and 2.4–2.6 legacy), Rails 4.2 → 7.1, Python, Go, Hotwire, Tailwind, PostgreSQL, Redis, Memcached, S3, Docker / Compose / Swarm, GitLab CI/CD, Ansible, Nginx / Caddy / Traefik, Consul
- Migrated two thirds of production services to Ruby 3, in a codebase that still spans Rails 4.2 through 7.1.
- Set up GitLab CI/CD across every repository — build, tests and linter on each change — replacing ad-hoc manual checks.
- Delivered 40+ features and closed 60+ bugs of varying severity across internal and external services.
- Write and optimise Ansible roles and playbooks, and containerise services with Docker, Docker Compose and Swarm.
- Documented every internal service — the reference the team now onboards and debugs from.
- Built an image comparison prototype (Go, Python, Milvus) that grew into a standalone project.
QA Engineer
—
stack Ruby, Selenium, RSpec, Page Object, Allure, Jira, Confluence, PostgreSQL
- Built UI and API test automation from scratch (Ruby — Selenium — RSpec — Page Object — Allure) and trained the team to write it.
- Wrote 80% of the project documentation and kept testing processes improving through heavy staff turnover.
- Onboarded 10+ new employees into the test process as their mentor.
- Owned testing strategy — checklists, mindmaps, test plans — across manual functional, regression and integration testing on web and mobile.
QA Engineer
—
- Testing strategy, checklists, mindmaps and test plans; manual functional, regression and integration testing on web and mobile.
- Held test coverage stable through continuous team and product restructuring.
NPO Sapfir
QA Engineer
—
stack C#, Selenium, NUnit, Page Object, TFS
- Short contract building UI test automation in a second stack — same patterns, different ecosystem.
Nord — Home Appliances
QA Engineer
—
stack PhantomJS, GitLab, GitLab Wiki
- Automated production smoke tests with PhantomJS — the first automation I shipped, and the reason everything after this is automated.
- Testing strategy, checklists, test cases and mindmaps; requirements analysis and sprint reporting.
> projects.dat
Built and shipped on my own time — code is public.
GetCourt — getcourt.co
2025 — present
stack Ruby on Rails, PostgreSQL, Docker, Gemini API
- Flagship product: a tennis court finder with AI-assisted features, from first commit to live traffic.
- 9.33K organic impressions and 195 clicks at a 2.1% CTR, with zero ad spend — everything from technical SEO and content.
- Runs the whole loop myself: product decisions, Rails backend, deploy, and search performance.
wallchart26 — wallchart26.com
2026
stack Go, templ, PostgreSQL
- Server-rendered Go application with type-safe templates and SQL-first data access — no JavaScript framework involved.
aireview — github.com/aireview
2025
stack Ruby, Gemini API
- AI-assisted code review that comments on diffs — the CI linter idea rebuilt around an LLM.
image_comparison_system — github.com/image_comparison_system
2024
stack Go, Python, Milvus
- Visual similarity search: Python builds the embeddings, Milvus stores the vectors, Go serves the API. Started as a work prototype.
> contact.out
Fastest route is email or Telegram.