Mar 22, 2015 17:24
Я наблюдаю у себя резкий всплеск агрессии каждый раз, когда речь заходит о технической стороне интернет-проектов. Чтобы попробовать как-то на это повлиять я решил написать и поговорить с вами о внутренних и внешних причинах этого. Побудьте, пожалуйста, моими психологами.
Я четыре года работал в Хедхантере с прекрасными техническими специалистами. В эту команду технический директор Сергей Никулин набирал перфекционистов, которые набирали себе перфекционистов. Они знали о том, как делать интернет-проекты на пике технологий. Были миллион ограничений со стороны бизнеса, но хотя бы у всех в головах было понимание неких технологических идеалов и компромиссы принимались исходя из них. Мне показывали как организована работа в Линкедине и Фейсбуке, мне рассказывали об устройстве поисковиков и плюсах и сложностях пофичевой выкладки. Мне никогда не говорили, что что-то там нельзя сделать. Никогда! Все можно и всегда было понятно как (если не сразу понятно, так через неделю точно).
Я технически даже не дилетант, а совсем младенец - я не знаю о том, как именно что-то сделать, у меня почти никогда нет весомых аргументов в пользу того или иного решения. А даже если и есть, то программистам настолько легко привести миллиард терминов, доказывающих, что я неправ, что я почти всегда машу рукой в спорах, где программисты хотят надменно утереть нос идиоту-фотошопщику, а не подумать о той проблеме, которую я описываю. Зато я более-менее разбираюсь в людях и у меня почти всегда безотказно получается распознать, когда меня хотят технически цинично обмануть. А еще я почти всегда понимаю, когда техническое (высокоуровневое) решение плохое.
Это, конечно, все очень искажено личным опытом и попахивает перверсией, но я перечислю штампы, которые выработаны у меня годами траты нервов, испорченных надменными программистами.
Я уверен, что хороший интернет-проект не может делаться на C#. Мне неведомо почему так, но у меня есть вера, что в виндоус-стеке надо очень сильно вывернуться, чтобы сделать хорошо про интернет. Если программист C# не способен показать, что по мировым меркам классного он сделал про интернет, то его ни в коем случае не надо нанимать. Но, к сожалению, мало у кого есть кругозор про то, что такое мировые мерки в интернете. Скорее всегоэто вопрос человека, а не технологии, но у меня психологическая травма.
Я уверен, что фронтенд и бекенд должны быть разделены. С помощью json или другого формата. Если проект монолитный, это значит, что с огромной вероятностью он плохо сделан и дорог в поддержке. А еще бекенд-программисты любят врать, что фронтенд и бекенд разделен, но почему-то без бекенда нельзя на тех же контроллерах новую страницу запилить. Хаха.
В моей вселенной SVN ассоциирован с днищем в проекте. Я не могу объяснить почему, но нормальная выкладка проектов с SVN невозможна, а у программистов появляется много неизлечимых фобий. Ничего не могу сказать про Mercurial, но отрасль же ответила на вопрос какую систему контроля версий использовать (Git).
Я уверен, что в сколько-нибудь большой команде один-два тестовых стенда, куда все мержат, чтобы оттестить - это признак технической слабости проекта, мешающий бежать вперед с хорошей скоростью. Одна фича - один тестовый стенд, одновременно и независимо должна быть возможность тестировать десятки фич на стендах с продакшн-окружением.
Мне очень не нравится жить и ежедневно испытывать агрессию. Помогите мне с этим справиться!
Пожалуйста.
психология,
технологии,
ненависть