Denis Trofimov

Denis Trofimov

Lead Platform Engineer

Huma Therapeutics Ltd.

Biography

  • I am a Go/Python/C++/C software engineer and working in software development since 2010.
  • For the last 3 years I did Platform Engineering, the development of the Internal Developer Portal (IDP), and making organizations shift left on the DevOps paradigm.
  • In the past I’ve designed and developed standalone and client-server applications, with databases like Oracle DB, PostgreSQL, and MySQL.
  • Created applications serving CRM, web automated order processing, and simulation of the technological operation of railroad rolling stock.
Interests
  • Platform Engineering
  • Cloud Computing
  • Software Development
Education
  • MEng in Applied Mechanics, 2002

    Moscow State University after M. V. Lomonosov

  • BSs in Applied Mechanics, 2000

    Moscow State University after M. V. Lomonosov

Skills

Golang

since 2018

kubernetes_logo_icon_168359
Kubernetes

since 2018

python_logo_icon_168886
Python

since 2013

file_type_terraform_icon_130125
Terraform

since 2020

file_type_helm_icon_130546
Helm

since 2019

docker_official_logo_icon_169250
Docker

since 2018

github-logo_icon-icons.com_73546
GitHub

since 2013

mongodb_original_wordmark_logo_icon_146425
Atlas MongoDB

since 2019

google_cloud_logo_icon_159333
Google Cloud

since 2017

amazon_aws_logo_icon_145507
Amazon AWS

since 2020

microsoft_azure_logo_icon_170956
Microsoft Azure

since 2020

C language

since 2010

file_type_cpp_icon_130670
C++ language

since 2010

Experience

 
 
 
 
 
Lead Platform Engineer
Jan 2021 – Present London, UK
  • Automated Pull Request Operation for Huma API backend team, making it possible to preview backend API in temporary cloud environments.
  • Created Kubernetes operators to reconcile application and application compositions, inspired by docker-compose, to abstract away Kubernetes API complexity for developers.
  • Created Kubernetes operators to reconcile cloud resources such as AWS S3 and GCS storages, Atlas and KubeDB provided MongoDBs, Redis cache, to enable managing these resources from controlling Kubernetes cluster.
  • Led internal platform team of 3 senior engineers
  • Automated CI/CD process, allowing the team to develop and test faster

Technology

  • Golang, Kubernetes, Operator SDK Go, MongoDB, Docker, GitHub CI
  • Jira, Confluence, GitHub, VSCode
  • GCP GKE, AWS EKS, Azure AKS, Terraform, Helm, ArgoCD, Helmfile
 
 
 
 
 
CTO
Nov 2019 – Jun 2020 Moscow, Russia

Sitt.me – a babysitting crowd-sourced platform. My team consisted of PM, designer, QA, and developers: back-end, front-end, and mobile devs.

  • Designed and implemented features like in-app notifications, video calls, etc.
  • Handled deployment of 24 services to a private Kubernetes cluster production, staging environments
  • Automated CI/CD process, allowing the team to test and deploy faster
  • Detected and solved issues in our services
  • Mentored back-end, and front-end devs

Technology

  • Golang, Bash, Ruby, ReactJS, SQL; PostgreSQL DB, Redis, Maria, RabbitMQ, Firebase; Jira, Confluence, GitLab
  • Engineering: Kubernetes, Docker, GitLab CI, ELK, Helm 
 
 
 
 
 
Senior Software Developer
Nov 2018 – May 2019 Moscow, Russia
  • Refactored Text-To-Speech API service, using in-house Python async gRPC server library
  • Designed and implemented CMS of a voice assistant using Flask, PostgreSQL
  • Redesigned and implemented low-latency Text-To-Speech API service on Golang, Redis, PostgreSQL
  • Deployed and tested services to a private Kubernetes cluster, automated CI/CD process using TeamCity 
  • Responsibilities included: code review, interviews, and mentoring developers from my team
  • The team consisted of a technical lead, PM, 2 backend developers, 4 AI data scientists, and a mathematical linguist

Technology:

  • Languages: Python, Golang, C++, SQL, bash
  • Packages: gRPC, TensorFlow Serving, Flask, Gunicorn, NumPy, SQLAlchemy.
  • DB: PostgreSQL DB, Redis, MongoDB
  • tools: Docker, Kubernetes, Helm, Jira, Confluence, Bitbucket, TeamCity, PyCharm, Goland
 
 
 
 
 
Lead Software Developer
May 2017 – Sep 2018 Moscow, Russia

Achivements:

  • Designed architecture and developed a bio-metric identification software (GUI client, server, and embedded).
  • Hired and spearheaded two software developers on this project.
  • Optimized identity recognition using classic image processing algorithms and CNN
  • Conducted a technological proof test and prepared a NIST compliant report.

Technology:

  • Python, C++, C, SQL; Git (GitLab); Eclipse IDE, Qt Creator
  • OpenCV, Caffe, SciPy; SQLAlchemy; gRPC, MQTT; PostgreSQL; Ubuntu, MS Windows
 
 
 
 
 
Backend Software Developer
Nov 2016 – May 2017 Moscow, Russia

Achivements:

  • Web-commerce site backend development for a wine importer, made on in-house Python framework from scratch.

Technology:

  • Python 3.2, ExtJS 4; Git; vim, UMLet; PostgreSQL DB, SQLite, Apache HTTP Server, WSGI
 
 
 
 
 
Software Developer C++
Jan 2012 – Nov 2016 Moscow, Russia

Achivements:

  • Developed and deployed a railroad technological process modeling client-server application.

Technology:

  • С++, SQL, HTML, XML, JavaScript; VSC CVS; Eclipse IDE, KDEvelop, emacs
  • Oracle DB, MySQL, in-house RDBMS + Web Server; bash, Fedora Linux
 
 
 
 
 
Engineer
Nov 2010 – Jan 2012 Moscow, Russia
  • Developed Borland C++ Builder applications for satellite trajectory computations

Recent Posts

How dictionaries are implemented in the Python language

This post describes how dictionaries are implemented in the Python language.

This article is actually a repost of originally posted at Laurent Luce’s Blog August 29, 2011 by Laurent Luce. I mentor several students of russian Learn Python courses. They have questions about structures in Python and how to use them. I found this post a good help to me and possibly to my students.

How dictionaries are implemented in the Python language
Getting Mob Programming Buy-In at Your Organization

Repost of https://simpleprogrammer.com/mob-programming/.

This piece was a collaboration written by Nate Wixom and Torrey Powell.
This piece was a collaboration written by Nate Wixom and Torrey Powell.

Mob programming is the best approach for many development applications. Mob projects result in a more finished project at release, with fewer bugs. By focusing on one project at a time, teams can complete projects more efficiently, and those projects are higher quality, requiring fewer revisions.

Getting Mob Programming Buy-In at Your Organization