Написал 2 года назад
Исповедь
Привет. Меня зовут Игорь, мне 27 лет и я… эм… я пхп программист. Я сижу на нем уже несколько лет.
Первый раз все это я попробовал в 2008 году. Я сидел в компании старших меня ребят, они разговаривали про веб-технологии. Я краем уха слышал, как они восторженно делились впечатлениями об HTML и CSS. Некоторые из них были новичками, а некоторые сидели на этих технологиях по полной. Некоторые даже употребляли jquery и javascript. Я знал, что это вызывает сильную зависимость, я слышал много слухов об этом. Ранее видел, как успешные ребята пробовали это, а со временем покупали себе свитера, очки с толстой оправой и делали что-то собираясь по домам с ночевками, а утром расходились с красными глазами.
Я пытался никак не реагировать на их разговор, но любопытный взгляд меня выдавал. Кто-то предложил мне попробовать веб 2.0. Я отшутился, мол нет ребята, это не мое. Но они настаивали, говорили, что в жизни надо попробовать все и что это сделает меня счастливым. Я согласился. Один из них протянул мне какую-то бумажку с необходимыми репозиториями. Я помялся на месте, но взял ее. Не помню, как добрался домой. Меня трясло от неизвестности.
Дома я достал содержимое. Там была инструкция, как самому, в домашних условиях сделать маленький скрипт. Ребята говорили, что он совсем легкий. Попробовал. У меня получилось, почувствовал нереальный кайф, когда он заработал. Спустя какое-то время ощутил нехватку подобного ощущения, но скрипт уже не вставлял как раньше. Направился опять в эту компанию, рассказал, что случилось. Они с меня ржали, но сказали, что молорик и дали еще какие-то репозитории и советы как правильнее это делать. Через пару месяцев я подсел на это серьезно. Верстал вечерами, закрывшись у себя в комнате, слушая громко музыку в наушниках. Однажды, когда дома прописывал CSS для странички, меня спалила мама. Был очень долгий и неприятный разговор. Было стыдно за верстку, она была далеко не кроссбраузерная, что уж говорить о pixel perfect. Мама плакала и спрашивала, какое у меня будет образование и как я вообще собираюсь жить с этим. После этого разговора я часто задавал себе этот вопрос. Но я уже был в теме, по полной.
По приколу сделал домашнюю HTML страничку для себя и своих друзей. Вскоре мне написал неизвестный юзер о том, что хочет купить мой товар. Думал сначала, что это шутка, но он говорил достаточно серьезно. Не верил, плюс мне было непонятно как я ему смогу передать товар, как он мне сможет заплатить за этот товар, законно ли это. Он сказал, что все сделает сам и скинет мне деньги на карту. Я не верил во всю эту операцию до тех пор, пока на мою карту не поступили деньги. Это было страшно. Тогда завертелся по полной, еще больше.
Этот парень рассказал обо мне своим знакомым. Они мне тоже начали названивать и просить сделать для них что-то такое же легкое. Но кто-то просил легкое, а кто-то просил что-то серьезнее. Верстка стала жестче. Появился HTML5 и CSS3. Это реально сильное дерьмо, которое и сейчас ходит по рукам. Подсел помимо прочего на дизайн. Сначала ты делаешь один большой макет PSD, а потом все это шлифуешь HTML5 версткой по макету. Дальше прикрепляешь CSS файл и прорабатываешь его. Это сейчас есть синтетика типа Less или Sass. Раньше все делалось ручками. Все это отбирает много времени и сил. Стал неважно выглядеть. Многие друзья перестали общаться. Ушла девушка, потому что был полностью в вебе и уделял ему намного больше времени, чем ей.
А я не мог остановиться, мне не хватало UI дизайна и статичной верстки. В тот момент я начал немного программировать. Это было жестче, чем верстка. Но и вставляло сильнее. Динамика куда круче статики. Плюс все такое неизведанное, от этого кружилась голова. Я выбрал пхп. Хоть и знал, что он ужасен, знал, что его никто не рекомендует, все просто не хотят его касаться. Но он был повсюду. В инете было полно рекламы про пхп. Были даже площадки в городе, где можно было прийти и просто попробовать. Этого говна было много. Пхп программисты ужасно выглядели, наверно хуже всех программистов.
У пхп низкий порог вхождения. Я попробовал и понеслось. Сначала один скрипт, потом другой, третий. Бывало несколько скриптов за ночь. Несколько суток, неделя. Я потерялся в пространстве и времени. Все эти циклы, массивы, объекты таращили меня. Динамика отрабатывала запросы, сайт становился живым.
Тот период вообще смутно помню. Я пытался мешать все. В одно рыло мог сделать несколько макетов, сверстать их, написать бекенд. Для работы много употреблял различных CMS. И чем больше употреблял проверенных CMS типа WordPress или DLE, тем больше хотелось новых, интересных, от которых таращит не так, а по-новому. Я познакомился с Ajax, стал тусоваться среди SMMщиков и SEOшников. Они мне также впаривали свое дерьмо и часто я совмещал их дерьмо со своим. Я научился делать правильные ЧПУ, оптимизировать систему под поисковые запросы. Ааааа, КАК ЖЕ ВСЕ ЗАКРУТИЛО, АСТАНАВИТЕ.
Помню первую свою ломку. Скорее всего это была SQL инъекция. До сих пор не знаю кто это был. Я попал на бабки, на большие бабки. Но это научило меня фильтровать запросы к бд, да и все запросы от юзеров в целом. Сказал, что завяжу. Не справился, не смог.
Дальше только больше и жестче. Фреймворки, библиотеки. Чистый пхп уже не штырит, неинтересен. Хочется скорости, больше скорости. Ajax хоть и частично удовлетворял мои потребности, но он жестко грузил мою систему, требовалась постоянная перезагрузка. Все больше смотришь в сторону real-time приложений.
Не помню почему однажды пересел на javascript. Все как будто в тумане. Помню знакомство с npm, node.js. О боже, я думал, что нет ничего лучше пхп, но нода была еще куда проще и сильнее. Асинхрон? ЧТООО? Я теперь могу запустить 100 скриптов одновременно? Не может быть… Сокеты… АААА… Да это же скорость света, мать его. В какой-то момент я начал понимать, как это все выжигает меня полностью изнутри. Но обратной дороги уже нет.
Что осталось от меня настоящего я уже толком и не скажу. Не представляю себе ночь, за которую я ни разу не инициализирую несколько библиотек, не запущу по фану веб-сервер или не порефакторю в очередной раз код, сделав его нерабочим, а утром вновь начну писать тесты и ловить баги. И все вроде круто, только блин зрение падает, нужны очки. И свитер…