Dmitry Zenovich

Dmitry Zenovich

Moscow, Russia
Hire Dmitry
Scroll To View More
Dmitry Zenovich

Dmitry Zenovich

Moscow, Russia
Member since October 4, 2015
Dmitry has more than fifteen years of​ working experience and over seven years of leadership experience. His proven track record includes contributing to the success of industry leaders such as Mail.Ru Group, RosBusinessConsulting, and Begun.Ru.
Dmitry is now available for hire
Portfolio
Experience
  • Software Development, 15 years
  • Web Development, 15 years
  • C, 12 years
  • PHP, 10 years
  • JavaScript, 7 years
  • Technical Project Management, 7 years
  • C++, 4 years
  • Ruby, 3 years
Moscow, Russia
Availability
Full-time
Preferred Environment
Mac OS X, Linux, Windows 10, VS, Vim, Sublime, Git
The most amazing...
...things I've coded are sound/music analysis, machine learning/data mining, interpreters, visual programming tools, test automation frameworks, and a web CMS.
Employment
  • CTO
    ImproveMedia.ru
    2014 - 2015
    • Built a software development team (Ruby on Rails) which outclassed all previous ones in its effectiveness. My team, with my direct participation, released InMyRoom.ru v2.0 and FamilyBoom.ru, reworked and recovered eCommerce features, developed new features of billing, introduced a Rails engine based on code of InMyRoom.ru to make it a framework for all projects and moved InMyRoom.ru and FamilyBoom.ru onto it.
    • Established regular Scrum meetings and iteration-plannings, organized a new task-tracking system and a documentation system, and established code-flow rules.
    • Organized, in collaboration with team members, a continuous-integration system, fixed unit tests, and introduced new Selenium tests.
    • Found a system operator who joined the team and took all the tasks of a remote maintenance team. The code repositories were transferred onto the company's servers out from Github. Regular backups were tuned up. A monitoring system was introduced. A process for doing regular payments for hosting and other services was tuned up too.
    Technologies: Ruby on Rails, PostgreSQL, Redis, RSpec, GitLab, Jira
  • Head of Software Quality Assurance
    Mail.Ru Group
    2011 - 2013
    • Developed automated testing which is interesting for people working on it (super-team, infrastructure, testing, test automation, continuous integration, requirements management, interaction with product owners, project managers, developers, operators, HR team, and PR team).
    • Introduced the first stable multithreaded Selenium WebDriver service available on the company level, which now is being used in testing of many of company's products.
    • Directed and coordinated team a to build from scratch a large set of automated tests on Python for daemons written on C, for the main module of advertisement feeds, a company-wide common template engine, and main parts of web front-end of target.mail.ru.
    • Developed a testing infrastructure available on the company level (Xen virtualization with Convinture Convirt Open Source web-interface, configuration management with Opscode Chef, and continuous integration with Jenkins). This infrastructure became a home for continuous-integration systems of different projects for our company.
    • Developed and applied in projects a tool for database change management based on migrations.
    Technologies: Python, C, Java, PyTest, nose, Linux, Xen, Convirt, Selenium WebDriver, Chef
  • Head of Software Development
    Oversun Scalaxy (cloud hosting)
    2011 - 2011
    • Built new features (confirmation of registration via mobile text messages, and the feature of "promised payment"); fixed lots of bugs; accelerated the web interface through optimizations of the JavaScript code; released the first stable version of the cloud (1.00).
    • Served as head of the software development direction, head of Ruby-development department, head of the Testing department, and a main Ruby on Rails and JavaScript developer.
    • Trained colleagues (Ruby on Rail, JavaScript, jQuery, unit tests on RSpec); assisted the tech-support team in solving technical issues; helped accounting department with reports creating. Participated in meetings devoted to development of the product.
    Technologies: Ruby on Rails, JavaScript, jQuery, RSpec, Xen
  • Head of QA
    Oversun Scalaxy (cloud hosting)
    2010 - 2011
    • Built the testing process in conditions of an acute shortage of resources.
    • Communicated with software developers, operators, and technical support team, informing programmers about user complaints and speeding up bug fixing. Participated in the discussion on technical architecture of new project tasks.
    • Tested the company's software using automated, semi-automated (using Ruby, RSpec, C, Netperf, NetPIPE, Litmus, Iozone, Unix tools, etc.), and manual approaches.
    • Regularly planned testing and development of auto-tests, verified both functional and load requirements, and composed tasks for defect elimination and monitoring of system development.
    • Trained colleagues to write Selenium tests with Cucumber.
    • Re-established browser Selenium tests (Cucumber, Ruby, Selenium-RC) and added them into the continuous integration system. Achieved parallel running of Selenium tests in various browsers after patching the Selenium-RC source on Java.
    Technologies: Ruby, RSpec, C, Linux, Selenium-RC, Cucumber, Java
  • Head of Software Quality Assurance Department
    Begun.ru (contextual advertising service)
    2007 - 2010
    • Founded the quality assurance department of a Russian contextual auction-based advertising internet service, hired employees, and managed them. Planned teamwork, created the testing framework and environment, and communicated with software developers, operators, project managers, and business owners.
    • Created and designed core components of a system for automated testing of company's web interfaces and scripts (PHP), daemons (C++), JS-blocks, ActionScript VPAID library, etc. with PHPUnit, Selenium-RC, and Zend Framework.
    • Introduced the continuous-integration system based on phpUnderControl. Helped introduce the company's coding standards; separated stable and current code using branches in the SVN repository. Arranged the product deployment.
    • Developed a tool giving the way to write formal bug reports into the Trac.
    • Trained colleagues in software testing and the fine points of development for high-loaded systems, database optimization, and test-driven development.
    • Originated and carried out the entire software life-cycle for a feature that brings the company a few thousand dollars a day.
    • Created a PHP extension for internal use in the company and made a significant number of corrections of the PHP-extension runkit.
    Technologies: PHP, C, Actionscript, Linux, PHPUnit, Runkit, Zend Framework, Selenium-RC, Trac, VPAID
  • Lead Developer
    RosBusinessConsulting Media World (mail.qip.ru)
    2006 - 2007
    • Improved the main web-mail features (representation, replying, messages formation etc.) to support a variety of MIME combinations and encodings (this work was based on patching, optimizing and reintegrating the huge Horde Framework).
    • Designed database schemas to improve the efficiency and scalability of the system.
    • Sped up the web interface by rewriting code, modifying database structure and SQL queries, and caching data (on file system or memcached). Improved scalability of the web front-end (moved session data out from local the file-system into the database).
    • Eliminated a huge number of possibilities for XSS injections and SQL injections in the project.
    • Designed and developed an internet-links catalogue, added support for OpenID and RSS into the project, authored a client-side part for a prototype of an online instant messenger on JavaScript and PHP.
    Technologies: PHP, JavaScript, MySQL, MIME, Horde Framework, Web Security
  • Web Developer
    ARTall
    2003 - 2006
    • Responsible for the whole of web development for the company.
    • Authored a new web CMS.
    • Created more than 40 websites with administrative interfaces (including a large e-shop) basing on the CMS.
    • Designed database models (MySQL) and regularly patched HTML templates and CSS stylesheets.
    • Operated Linux and FreeBSD, installed and configured Apache, PHP, MySQL, vsFTPd, Samba, and VPN (pptpd).
    Technologies: PHP, JavaScript, MySQL, HTML, CSS
  • Programmer
    Exat.ru
    2003 - 2003
    • Coded regular expressions.
    • Wrote format converters of price lists on XSLT.
    • Contributed to technical analytics.
    • Wrote documentation on the XML format.
    Technologies: Regular expressions, XSLT
  • Web Developer
    Renew
    2001 - 2002
    • Automated the trainings.ru portal and added 16 new sections (including forum and search) into it.
    • Created 6 new sites from scratch.
    • Created universal administrative interface for all sites in a very short time.
    Technologies: PHP, PHPlib, MySQL, XSLT
Experience
  • PHP Runkit Extension (Development)
    http://php.net/runkit

    The runkit extension is written in plain C and provides means to modify constants, user-defined functions, and user-defined classes. It also provides for custom superglobal variables and embeddable sub-interpreters via sandboxing.

    I'm maintaining it on GitHub since 2009, and now I'm officially the project's leader.

    http://zenovich.blogspot.ru/2015/10/runkit-1.0.4.html

Skills
  • Languages
    C, Ruby, Go, Golang, PHP, Regex, Python, Assembler x86, SQL, XPath, HTML, JavaScript, C++, Sed, Sass, ActionScript, Java, C#, XML/XSLT, YAML, AWK, Curl Language, AS3, XSLT, XML, MATLAB, CSS, XHTML
  • Frameworks
    Rails, Ruby on Rails (RoR), Selenium, PHPUnit, Zend, Qt, Django, Capybara, PEAR, JNI, Horde, JUnit, QUnit, Slim
  • Libraries/APIs
    Selenium WebDriver, CarrierWave, Selenium Grid, REST API, Sidekiq, DataSift API, jQuery, Devise, Standard Template Library (STL), Mongoid, GeoIP, Microsoft Foundation Class Library (MFC), FFTW, Google AdWords, Protobuf, Gnip API, SAX, Sockets, NumPy, SciPy, matplotlib, libvirt, jMock, AdWords API
  • Tools
    Jenkins, Trac, xUnit, RSpec, JIRA, Capistrano, GitLab, Git, Visual Studio, Vim Text Editor, Shell, pytest, SVN, Vagrant, Firebug, Redmine, phpMyAdmin, GitHub, Valgrind, GDB, Cucumber, Sublime Text, Chef, Subversion, Xdebug, Nginx, Microsoft Excel, PuTTY, Microsoft Visual C++, Trello, RVM, Qt Creator, VPN, Microsoft Project, VirtualBox, Apache JMeter, JMeter, php-fpm, Open Office, Slack, rbenv, Zabbix, FishEye, AMQP (RabbitMQ)
  • Paradigms
    Continuous Integration (CI), Test-driven Development (TDD), Object-oriented Programming (OOP), Behavior-driven Development (BDD), Change Management, Model View Controller (MVC), Testing, XP, REST, Continuous Deployment, DRY, Scrum, Concurrent Programming
  • Platforms
    LAMP, Unix, Linux, Firefox, Windows, Win32, Ubuntu, BREW, Xen
  • Misc
    Software Development, Software Design, Software QA, Algorithms & Data Structures, Quality Assurance (QA), AJAX, Web Development, Source Control Management, XSS, QA Test Plan Management, Regular Expressions, CRUD, Parsers, Debugging, Project Management, Workflow Modeling, Math, WebDAV, PHPDoc, Technical Project Management, Technology Strategy & Architecture, HTTP, Agile Software Testing, Digital Signal Processing, OAuth, CGI, DHTML, DOM, UDP, SOAP, Outlook, XML RPC, Optimization Algorithms, Doxygen
  • Storage
    JSON, InnoDB, MySQLi, PostgreSQL, MySQL, MyISAM, Redis, Memcached, MongoDB, VSFTPD, LVM
I really like this profile
Share it with others