My name is Nikolay and I am a PHP Drupal Developer with more than 7 years of experience based in Berlin.
I am currently working as a Lead PHP Drupal developer. In my work, I am taking care of every aspect of the Drupal Application's functionality.
My main responsibility in the company is developing custom Drupal modules in order to create functionality from scratch as well as for extending already existing modules using hooks, Forms API, Database API, Fields API, AJAX and other parts of the Drupal API and the Symfony framework.
By working closely with the front end team we are developing the theme of the application, producing as clean markup as possible, trying to keep every aspect of the application tidy, easy for later development and as performant as possible. Other than boosting the performance on the front end part - I have deep knowledge in improving Drupal performance on the backend. Optimizing with simple settings, disabling unused functionality, outsourcing parts of the project to other services (Apache Solr, Elasticsearch) and configuring caching layers like Varnish, Memcached for dramatic optimizations. For several projects I implemented Drupal applications as REST API, using the Services module, extension of it or the integrated REST functionality in Drupal 8. My current free-time project is also using Drupal as REST API, as it is a communication between Raspberry PI, equipped with Python class and application that is able to log in and create content in Drupal.
My experience in Agile development is based on two Software Engineering courses that I took in the University, mainly focused on Extreme Programming and SCRUM, also using SCRUM during the whole cycle at my previous company and currently for some projects. I used Test Driven Development, as it was implemented with Mink/Behat for some projects at my previous company. Also for my current projects, I am writing Mink/Behat tests whenever makes sense, and whenever there is enough time. I take advantage of and am able to create Drupal profiles, that are giving the possibility to create packages with pre-installed modules and pre-configured settings for specific use. On the field of Drupal 8 development, I have experience in using the Configuration Management API, Drupal 8 new introduced theming techniques and module development with the newly introduced Symfony classes and methodologies.
Other parts of my expertise include content migration from other systems to Drupal, using and extending the Migrate module classes, extensive use of Drush, Drupal best practices, and deployment practices. I also enjoy teaching Drupal. I found that by sharing knowledge I have the chance to think through the things that I already know and to come up with ways to improve and better understand everything. Other than my Drupal expertise in the field of PHP development - before I was working with Zend Framework and previously was doing pure PHP projects. Lately, I am checking the Symfony 3 framework, since I find it very intriguing and elegant.
Working as a leading Drupal developer mainly on Drupal 8 projects. Improving the Deployment process of the Drupal 8 projects, composer, pipelines. Teaching Drupal in general and Drupal 8 in par cular.
Working on large Drupal Projects. Creating custom advanced modules, extending existing ones, preparing clean theme markup for styling, migrating other systems to Drupal, optimizing Drupal performance, site building.
Cross functional position with work including writing advanced modules in PHP for Drupal, integrated with other well known modules and making use of the full power of Drupal API. Advanced Drupal responsive theming, making use of the Drupal theme layer. QA Assurance using test automation with Selenium (Behat/Mink). Work process was Agile based on Scrum framework.
Building web applications with C, Software Security, E-Business, Software Management, Analysis and Building Business Information Systems, Intelligent Multiagent Systems, Corporate Networks.
Theory of Informatics, Computer Architectures, Programming in VB, Programming and Data Structures, Operating Systems, Semantics of the Programming Languages, Programming Languages, Computer Networks and Communication, Databases and SQL, System Design, Modeling and Optimizing, Unix, Programming for the World Wild Web, Administrating Databases, Computer Graphics, Development Environments, Logic and Functional Programming, Web Design, Software Engineering, Intelligent Systems, Server Programming, Practice: Programming and Data Structures, System Programming Languages, Administrating Computer Networks.
For more info and references - please contact me.
Thanks for reading!