РАЙТ ДЖОЙНt

Резюме - профессиональные навыки

ЗАКАЗ
Middle FullStack разработчик
phphtmldatabaseApacheMySqlRESTSOLIDMVCPSRAPIphp-unitphpStormJqueryAjaxDockerScrumAnsibleElasticsearch
Телефон+7 (903) 888-7772
E-Mailrightjoint@yandex.ru
Адресг. Иваново, ул. 8 Марта, д. 32, ТРЦ «Серебряный город»
Телеграмt.me/rightjoint
Linkedinlinkedin.com/rightjoint
Web-сайтrightjoint.ru

Профессиональные навыки

Заказчику часто требуется чтоб сотрудник умел работать сразу с несколькими инструментами/технологиями. Но сейчас стек настолько широк что на получение глубокого практического опыта по всем технологиями потребуются десятилетия. Я составил примерную шкалу для оценки своих навыков.

УровеньДетали
Довольно хорошХорошо знаком с технологией и ее возможностями, имеется многолетний опыт работы и знание особенностей применения
КонкурентныйБазовый теоретический опыт с инструментами/технологией. Практические навыки применения для большинства задач. Предыдущий опыт и интуиция позволяют быстро находить решение проблем в сложных случаях
НачальныйНачальный теоретический уровень или небольшой практический опыт. Необходимо погружаться в работу с документацией, сделать несколько тестовых примеров, перед тем как применять на рабочих задачах
ПоверхностныйПоверхностные знания о технологии и ее возможностях

Список наиболее востребованных навыков, которые часто запрашиваются в описании к вакансиям и свой опыт по ним я описал в таблице.

НавыкОписаниеМой уровень
phpКонструкции: циклы, суперглобальные, рекурсия, регулярные выражения, анонимные функции, парсинг и т.п.использовал на каждом проекте, опыт использования на других языках программирования.
принципы ООП и SOLID, интерфейсы, трейты, абстрактные классыЯ хорошо в этом разбираюсь. Есть опыт код-верью, опыт работы с legacy-кодом
Паттерны, MVCя глубоко не изучал все паттерны, но самый популярный MVC использовал на каждом проекте
Современная версия 8+10 лет назад я начинал с версии 5.6, на рабочих проектах мне встречались 7-е версии, сейчас в своих проектах использую 8+
REST JSON, XMLУ меня есть опыт создания REST API, обычно все приложения его поддерживают, включая мой pet-проект. С api xml не работал, использовал формат для настройки php composer и sitemap
API, интеграция со сторонними сервисамиЯ часто сталкивался с задачами по разработке и настройке интеграции приложений с множеством сторонних сервисов: sber pay, yoomoney, yandex map, социальные сети, кладр и многие другие
PSR-стандарты, composercomposer я начал использовать только на pet-проекте с применения psr-4, который не поддерживали рабочие проекты. В своей работе я руководствуюсь стандартами и применяю многие из интерфесов php-fig
Фрэймворки: Laravel, Symfony, Yii, Birtix, ModX, WordPressLaravel: пробовал следовать документации и установить проек с herd панелью.
Birtix: настраивал тестовые стенды интернет-магазинов и git-репозитории. Добавлял формы, скрипты, настривал умный фильтр и т.п.
Yii2: участвовал в написании rest-api. Делал миграции, action и т.п.

С остальными фрэймворками я знаком поверхностно.

Unit-тестыЯ нахожу применение unit-тестам на своем pet-проекте и близок с php-uint. На рабочих проектах большинство заказчиков принебрегали тестами, но я считаю что это не правильно и для себя так не делаю.
Debuggingя пробовал успешно применять xDebug с phpStorm и Docker. Мне иногда приходилось искать ошибки на рабочих проектах.
ORMНекоторые рабочие проекты поддерживали свою ORM и я использовал возможности для рабочих задач. С Eloquent, Doctrine знаком поверхностно
КонсольМне приходилось писать php-скрипты для консоли, не только unit-тесты
Программы: phpStorm, VSCode, PostmanЯ уверенно владею основными средствами разработки, моя любимая ide PhpStorm
html, csshtml DOM: заголовки, код ответа, документ, линки, разметка тэгами и прочееИспользовалось на каждом проекте, обычно моего опыта достаточно для пешения большинства задач
css, адаптивная верстка, bootstrapУ меня есть опыт отзывчивой верстки под разные разрешения, ориентации и viewport, обычно с помощью медиа-тегов в css-файлах
JavaScriptКонструкцииЗнаком с основыными конструкциями и их примением
Jquery, AjaxПрименял на каждом проекте
ООП в JSПока я мало интересовался как устроено наследование или полиморфизм в js
Фрэймворки React, Vue.js, TypeScript, Nuxt.js, AngularЗнаком немного в теории, пока не использовал на практике, но есть к этому интерес
ES-6Пока я мало интересовался js стандартами
node.js npmНе пробовал, но кое-что читал, знаком поверхностно
Реляционные базы данныхmySql, MariaDbИспользовал на рабочих и pet-проектах
MsSqlИспользовал на одном рабочем проекте и на тестовых заданиях
PostgreSql, OracleЯ читал об этих БД, но пока не приходилось работать с ними
ЗапросыЯ довольно хорошо умею составлять сложные sql-запросы с агрегационными функциями для реализации безнес-логики
Нормализация, денормализация, ключи, индексы, схема данныхМне часто приходилось добавлять/изменять таблицы в базе данных, настраивать первичные ключи и связывать таблицы внешними ключами. С оптимизацией запросов я знаком в меньшей степени, но есть понимание плана запроса и как это работает.
ОтчетыИногда мне приходилось создавать/изменять отчеты в базе даннх
Оконные функцииНа практике я почти не стакливался с этим
Процедуры, триггры, блокировкиИногда рабочие задачи касались и таких вещей, но на практике не часто
Транзакции, T-SQLВ теории я имею представление об атомарности, консистентности, проблем параллельного доступа и уровнях изоляции транзакций, но на практике пока не использовал транзакции
РепликацииНачальные знания о способах репликации и RAID
ШардированиеНачальные знания, немного касался вопроса по elasticsearch
Нереляционные базы данныхClickHouse, MonogoDbНемного читал об этом, пока не использовал
Shell linux, windowsУмения рабоать с командной стройкой, проверить службы, порты и т.п., использовать ssh putty, sftpЯ часто использую консоль на windows, linux, в Docker
Умение прочитать логи, настрить конфгиМне часто приходилось разбираться в настройках конфигураций различных серверных и не только программ
GitРабота с репозиториями, ветками, комитами, решение конфликтов и т.п.Я довольно близко знаком с git, использовал на рабочих и pet-проектах
Настройка Workflow, PullRequest и т.п.Мне приходилось настраивать git для командной работы и автоматизировать ci/cd на pet-проекте
Кэш (высоконагруженные системы)RedisЯ сталкивалися с установкой Redis применительно к задачам по Ansible, немного знаком в теории как использовать для хранения ключей/списков и т.п.
MemcacheНачальные теоретические знания
DockerСборкаУ меня есть опыт сборки приложения в docker, настройки docker-файла на pet-проекте
МикросервисыЯ вплотную подошел к микросервисам на pet-проекте и настройки сети между контейнерами в docker, имею представление о kubernetes
OWASPБезопасность web-приложенийБазовые знания и практические уменя в части безопасности web-приложений и способов защиты от атак
тестыюнит-тестык сожалению большинство работодаьелей принебрегают тестами на рабочих проектах, но я нахожу выгоду от использования unit-тесты на своем pet-проекте
интеграционные тестыНемного знаком, думаю мог бы освоить без проблем
РегрессПока мне писать регресс-тесты не приходилось
Брокеры очередейKafkaВообще мне часто приходилось иметь дело с обменом сообщениями с различными сервисами с помощью очередей, и по опыту в этом есть много тонких моментов. Именно с Rabbit и Kafka я не работал
Rabbit Mq
МетодологииScrumНа последнем месте я работал в небольшой команде по Scrum и 4-х недельным спринтам
KanbanНемного читал об этом
Aglie
Lean
TDDИногда я считаю такую методолгию полезной и сначала пишу тест
ПрочиеAnsibleУспешный опыт настройки стенда Ansible и передова cron-задач с распределенных серверов
ElasticsearchУспешный опыт установка и настройка сборщиков логов filebeat, pipelines logstash, rollover lifecycle policy
Web-SocketsНачальные теоретические знания о технологии и ее возможностях
TelegramBotПоверхностные знания
BlockChain
ПроцессыSwagger, Confluence, JiraУ меня есть опыт работы по задачам и учету рабочего времени в Jira, ведении документации по проекту в Confluence