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 with the integrated REST functionality in Drupal 8 and GraphQL. 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. We are implementing different Agile guidelines and processes for projects at my current company. I am using Test Driven Development with Mink/Behat for some projects. Also for my current projects, I am writing Mink/Behat tests whenever there is time and try to write Unit tests for all my custom code.
I enjoy improving on packaging Drupal for continuous deployment and continuous integration with the help of composer, composer post, and pre-install scripts, integrating it with Drupal Configuration Management API, Drush, phpcs, phpmd and some other linters, combined with 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, Clean Code, the SOLID principles and the Agile Manifesto. 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 - I enjoy using Symfony or do pure PHP projects (using the composer autoloader) and trying to make as elegant as possible work out of it.
I am an Acquia Certified Drupal 8 developer.
Working as Software Architect and Senior PHP Drupal developer on Drupal 8 projects.
Working as a Senior PHP Drupal developer on Drupal 8 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!