Специализация
PHP (версии 5.3 – 7.0): разработка сложных web-сайтов и систем управления данными (CRM), на основе классов и методов (функций), с использованием многочисленных технических приёмов типа рекурсий и замыканий.
Моя основная специализация – кросс-версионная PHP-разработка (программирование) на чистом коде, без использования фреймворков (back-end), в составе полного цикла разработки, который предусматривает вёрстку HTML-шаблонов и создание каскадных стилей CSS (front-end), т. е. fullstack-разработка.
Разработка ведётся мной по принципу MVC (model-view-controller), согласно которому компоненты разделяются на программный механизм обслуживания бизнес-задач, контроллер (он же роутер и маршрутизатор) и визуальное представление. Ну и с использованием кучи других принципов.
Чаще всего передо мной возникает задача реализовать механизм автоматизации сложных (неоднородных) B2B (business-to-business) и B2C (business-to-client) бизнес-процессов, предназначенных для работы персонала численностью до 100 – 150 человек, с дифференцированными в зависимости от роли пользователя уровнями доступа. Роль пользователя в таких бизнес-процессах, как правило, определяется не только должностью сотрудника, но и актуальным на данный момент отношением последнего к задаче, которую он выполняет.
Например, в процессе оформления заказа на ремонт автомобиля – в качестве поставщика могут выступать как владелец автомобиля (если принимает решение самостоятельно приобрести необходмые для ремонта запчасти), так и сотрудник автосервиса (если необходимые для ремонта запчасти предоставляются заказчику автосервисом).
Другой пример: в процессе согласования служебных документов роль одного и того же сотрудника компании может изменяться – от роли автора служебной записки до роли финансового директора, согласовывающего свою же собственную служебную записку.
И таких примеров из своей практики я мог бы привести десятки или сотни.
Соответственно, HTML-шаблоны для таких задач, как правило, верстаются мной чисто функциональные, с минимальным уровнем дизайна (что в большинстве случаев полностью соответствует требованиям руководства или заказчика).
Безусловно, в силу исключительной популярности системы управления данными Bitrix – без взаимодействия с этим движком обойтись обычно не удаётся (даже в тех случаях, когда руководство очень хочет снизить до минимума степень его использования). В этих случаях мной принимается следующее решение: Битриксу отводится роль входного шлюза (хаба, распределителя и сборщика информации), откуда пути пользователей системы расходятся по самописным компонентам.
Работа с MySQL-запросами: создание сложных комплексных MySQL-запросов (в силу специфики работы чаще всего с использованием условий и подзапросов, а также включающих в себя поиск по сериализованным данным посредством использования регулярных выражений), оптимизация MySQL-запросов.
3D: трёхмерное моделирование конструкций, сооружений, персонажей, риггинг, работа с физикой твёрдых тел и тканей, анимация персонажей