IT-пузырь лопнул?

Год назад при смене работы я даже не стал публиковать резюме. Действовал я так из предыдущего опыта: каждый раз, открывая резюме в общий доступ, приходилось очень много общаться с компаниями, с которыми у нас заведомо ничего не могло получиться. Поэтому я спросил у знакомых, какие компании сейчас ищут разработчиков, постучался в парочку и нашёл отличное место. Позже, правда, выяснилось, что мы с этой компанией друг другу не совсем подходим, и я уволился. Уверен, что если бы я открыл резюме, мне бы снова, как и за пару лет до того, пришлось бы откапывать себя из откликов эйчаров. Лично для меня с тех пор ситуация сильно изменилась.

IT-пузырь

January 10, 2023
Около 2 мин
Неуловимая 502, или как сеньоры не могли найти ошибку

Какие ошибки в программировании страшнее всего? Я бы выделил два типа:

  • те, из-за которых бизнес теряет много денег
  • и те, которые встречаются реже всего.

Почему первые - понятно сразу, а что со вторыми? Дело в том, что чем реже мы встречаем какой-то тип ошибок - тем сложнее понять, чем они вызваны.
Так случилось и у меня на работе. Однажды утром тестировщики заметили, что часть запросов бэкенду возвращала ошибку 502 (Gateway Timeout). Эта ошибка тормозила релиз, и за неё взялись все старшие разработчики и devops-инженер. Поначалу считали, что эту ошибку возвращает Nginx, и бэкенд не при чём. Через некоторое время поняли, что виноват всё-таки PHP. На что только не грешили: отключали BlackFire, меняли настройки OpCache, пробовали разные патч-версии в PHP, и так далее. Однако, сама ошибка оказалась не в инфраструктуре, а непосредственно в коде приложения.

Ошибка 502 Bad Gateway

September 14, 2022
Около 2 мин
Как мне понадобилось написать Строитель

В мире разработки существует множество архитектурных паттернов. Часть из них мы используем каждый день, часть - реже. Наверняка каждый из вас много раз видел синглтон и фабрику. Многие их писали. А вот когда я впервые прочёл про паттерн Строитель, то не понял поначалу, в какой ситуации его можно применить. Что совсем смешно: я регулярно использовал его реализацию (QueryBuilder из фреймворка Yii), но глаз настолько замылился, что я не смог сопоставить название и функционал этого класса с соответствующим паттерном проектирования 😂 Конечно, через некоторое время до меня дошло. А еще через некоторое - нашлась ситуация, в которую паттерн Строитель вписался идеально.

Архитектурный паттерн Строитель

July 18, 2022
Около 2 мин