CV

Sergey Vasilyev

CAREER HIGHLIGHTS

  • Master of Computer Sciences majored in Distributed Computer Systems.
  • CTO experience managing a team of 30 techies (developers, sys.admins, etc).
  • Web software architect of a 3-tier SOA fault-tolerant web service.
  • Strong hands-on experience with Python, Django, PHP, PL/SQL.
  • 2 years of self-employed/freelance experience as a web coder.

EXPERIENCE

Python Developer
ProfitBricks GmbH

Could computing IaaS company; 100+ employees.
Sep 2015 – now. Berlin, Germany.

Building a toolkit (framework, CLIs/UIs, infrastructure, guidelines, etc) for integration & performance testing of the cloud, which is used by QA engineers & software developers to test their components of the cloud, and the cloud as a whole.

Senior Software Developer (DevOps in QA)
Acronis

International backup solution provider; 700+ employees.
Nov 2014 – Aug 2015. Moscow, Russian Federation.

Maintaining and improving the infrastructure and the tools for QA automation, including hypervisors, virtual machines provisioners, task schedulers, results gathering and aggregation (ElasticSearch, Kibana, Django, Hyper-V & ESX, in-house solutions, etc). Deployed the monitoring system for the QA infrastructure (Zabbix). Developed few long-haul & stress tests for the cloud products (Docker & co, Amazon AWS, Locust).

CTO
gdeetotdom.ru

Real estate web portal and aggregator; 80 employees.
July 2012 – February 2014 (1 year 8 months). Moscow, Russian Federation.

Everything that is written below for Head of Development Department, plus management of the IT department, which includes web portal infrastructure and enterprise infrastructure.

Reworked the whole infrastructure of both web portal and office infrastructures: virtualized everything that could be virtualized with no harm to the system, reorganized the servers and their roles, thus achieving better utilization of hardware resources (no idling of CPU/RAM/IOPS) and isolation of the servers (both for security and to control their resource consumption).

Moved most of the infrastructure from ancient collocated servers in Russia to rented modern servers in Europe, thus reducing monthly hosting bill by approximately 40-50% and long-term TCO by 50-70%, outsourcing the maintenance and upgrade of the hardware so IT department could focus on more important tasks, and eliminating the shortage of the computational resources to the moment.

Did all the things regarding software development (see below for Head of Development Department): system design, infrastructure and platform services, control of the development, etc.

Head of Development Department
gdeetotdom.ru

Real estate web portal and aggregator; 80 employees.
August 2010 – July 2012 (2 years). Moscow, Russian Federation.

Managed a department or front-end, back-end and database developers, QA specialists. Initially there were 13 employees (8 on staff and 5 freelancers). Due to company growth in 2012 and renewal of a team, found and hired 12 more web developers in 6 months, ending up to 27 employees by the end of 2012 (with no HR at hand).

Built the processes to work and effectively communicate in a distributed team of web developers, 80% of whom are spread across the country (yet working full-time and on staff).

Proposed and initially implemented significant refactoring of the system architecture to achieve basic scalability and better code flexibility & maintainability. Three-tier service oriented architecture (SOA) was built, while keeping the old system up and running during the ongoing 2-year migration process. Backends and frontends are communicating via Apache Thrift RPC protocol. The backend consists of few isolated applications running on self-made Thrift Application Server written with Python; the frontends run on PHP.

Maintained legacy PL/SQL code in Oracle Database: modified it when necessary for better performance and to remove errors, optimizing data storage and some database options.

Controlled the development process of 5 to 7 teams of the developers for compliance with the overall system design, available solutions and company standards, gradually switching it to SOA (Service Oriented Architecture), and removing the old legacy (monolithic, expensive, totally non-scalable).

Directly managed the development of some company’s long-term projects: mobile applications, back-office import/export/crawling systems, intranet content management applications, internal back-end and infrastucture services.

Was in charge of architectural and system design solutions for the whole system: top-level components and protocols, connections with third-party software, stability, security, performance, etc.

Senior Python Developer
gdeetotdom.ru

Real estate web portal and aggregator; 50 employees.
February 2010 – August 2010 (7 months). Moscow, Russian Federation.

Lead a team of three Python developers. This includes: task management and prioritization, features and milestones planning, control of deadlines, consultations and advices for architectural solutions. Team works on back-office admin applications and on real estate data mining system.

Developed few prototype real estate applications and services for Nokia mobile phones. They allow browsing and viewing of real estate advertisements as a list or on a map, so as filtering them with customizable criteria. The service is launched at mobile.gdeetotdom.ru (adopted for Nokia’s WebKit built-in browser, compatible with Firefox).

Python Developer
gdeetotdom.ru

Real estate web portal and aggregator; 50 employees.
September 2009 – February 2010 (6 months). Moscow, Russian Federation.

Designed (from scratch) a back-office system for automated data mining of third-party real estate data sources to company’s web portal. The system consists of three primary parts: fetchers, converters, uploader. Dataflow starts from fetching the files from external sources, then continues to parsing them and converting them into company’s format, then finishes with uploading them to the database and photo storage.

Implemented this system with Python 2.6. A core of the system is a framework with few automated entry points, and an extensible set of libraries for normalization and validation of data values. The rest of the system is a collection of specific format descriptions made by a team of back-office developers.

Developed approximately 10 back-office admin applications and front-office widgets. Supported and improved approximately 10-15 applications of other developers. All were made with Python 2.6 and Django 1.1, and with Django 1.2 later. Most of them include specially developed Django widgets, modified admin forms, additional validation and business logic.

Senior PHP Developer
Project 2000+

SaaS web site & application constructor (startup); 5 employees.
July 2008 – May 2009 (11 months). Moscow, Russian Federation.

Developed a core framework with PHP 5.3, which includes: database and cache abstraction layers, Cacheable Object-Relational Mapping (ORM), transaction coordination over the shards and caches, access control lists and other components. Also, developed conceptual database schemes with horizontal and vertical shardings, with MySQL 5 as a storage.

Assisted in common architecture development, made a lot of key decisions on it, including design of the core features and APIs, and the ways of scaling the system.

Wrote comprehensive technical documentation in TracWiki for other developers, which includes description of the system as a whole, all core classes, some utility classes, and drafts on planned system extension.

PHP Web Developer
Howard Design Studio

Web design and web development agency; 7 employees.
August 2007 – July 2008 (1 year). Moscow, Russian Federation.

Developed studio’s content management system (CMS), conceptual schemes of data models for each project, universal content-handling tools (typographic and similar). Built server and client sides of sites with use of this CMS, and their comprehensive third-party integration solutions: www.feel-best.ru, www.howard-studio.ru, www.allent-audit.ru, www.otto-best.ru, www.tk-promtorg.ru, www.anas.ru, www.kolazko.ru, www.stone-valley.ru, www.juki.su, www.autobam.ru. Everything was made with PHP 5 and MySQL 5.

PHP Web Developer
Self-employed

August 2005 – August 2007 (2 years).

Developed own Content Management System (CMS): based on PHP 5 with OOP, MySQL 5 with transactions, and XML+DOM+XSLT as template engine. Used this CMS in few web-sites (www.doy306.ru, www.digart.ru).

Developed automated system for tracking of personnel migration: business-logic is in MySQL stored procedures, XML/DOM for data manipulating and XSLT for template handling, PHP only as a controller.

System Administrator
KrasLAN Internet Service Provider

November 2003 – August 2005 (1 year 10 months). Krasnoyarsk, Russia.

Developed network and server monitoring tools, billing maintenance scripts. Administered ISP servers (FreeBSD). Built and managed an ISP help desk: technical consulting by phone, email and in the office. Created and applied routines and procedures for coordination of network maintenance personnel.

Assistant Lecturer
Siberian State Technological University

September 2000 – August 2003 (3 years). Krasnoyarsk, Russia.

Lectured on information sciences, databases, structural and object-oriented programming for software engineering students.

EDUCATION

Master’s Degree, Computer Science
Majored in Distributed Automated Systems.
Siberian State Technological University
2000 – 2002

Bachelor’s Degree, Computer Science
Siberian State Technological University
1996 – 2000