/dima-kurilo-resume

Just my resume

Primary LanguageHTMLMIT LicenseMIT

lang title
en-us
Dima Kurilo - Senior Software Engineer

Dima Kurilo

Senior Software Engineer

DKurilo@gmail.com (strongly preferred)
(646) 404-25-54
Brooklyn, NY 11215

GitHub profile: https://github.com/DKurilo/
StackOverflow profile: https://stackoverflow.com/users/1578857/dima-kurilo
LinkedIn profile: https://www.linkedin.com/in/dkurilo/
HackerRank profile: https://www.hackerrank.com/dkurilo

I can:

JavaScript / TypeScript / node.js
fp-ts / io-ts / Rambda / sanctuary
Terraform / Kubernetes / Helm / Serverless
CircleCI / GitHub / TravisCI / Jenkins
Docker
AWS (CloudFormation, ECS, EKS, EC2, Lambdas and other)
ElasticSearch / OpenSearch
Haskell
GraphQL / Apollo GraphQL server
MySQL / MongoDB / BigQuery / DynamoDB
Google Cloud Platform
some experience with Kafka
number of other programming languages
prefer functional programming approach

Professional Experience

Senior Full Stack Developer

12/2021 - now
Qualio, [https://qualio.com/]

Responsibilities

  • Create and maintain services that allow users to search for information
  • Create and maintain services to notify users
  • Help other teams to build back-end and front-end services

Tech Stack

  • JavaScript / TypeScript / Node.js
  • React / Angular and so on
  • python / SQLAlchemy
  • AWS: AWS-CDK, CloudFormation, ECS, Lambda, EC2, etc
  • Postgres
  • OpenSearch/ElasticSearch
  • Redis
  • CircleCI / GitHub / Jira / Confluence
  • Docker and so on for development and production
  • Hexagonal architecture / Clean architecture

Achievements (only highlights)

  • index-management-api - inspired by terraform system to manage ElasticSearch/OpenSearch indices, index templates, pipelines, search templates and aliases. It builds configuration from OpenSearch, compares it with settings it stores in files and applies changes. System written in TypeScript and can be used as a console application or as a web service and this allows to use it in CI/CD pipeline.
  • QRI service - QRI is special specification that was created to improve the company's services conectivity by standardizing entities' addresses. The service allows to get information about any entity and redirects users to proper URLs. It uses a caching layer that is built using Redis to properly cache user and entities information
  • Global Search service - smart wrapper written around OpenSearch that allows users to search any entity
  • All services are in the same monorepo I created, provisioning and deployment written using AWS-CDK, smart CircleCI CI/CD pipeline detects and processes only projects that were changed, using TypeScript for everything – backend, frontend, infrastructure, integration tests – allows to use `npm workspaces` to work with subprojects and to use the same set of linters and unit tests tools (eslint, jest and so on) through the whole monorepo.

Senior Software Engineer / Backend Engineer

03/2020 - 12/2021
Patch.com, New York, [https://patch.com/]

Responsibilities

  • AuthN/AuthZ platform
  • system architecture development
  • CI/CD development (CircleCI)
  • DevOps: configuring systems with Terraform, Kubernetes (AWS EKS), docker, Helm
  • Dev tools development
  • Legacy system support

Tech Stack

  • JavaScript / TypeScript / Node.js
  • fp-ts / io-ts
  • AWS: Lambda, EC2, EKS, etc
  • gremlin
  • AWS Neptune
  • Fastly
  • Auth0
  • Serverless
  • MySQL / MongoDB / BigQuery / DynamoDB
  • Terraform / Kubernetes / Helm / docker / packer
  • CircleCI / GitHub / Jira / Confluence
  • Google Cloud Platform: BigQuery, Functions, Pub/Sub, etc
  • Haskell for dev tools

Achievements

  • Build system to manage inner structure of editorial team
  • Designed and implemented AutN/AuthZ scalable platform (different identity providers, attribute-based access control)
  • described part of infrastructure in Terraform
  • started EKS k8s, built Helm charts for some services and set up CI/CD
  • developed and set up Data Warehouse (GCP BigQuery based) load system
  • developed DSL to generate content feeds for newsletters from different sources

Senior Web Engineer

12/2017 to 01/2020
Future PLC / Purch, New York, [https://www.futureplc.com/]

Responsibilities

  • migrating the sites of acquired companies into the corporate publishing platform
  • developing and maintaining the corporate publishing platform

Achievements

  • implemented a Go package that provides EDSL (embedded domain specific language) for describing composition of HTML transformations. As a result, the package allows to make any complex transformation using just a few lines of code
  • created a Haskell-based set of tools that allows to make complex changes in huge amount of large json files through API.
  • implemented a set of GraphQL directives that allows to remove resolvers and describe GraphQL schemas in a declarative way.
  • implemented a complex cross-platform feature that allows the company to use a better SEO strategy. During the implementation updated components written in Go, JavaScript, TypeScript, PHP
  • maintaining and developing existing and participating in development of new high-load projects, such as www.space.com and www.tomsguide.com

Lead Web Developer

05/2014 to 10/2017
Creative Soldier, Brooklyn, [http://creativesoldier.com/]

Responsibilities

  • full-stack development: creating, deploying and maintaining web sites and applications starting from layouts, implementing responsive design principles in various browsers and on desktop and mobile devices
  • providing technical solutions and resource estimates to the management based on clients’ requirements

Achievements
Developed and launched 30+ projects, including


Education

Moscow Engineering Physics Institute (MEPhI), Moscow, Russia
Engineer-physicist (MS equivalent degree), Electronics and Automation