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.
I am usually taking care of the full process of building the Backend Part of a Drupal project, including setting up the project structure, site building (configuring the content structure and setting up some Drupal modules that could be used out of the box), developing custom Drupal modules in order to create functionality from scratch as well as for extending already existing modules using 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 or Redis 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. Also for a pet project of mine where integrated Drupal as REST API, communicating 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 and Unit tests whenever makes sense, and whenever there is enough time.
I enjoy improving on packaging Drupal for continuous deployment with the help of composer, composer post, and pre-install scripts, integrating it with Drupal Configuration Management API, Drush, GitLab pipelines.
I quite enjoy using Docker and Docker Compose for virtualization and for local development environment as switching versions, activating new services and working on an environment as close as possible to the production one is made so easy.
Some important things I care about while developing is Drupal best practices, and deployment practices, using XDebug, code sniffer, documenting code with PHPDoc. 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 also enjoying working on Symfony projects.
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 particular.
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!