Denis Kyorov, Developer in London, United Kingdom
Denis is currently unavailable

Denis Kyorov

Software Developer

London, United Kingdom

Toptal member since February 4, 2014

Bio

Denis is an experienced Python/Go developer (7+ years) who has contributed to a wide range of challenging projects involving distributed systems, back-end RESTful programming, microservice architectures, data pipelines design, and event-driven architectures. He's generally involved in everything back-end related.

Portfolio

Datapipe Europe, Ltd.
Amazon Web Services (AWS), Docker, Python, Terraform, Kubernetes, Go
Gluru, Ltd. (United Kingdom)
Microservices, Kubernetes, CQRS, Event Sourcing, Domain-driven Design (DDD), Go...
DigitalFirstVentures (via Toptal)
Linux, Ansible, Python

Experience

  • Python - 15 years
  • Test-driven Development (TDD) - 15 years
  • Kubernetes - 10 years
  • Go - 8 years
  • Agile Software Development - 7 years
  • CQRS - 7 years
  • Event Sourcing - 7 years
  • gRPC - 3 years

Preferred Environment

MacOS

The most amazing...

...project I've been involved in is "func," a remote management tool for server automation which I worked on during my participation in Google Summer of Code.

Work Experience

Platform Engineer

2017 - 2018
Datapipe Europe, Ltd.
  • Designed/maintained/implemented easy-to-use APIs (managing k8s clusters, databases, network file systems) for the rest of the teams based on GRPC and REST.
  • Designed and created APIs to run Terraform modules which were responsible for all of the infrastructure management that other teams were relying on.
  • Designed and implemented CI/CD pipelines (unit, integration, smoke) for infrastructure APIs, so full testing can be done before other teams use them.
  • Designed and implemented event-driven architecture which was powering the infrastructure APIs which helped having a more reactive and loosely coupled system.
  • Worked on a tool which helped other teams install their helm charts as part of their CI/CD pipeline.
Technologies: Amazon Web Services (AWS), Docker, Python, Terraform, Kubernetes, Go

Python/Go Core Back-end Engineer

2014 - 2017
Gluru, Ltd. (United Kingdom)
  • Created event-driven architecture with DDD principles and event sourcing in place.
  • Helped build a distributed data pipeline With RabbitMQ, Kinesis, and microservices.
  • Helped the company to switch to microservice architecture from monolithic in a gradual way and still supporting the production environment.
  • Helped implement the data collectors which were at the core of the business and were supplying the data for the distributed pipeline.
Technologies: Microservices, Kubernetes, CQRS, Event Sourcing, Domain-driven Design (DDD), Go, Python

Full-Stack Django Developer

2014 - 2014
DigitalFirstVentures (via Toptal)
  • Created an auto scraping system with ScraPy that was collecting data from various sites periodically.
  • Created various background tasks that were responsible for heavy tasks with Celery.
  • Created a Django REST API for representing the collected data on ElasticSearch.
  • Wrote a component that was responsible for collecting and caching geo data for various addresses.
  • Created simple to use deployment scripts with Ansible.
Technologies: Linux, Ansible, Python

Back-End Python Web Developer

2013 - 2013
MobSafety
  • Worked on platform back-end, which primarily consisted of REST services, for Learnpal, a mobile learning platform for students. Its main purpose is to help schools manage, secure, and utilize mobile devices effectively in the classroom.
  • Created a content publishing service for students in which teachers could suggest content from different sources. Involved retrieving data from iTunes, Google Play, and other sources in order to publish them in a unified data format for front-end development.
  • Contributed to a service that prevented students from visiting inappropriate sites.
  • Worked as the Python team lead in the final stages of the project.
Technologies: REST, Flask, Python

Back-end Python Web Developer

2012 - 2013
Blue Chocolate, Inc.
  • Developed and maintained back-end REST API for the application front-end for Getsendtask, a web app for sending tasks between users. The idea was to integrate email clients with task lists so as to simplify the sharing and sending of tasks.
  • Created several modules for batch processing with Celery.
  • Developed an integration module which allowed users to send tasks to their Google contacts.
  • Deployed and released the product back-end.

Back-End Python Developer

2011 - 2012
Shooju
  • Created parsers to gather data from a variety of sources and formats (XLS, CSV, remote APIs), as well as convert said data into pre-defined, easy to process formats, for Shooju, a platform for data retrieval.
  • Created a multi-processing worker framework for managing data retrieval which scaled according to a client's needs.
  • Developed a modified version of the IPython notebook application which allowed users to create data parsers easily within their web browser.
  • Worked on a Flask REST API (backed by CouchDB) to manage worker processes which were collecting data from different sources.
Technologies: Flask, ZeroMQ, Python

Embedded Linux Developr, Java Back-end Developer

2010 - 2011
Skynet A.Ş
  • Developed C modules (mainly extensions of the Net-SNMP protocol) for an embedded switch project which was running on Linux OS.
  • Worked on an embedded ARM project in which I developed a module that allowed a board to update itself when a newer firmware version was available.
  • Worked as a Java developer in a remote data reading project which involved reading and organizing data from remote metering devices.
  • Created a multi-threaded data processing framework in Java that was able to read many remote metering devices simultaneously.
  • Created parser modules for remote metering devices and store the output data in a unified format.
Technologies: Linux, POSIX

Back-End Java Developer

2009 - 2010
Netmera A.Ş
  • The company's main product was a social networking web app which was based on Google's OpenSocial framework (now known as Apache Shindig).
  • Worked with the Spring MVC framework to handle front-end requests.
  • Deployed and managed the company's Linux servers.
  • Worked on the Shindig source code to extend their gadget templating engine.
  • Created OpenSocial-compatible gadgets.
Technologies: JavaScript, Linux, MySQL

Experience

Event Sourcing Kit (Eskit)

https://github.com/makkalot/eskit
Eskit is a collection of microservices built on top of Event Sourcing Idea. It can be useful for people who want to try out event sourcing.

Enlivepy – Python HTML Transformation Librarry

https://github.com/makkalot/enlivepy
This is a Python port of Clojure's Enlive library for HTML transformation that I've released recently.

Open-source Projects

https://github.com/makkalot
In my spare time, I love working on open-source projects.

Education

2003 - 2008

Bachelor's Degree in Computer Science

Yildiz Technical University - Istanbul, Turkey

Skills

Libraries/APIs

ZeroMQ, POSIX

Tools

Terraform, Ansible

Languages

Go, Python, JavaScript

Frameworks

gRPC, Flask

Paradigms

Event Sourcing, CQRS, Test-driven Development (TDD), DevOps, Agile Software Development, Concurrent Programming, REST, Microservices

Platforms

Amazon Web Services (AWS), Linux, Google Cloud Platform (GCP), MacOS, Kubernetes, Docker

Storage

MySQL

Other

Edge AI, Domain-driven Design (DDD)

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring