Scroll To View More
Vasilii Lapin

Vasilii Lapin

Paphos, Cyprus
Member since July 12, 2015
For more than five years, Vasilii has worked as a web architect and programmer (PHP back-end developer) specializing in NIX administration. He has managed several complex, large-scale, and high-load projects which gave him a strong ability to read, refactor code, and find architectural solutions to a problem of complexity in PHP projects. He also has worked with PostgreSQL and MySQL databases.
Vasilii is now available for hire
Portfolio
Experience
  • PHP, 12 years
  • Symfony 2, 7 years
  • Nginx, 7 years
  • MySQL, 5 years
  • Sphinx Search Engine, 5 years
  • AMQP, 4 years
  • Yii, 3 years
  • PostgreSQL, 3 years
Paphos, Cyprus
Availability
Part-time
Preferred Environment
Linux, PhpStorm, Git, JIRA, Redmine, DbSchema
The most amazing...
...thing I've coded is a static cache system for the project timeout.ru—it demanded a special database modification for tracking entity changes and other tasks.
Employment
  • Team Lead | Senior PHP Developer
    2014 - 2014
    OOO Yopolis (Yopolis.ru)
    • Developed a platform for a series of coupled projects.
    • Refactored the budget, developed an idea map, and accomplished other tasks for seven different projects.
    Technologies: PHP, HTML, CSS, JavaScript, Yii PHP Framework, Twig, Swig, jQuery, PostgreSQL, Redis.io, RabbitMQ, Sphinx Search Engine, Nginx, HAProxy
  • Team Leader | Senior PHP Developer
    2013 - 2014
    OOO TOP-50 (Timeout.ru)
    • Completed the migration from the legacy code (ONPHP Framework) to a much-needed update of a Yii PHP Framework.
    • Reorganized the web architecture, redesigned the SQL database, and optimized schedule services.
    • Developed a static cache system, based on Redis.io queues and PHP daemons.
    Technologies: PHP, HTML, CSS, JavaScript, Yii PHP Framework, jQuery, PostgreSQL, Redis.io, Memcached, Sphinx Search, Nginx
  • Web Developer
    2012 - 2013
    Auction Tender House (A-k-d.ru)
    • Developed PHP: SOAP integration with the official government tender service.
    • Refactored portions of the project and completed tasks as needed.
    Technologies: PHP, HTML, CSS, JavaScript, Zend Framework, MySQL, jQuery, Redis.io, Sphinx Search, Nginx, PHP, SOAP
  • Web Developer
    2011 - 2012
    Neor
    • Developed several projects on neorCMS v4 (Ognelis.ru, Neorex.ru) and on neorCMS v5 (Greenfitness.ru, Renmin.ru).
    • Created neorCMSv5.
    Technologies: PHP, HTML, CSS, JavaScript, MySQL, Memcached, Apache, Nginx
  • Web Developer
    2009 - 2011
    ZAO ELVEES
    • Developed the site, Multicore.ru, with a TYPO3 CMS and did tasks as needed.
    Technologies: PHP, HTML, CSS, JavaScript, TYPO3, MySQL, Apache
Experience
  • Yii Boilerplate Build (Development)
    https://github.com/illibejiep/YiiBoilerplate

    A modification of the Yii Boilerplate project.

  • Yii Code Generator (Development)
    https://github.com/illibejiep/giiy

    This is a code generator based on an Giix extension.

  • Symfony 2 Bundle with a New Form Type (Development)
    https://github.com/illibejiep/RelationFormBundle

    Provided a new form-type for entities with many references.

  • Symfony 2 Friendship Bundle (Development)
    https://github.com/illibejiep/FriendshipBundle

    Provided a "friendship" functionality for Symfony 2 users.

  • Timeout.ru (Development)
    http://www.timeout.ru/

    This is an entertainment portal.

  • Auction Tender House (Development)
    http://www.a-k-d.ru/

    This is an online auction project.

  • eCommerce Project | Lifesvet.ru (Development)

    This is an eCommerce project based on my own CMS. My responsibilities were the back-end development and the conversion from PSD to HTML.

  • Real Estate Project (Development)

    This is a Bulgarian estate project based on the Zend framework. My part was the back-end development and the conversion from PSD to HTML.

  • True Dependency Injection with Symfony Components (Publication)
    The Dependency Injection Container in Symfony2 allows components to be injected with their dependencies, and is often used as a Service Locator, which when combined with the DI-container pattern is considered to be an anti-pattern by many. In this article, Toptal engineer Vasilii Lapin shows us how you can build a simple Symfony2 application using the DI-container, but without implementing the Service Locator pattern.
Skills
  • Languages
    PHP, JavaScript, SQL, CSS, HTML, C
  • Frameworks
    Symfony 2, Yii, Bootstrap, Zend Framework, CodeIgniter, PHPUnit
  • Libraries/APIs
    AMQP, jQuery, PayPal API, Facebook API, Twilio API
  • Tools
    PhpStorm, Nginx, Behat, Apache
  • Paradigms
    Microservices Architecture, Scrum, Object-oriented Programming (OOP), REST, Domain-driven Development, Data-driven Programming, Test-driven Development (TDD), Agile Software Development
  • Platforms
    Linux, FreeBSD
  • Storage
    PostgreSQL, Sphinx Search Engine, MySQL, Memcached, Redis, Elasticsearch
  • Other
    Payment Gateways, PHP Extensions
Education
  • Master of Science degree in Computer Engineering
    2003 - 2009
    National Research University of Electronic Technology - Moscow, Russia
I really like this profile
Share it with others