Scroll To View More
Denis Kyorov

Denis Kyorov

London, United Kingdom
Member since December 2, 2013
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.
Denis is now available for hire
  • Python, 7 years
  • Test-driven Development (TDD), 5 years
  • Agile Software Development, 4 years
  • Django, 3 years
  • Flask, 3 years
  • ZeroMQ, 3 years
  • Go, 3 years
  • Apache Cassandra, 2 years
London, United Kingdom
Preferred Environment
Mac OS X, PyCharm, Vim
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.
  • Python/Go Core Back-end Engineer
    2014 - PRESENT
    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: Python, Golang, Cassandra, RabbitMQ, Elasticsearch, DDD, Event Sourcing, CQRS, Kinesis, Redis, Kubernetes, Microservices
  • 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: Python, Scrapy, Django, ElasticSearch, Redis, Celery, Ansible, Linux
  • Back-End Python Web Developer
    2013 - 2013
    • 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: Python, Flask, MongoDB, Celery, REST
  • 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.
    Technologies: Python, Flask, MongoDB, Celery, REST
  • Back-End Python Developer
    2011 - 2012
    • 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: Python, ZeroMQ, Flask, CouchDB, IPython, Tornado
  • 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: C, POSIX, Java, Spring, Linux
  • 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: Java, Spring, MySQL, Linux , JavaScript, OpenSocial
  • Open-Source Projects (Other amazing things)

    In my spare time, I love working on open-source projects.

  • Enlivepy - Python Html Transformation Librarry (Development)

    This is a Python port of clojure enlive library for html transformation that i've released recently.

  • Django, Flask, and Redis Tutorial: Web Application Session Management Between Python Frameworks (Publication)
    I love and use Django in lots of my personal and client projects, mostly for those involving relational databases and more classical web applications. However, by design, Django is very tightly coupled with its ORM, Template Engine System, and Settings object. Plus, it's not a new project: it carries a lot of baggage from the past to remain backwards compatible. In a few of my client projects, we've chosen to give up on Django and use a micro framework like Flask, typically when the client wants to do some interesting stuff with the framework. At the same time, we often need user registration, login, and more, all of which is easily handled with Django. The question emerged: is Django an all-or-nothing deal? Should we drop it completely from the project, or is there a way to combine some it with the flexibility of other frameworks?
  • Languages
    Python, Go, JavaScript, Java, C, Clojure, Scala, SQL
  • Frameworks
    Flask, AngularJS, Django, Pylons, Pyramid, Scrapy, Apache Thrift
  • Libraries/APIs
    Gevent, Fabric, ZeroMQ, Puppet.js, jQuery, Redis Queue
  • Paradigms
    Test-driven Development (TDD), Functional Programming, Concurrent Programming, Agile Software Development
  • Tools
    Celery, PyCharm, Sublime Text, Virtualenv, Git, Vagrant, RabbitMQ, AWS SQS, Ansible, Emacs
  • Platforms
    Linux, Docker, AWS Kinesis, Kubernetes
  • Storage
    Elasticsearch, Redis, MongoDB, NoSQL, CouchDB, MySQL, PostgreSQL
  • Other
    Apache Cassandra, Tornado
  • Bachelor's degree in Computer Science
    2003 - 2008
    Yildiz Technical University - Istanbul, Turkey
I really like this profile
Share it with others