Pull to refresh
287
0
Philipp Ranzhin @fillpackart

Король разработки

Send message

Что будет дальше

Reading time15 min
Views98K


В пять лет я сидел у бабушки дома на уютном ковре, и никак не мог понять, почему герой диснеевского мультика посмотрел вниз, когда бежал над пропастью — ведь до тех пор, пока он не посмотрел, ему удавалось бежать по воздуху! А стоило опустить глаза вниз, и мультяшная физика мгновенно реагирует — всё, реальность, в которой можно бежать по воздуху кончилась, началась реальность, где герой зависает на пару мгновений, и стремительно летит вниз.

В двадцать девять лет я бегу над пропастью и не смотрю вниз, урок детства усвоен хорошо, падать не хочется, и вера в то, что если ты в низ так и не посмотришь, то сможещь перебежать пропасть, зайти на другой край, оказаться в безопасности, раз и навсегда, как будто всегда в ней и был.

Когда живёшь в Иванове, ты не чуствуешь пульс индустрии, страны и мира так, как должен чувствовать. Город, в котором я родился, вырос, построил жизнь и карьеру, их которого я учил всех жить, хоть и находится довольно близко к дефолтному — всё ещё редкое захолустье. Размеренный, спокойный, отдаленный. В городе Иваново легко делать вид, что ты не бежишь ни над какой пропастью, легко не смотреть вниз. Даже если ты известный человек, с огромным количеством друзей и знакомых по всему миру, даже если ты ведешь один из самых популярных индустриальных подкастов, и даже если вся твоя работа подразумевает глубочайшее погружение во всё значимое, что происходит в мире, в регионе, и в твоей индустрии.

Я читал все новости, я до последнего рокового утра был уверен, что ничего страшного не будет, а когда оно настало, не верил, что оно продлится долго, хотя и пропускал через себя абсолютно всё. Всё, все сводки, все фотографии, все новости, все прогнозы и мнения.

Читать далее
Total votes 335: ↑187 and ↓148+87
Comments859

Разрабы приходят сюда жаловаться на бизнес. Другие разрабы здесь говорят им, что они сами виноваты

Reading time5 min
Views17K


Год назад моего хорошего друга не слишком-то хорошо уволили. На днях разработчицу, которую я мельком знаю по твиттеру не слишком-то хорошо уволили. Они оба написали об этом на Хабр. Статьи взлетели — ещё бы, ведь на Хабре всегда взлетают статьи с историями людей. В отличии от технических. Но коменты, в отличие от рейтингов очень не однозначные. Может быть я предвзят, но мне показалось, что сильно больше половины из них делают акцент на вине автора.

Ты сам, братан, во всем виноват. Это ты дурак, что не потребовал прописать в контракте релокационный пакет. Это ты сам баран, что согласился уволиться по собственному. А ты, дура, зря не стала увольняться по собственному — тебе никто ничего не должен. Работодатель правильно сделал, что оформил твою согласованную удаленку как прогулы, и стал угрожать статьей.

Давайте по-честному. Я вот вас тут прилично достал со своими статьями, я понимаю. Но в жизни есть вещи, которые намного важнее, чем то, что фил тупой засранец, который «хайпит на острых темах», и вот это все. Когда я читал коменты с мотивом «самавиновата» от разрабов, которые почему-то дружно встали на сторону рандомного бизнеса, меня прилично так разрывало от праведного гнева.
Читать дальше →
Total votes 101: ↑49 and ↓52+10
Comments183

Я стал думать над мелочами в коде, и уничтожил все желание программмировать

Reading time24 min
Views31K


На моей последней проектной работе мне предложили создать решение на .net/c# с нуля. Заложить архитектуру, стандартные либы, практики, и т.д. Приложение планировалось большое, я получил море бюджета на исследование и продумывание всего.

В процессе я принял много решений. Так много, что сильно удивился — сколько же практик и подходов у меня сложилось за довольно короткую карьеру. Откуда я их взял? Как я к ним пришёл, и с хрена ли я в них верю?

Дело в том, что я не знаю, как это работает у других разработчиков, и только сегодня обстоятельно разобрался в том, как это работает у меня.

У меня в башке есть такой абстрактный «правильный разработчик», который всё делает единственно верным образом. Обычно моя задача быть немного на него похожим. Когда я пишу какой-то код, спрашиваю: «А как бы поступил правильный разраб? Что бы он выбрал и почему?». Да, его не существует, и он на самом деле никак бы не поступил, и эта мысленная сущность не помогает мне решать проблемы. Она нужна для двух вещей: заставляет задавать себе кучу вопросов и чувствовать себя куском говна каждый раз, когда хоть что-то сделал.

С годами работы и я, и мой правильный разраб стали одинаковыми, и мы почти не задаём себе вопросов. Но говном-то я себя, конечно же, считаю, видимо, по привычке.
Читать дальше →
Total votes 81: ↑39 and ↓42+12
Comments129

Я пришел на собеседование с лайвкодингом — и меня с позором размазали

Reading time5 min
Views83K


Если взять все собеседования, которые когда либо проходили у людей, и расставить их в порядке от лучшего к худшему — то на самой последней строчке окажется мое. Это было давно. Я уже умел разрабатывать, но совершенно не разбирался в собесах — и, слепой от желания получить оффер, пропустил все тревожные звоночки.

На первом же созвоне прошло сложное техническое интервью — что нормально — но только в самом конце его объявили «первым этапом, скринингом». Второй этап вел эйчар, третий — настоящие посланники ада. Два человека наперебой заваливали техническими вопросами про дотнет, не давали ни подумать, ни ответить и переходили к следующему.

Я справился странно. Именно странно. На несколько вопросов, которые дотнетчик не может не знать я ответил неправильно, на несколько таких, которые знает далеко не каждый, я ответил хорошо. Вот так бывает, я не сказал, что такое финалайзер, потому что начинал учиться с плюсов, и запомнил его как деструктор. Зато рассказал про поколения в сборщике мусора.

Они похоже оценивали просто количество ответов, иначе как тогда они могли апрувнуть человека, который не знает про финалайзер — это необходимое знание даже для стажера в .net.

Я был ослеплен «успехом» и согласился на финальный этап — лайвкодинг. И вот там мне и пришлось переосмыслить значение слова «жопа».
Читать дальше →
Total votes 117: ↑61 and ↓56+29
Comments417

Разрабы работают медленно и дорого — и люди считают нас лентяями. Просто в разработке всё сложно

Reading time7 min
Views75K

— Люди не из индустрии вечно не понимают программистов: что они там такое сложное делают, если видно только две кнопки? Что за непонятные слова говорят? Почему так много получают?


Вместе с парнями из подкаста «Мы обречены» решили с этим разобраться и запустили совместную рубрику, где будем объяснять, почему в разработке всё так сложно. А для тех, кто любит читать, а не слушать, парни написали эту статью.


Читать дальше →
Total votes 188: ↑152 and ↓36+147
Comments533

Я принес вам решение проблемы с исключениями в C#. Но вам не понравится

Reading time8 min
Views45K


Я каждый день пишу код на сишарпе, и натыкаюсь на одну проблему: я трачу кучу времени на то, чтобы решить, как быть, если что-то идёт не по плану.

У меня есть приличный опыт работы с другими языками программирования, и стандартный подход по работе с ошибками в C# мне не нравится. Но языки и платформы устроены так, что ты решаешь проблемы не как считаешь нужным, а так, как принято.

Эти размышления меня измучили, и я систематизировал свои знания и идеи по обработке исключительных случаев.
Читать дальше →
Total votes 80: ↑57 and ↓23+51
Comments478

Мы делаем веб приложения ради экономии — но этот путь ведет нас во тьму

Reading time4 min
Views18K


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

Вот я автор, и я забиваю на модерацию. Не потому что мне лень — моего жалкого разрабовского заработка не хватает на достаточно мощную машину, чтобы модерировать свои публикациях, где 1000+ коментов. Хабр работает в браузере, а наше общество ещё не настолько технологично, чтобы можно было вот так взять и вывести пару тысяч записей на экран. В браузере. Во всех остальных местах — легко. Но у хабра таких остальных мест нет, они сконцентрированы на веб версии для всего — для десктопа, планшета, айоса и андроида.

Я бы их обстоятельно поругал, но они просто следуют трендам. Где-то когда-то какой-то ооочень большой засранец взял да и сказал: «смотрите ка, если сделать сайт, и пользоваться им как приложением, получится почти то же самое!». И он был прав. Вот только это «почти» — гигантская непреодолимая пропасть.
Читать дальше →
Total votes 78: ↑45 and ↓33+25
Comments111

Не нужно делать из фреймворков культ — они не настолько сложны, чтобы делить людей на React и Angular разработчиков

Reading time6 min
Views21K


Недавно меня позвали гостем в «Тяжелое утро с Holy.js», чтобы хорошенько пропесочить за мою статью про глупцов-фронтендеров. Мы обстоятельно поговорили, и один из аргументов был такой — если наши js фреймворки жрут неоправданно много на простых задачах — просто не используй их. Если тебе просто надо порендерить четыре формы, то тебе не нужен ни реакт, ни тайпскрипт, ни вебпак — ничего. Создаешь три файлика .html, .css и .js — вот тебе и приложение.

Ничего не надо никуда билдить, никакого стат анализа, и никакой прожорливой и тормозной ноды на твоей машине — все быстро и просто. Так можно строить и достаточно большие приложения — ведь тот же vs code вполне себе может тайпчекать твой js. Другие проблемы, которые можно решать большими фронтенд инструментами во-первых часто выдуманы их создателями, а во вторых если и создают большую боль — то только на действительно больших приложениях.
Читать дальше →
Total votes 81: ↑53 and ↓28+42
Comments164

Никто не умеет управлять программистами — и все придумывают костыли, вместо решений

Reading time6 min
Views30K


Когда работаешь разрабом, все время видишь, как тимлиды сидят на куче созвонов, отвечают за все, пишут столько же кода, сколько и ты, и при этом денег у них не больше. На такое пойдут или идейные, или идиоты.

Я не идиот, мои идеи не крутятся вокруг ценностей бизнеса, поэтому меня на такое не подпишешь. Вот только нас не всегда об этом спрашивают. Сначала меня наняли первым и единственным разрабом в возродившийся стартап, потом сказали нанять ещё людей, а потом я обнаружил, что отвечаю за трех разрабов, двух тестеров и одного аналитика.

Если коротко — все ещё хуже, чем выглядело со стороны.
Читать дальше →
Total votes 74: ↑46 and ↓28+37
Comments103

Я посредственный разраб, плохой муж и ужасный отец — нет никакого баланса и выбора

Reading time5 min
Views63K


Мне нравятся пост-ковидные правила игры. Добрая половина вакансий — удаленка. Мы больше не ищем в описании слова «гибкий график» — это теперь само собой разумеется. Никому не придет в голову заставить программиста строго сидеть за компом от 9 утра до шести вечера. Боссы теперь уважают наше время и личное пространство. И нам все еще очень хорошо платят.

Тут все выглядит так, что ты легко можешь жить с очень высоким комфортом, четко дозировать работу, и управлять своей жизнью.

Когда я первый раз получил оффер на ремоут, я так и подумал. В том, как офис пожирает лишнее время очень простая арифметика — конкретно на работу тратишь часа четыре, еще четыре ты страдаешь фигней, два тратишь на дорогу и час вычеркиваешь из каждого утра — он хоть и свободный, но бесполезный. Около восьми часов ты должен спать. У тебя остается всего пять часов на свои дела по дому и общение с семьей. Это ничтожно мало — ведь ты ещё обычно и зверски устал, когда вернулся.
Читать дальше →
Total votes 155: ↑82 and ↓73+36
Comments591

Объясните, почему мой рокет-саенс бэкенд билдится пару секунд, а четыре формы на фронте — полгода

Reading time6 min
Views63K

На прошлой неделе мне удалось невозможное - я уговорил родителей забрать моих детей на все выходные. Если у кого-то из вас есть несколько мелких, вы должны пониматть, какое счастье на меня свалилось. Я уже предвкушал лучшие два дня в своей жизни - но семейная жизнь не ограничивается проблемами от детей. Я проводил мало времени с женой последнее время - и был приговорен к выходным в загородном экоотеле. Тут надо сказать, что я идиот - единственный в мире разраб, у которого нет ноута, поэтому если я уезжаю из дома, то могу попрощаться с любыми планами поработать, или вообще поделать что-то значимое, потому что телефон для меня - не инструмент.

Идиотом быть трудно, поэтому я стараюсь учиться на ошибках, чтобы стать меньшим идиотом в будущем. Я решил сделать себе хороший подарок - и заказал себе топовейший ноут. В моем городе хорошее железо не лежит вот так просто на прилавках магазинов, нужно зайти на сайт, выбрать тачку, выбрать конкретный магаз и заехать за ним. Я все обтяпал так, чтобы как раз к моему возвращению из отеля мой супер девбокс ждал меня в магазине на пути к дому.

Все выходные я предвкушал, как вернусь домой, настрою окружение, впилю темную тему во все, во что только можно. Мой десктоп успел прилично устареть, и мысль, что я поработаю на действительно шустрой машине завораживала. Весь процесс уже красиво сложился в голове. Я уже точно знал, как развалюсь на любимом пуфике, положу ноут на ноги, и начну фигачить код с космической скоростью.

Читать далее
Total votes 264: ↑167 and ↓97+124
Comments439

Мы тратим годы на то, что делается неделю — потому что все ларьки заигрались в IT-гигантов

Reading time5 min
Views128K


Я работал в команде, которая делала десктопное приложение для VPN. Не самая простая штука в мире, много нюансов, много обратной совместимости. У нас были четыре разраба, три тестера, продукт оунер, проджект менеджер, сторонняя команда дизайнеров. Все по-серьезному. Помимо десктопного клиента делалась ещё и либа, которая содержала в себе всю бизнес-логику, и использовалась на других платформах. И эта либа в свою очередь использовала сишный бинарь, который и поднимал VPN туннель.

Если бы меня кто-то спросил, за сколько можно сделать такое приложение в одиночку — я бы сказал: «два месяца на разработку, один на тестирование». Но нас было много, поэтому мы работали больше двух лет.
Читать дальше →
Total votes 208: ↑166 and ↓42+178
Comments257

Не прыгайте выше головы — останетесь тупицей в плену больших денег

Reading time5 min
Views54K


В C# есть такие штуки — структуры. Это как классы, но хранятся на стеке, и работают не по ссылке, а по значению. В среднестатистической разработке их почти не используют. У структур много преимуществ, и я искренне топил за то, что их можно применять для улучшения кода. Типа, смотрите, мы можем использовать особенности структур, чтобы писать более безопасный и отказоустойчивый код.

Такую чушь может сказать человек, который не знает, что у структур есть пустой конструктор по умолчанию, который нельзя ни убрать, ни переопределить. Знаете почему я этого не знал? Да, потому что я никогда их не использовал. Ведь хорошего разрабовского опыта у меня мизер. Я давно уже не хочу читать книжки про сишарп. Зачем, если мне и так платят?
Читать дальше →
Total votes 120: ↑75 and ↓45+54
Comments183

Завязывайте со своим «Хабр не торт». Хабр — это феномен

Reading time6 min
Views17K


Когда я работал в офисе, я не очень понимал, зачем мне нужен Хабр. Все больные для разрабов темы мы обсуждали в курилке, все сложные технические проблемы я изучал по доке, а ответы на простые вопросы искал на стековерфлоу. Когда я стал удаленщиком, ежедневное чтение Хабра стало важным ритуалом. В офисе вокруг меня было две сотни разрабов, а тут только трое коллег, с которыми не особо и охота созваниваться.

Но потребность знать, что вообще происходит в индустрии есть. Хочется знать, что происходит, кого и что волнует, что люди думают о новых технологиях, и какой вообще сейчас дух у сообщества. Вот здесь Хабр и заменил мне тусовку в офисе. И новости, и исследования, и мнения, и сотни комментариев от коллег по цеху.
Читать дальше →
Total votes 126: ↑77 and ↓49+72
Comments93

Не надо портить инженерам десктопы своими мобильными решениями, одумайтесь

Reading time4 min
Views99K


Когда-то давно моя девушка начала использовать инстаграм. Она попросила меня зарегаться и подписаться на неё. Я попробовал — у меня не получилось, потому что в инстаграме нельзя было регистрироваться с десктопа. Я тогда подумал — до чего же странные люди. Ну какой дурак будет делать софтверный продукт, которым нельзя пользоваться с компа? У них ничего не получится, и этот инстаграм станет маргинальным сервисом для кучки странных женщин, которые почему-то не любят десктопы.

Прошло всего несколько лет, рынок все расставил по местам — и самым большим дураком оказался я. А гении из инстаграма предсказали, как и куда все будет развиваться. Сегодня большая часть продуктов для пользователей делается в первую очередь под мобильные платформы. В лучшем случае они фигачат универсальный веб, который все равно оптимизирован под мобильники. Потому что пользователи любят айфоны, а не компы. Бизнес сел, посчитал, и принял решение — давайте зарабатывать больше денег, давайте у нас везде будет мобайл ферст.
Читать дальше →
Total votes 259: ↑233 and ↓26+276
Comments718

Медленный код — вообще не проблема, если ты знаешь как его ускорить. Главное красиво

Reading time5 min
Views39K


Я много раз слышал, как программисты смеются над тиммейтами, которые написали медленный код. Резкие, самодовольные фразы в стиле "этот болван четыре раза пробежался по коллекции, хотя можно было один", и тому подобное. Когда слышишь такое, сразу думаешь — ну тут все по делу, зачем делать лишние итерации? Почему нельзя изучить пару элементарных вещей, вроде принципов работы LINQ выражений в C#, и писать нормальный код? Ты смеешься над некомпетентными тупицами до тех пор, пока смеяться не начнут над тобой. И можете мне поверить — никакие знания в программировании не спасут вас от ситуации, когда вы по незнанию зафигачили квадратичный алгоритм вместо линейного.

Читать дальше →
Total votes 98: ↑72 and ↓26+65
Comments189

В России плохо жить, даже если ты разраб. Но я все равно отказываюсь от релокейта

Reading time6 min
Views107K


Несколько лет назад я читал на Хабре про скандал разраба Алексея Адамовского с компанией Xored. Липкий кейс, компания не заплатила человеку деньги, и для меня сразу стал очевиден главный враг в этой истории. Непонятно было другое. Адамовского наняли работать в новосибирском офисе компании, а он очень хотел поработать в пражском. За те же деньги. Кое-как уговорил их и уехал туда. В целом его право, но меня тогда очень задело другое — неужели человек настолько ненавидит жить в РФ, что готов смотаться отсюда на любых условиях?
Читать дальше →
Total votes 289: ↑195 and ↓94+166
Comments1181

Созвоны не решают никаких проблем. Они нужны только людям, которые не умеют писать код

Reading time6 min
Views95K


Самый первый рабочий созвон в моей жизни вызвал сложные чувства. С одной стороны, это было довольно круто — я говорил с американцами из майкрософт как равный член команды, меня слушали, и это подняло мне самооценку. С другой стороны, у меня возникло странное ощущение — вот мы проговорили четыре часа, и по факту не узнали и не сказали ничего нового. Тупо потратили кучу времени.


Я подумал — ну окей, так, наверное, бывает не всегда. С тех пор прошло лет 5, я не раз менял работу, но везде и всегда созвоны были пустой тратой времени.

Читать дальше →
Total votes 303: ↑203 and ↓100+163
Comments676

Объясните мне, как вы для себя разобрались в моделях типизаций — они же все размыты

Reading time7 min
Views39K


Когда я был начинающим, я мог писать простые приложения на C# и C++. Долго игрался с консольными прогами, пощупал десктопные, и в какой-то момент захотел сделать сайт. Меня ждал большой сюрприз — чтобы делать сайты, одного сишарпа мало. Надо ещё знать жс, хтмл, цсс и прочую фронтовую хрень. Я потратил около недели на эти вещи, и понял — не мое. Я мог написать какой то код на джаваскрипт, но он не содержал типов, и я никак не мог взять в толк — как к этому вообще подходить. Это какое-то игрушечное программирование. Ну и забросил к чертям.


Уже потом, работе на третьей, меня перевели в отдел, где делали веб. Я подумывал уволиться, но мне объяснили — там тайпскрипт, тайпскрипт — это такой сишарп для браузера.


Я согласился, изучил его, и сейчас это один из моих любимых ЯП. Но. Тайпскрипт — это вот вообще не сишарп. Это язык с принципиально другой системой типов. Сложной, мощной, но другой.

Читать дальше →
Total votes 120: ↑106 and ↓14+115
Comments441

Мне надоело, что обычные продавцы выдают себя за разработчиков и позорят индустрию. Они делают мир хуже

Reading time5 min
Views123K


Когда Дудь выпустил ролик про долину, я очень сильно расстроился. Я ещё не знал, про что он конкретно, но мозг моментально нарисовал: манерные успешные успехи говорят про преодолевание, дух предпринимательства, поднятые миллионы баксов, и как сильно их говноприложенька влияет на мир.

Тогда я подумал — надо посмотреть, осудить и бахнуть статью. Про то, что Дудь засранец, а в настоящей разработке все по-другому. Прошло уже месяца два, но я так и не смог заставить себя это посмотреть.

Мои новостные ленты были завалены обсуждениями, восхищением и критикой выпуска. Каждый раз читая что-то об этом, я испытывал непонятную почти физическую боль. Ну хорошо, главный журналист страны рассказал про мою индустрию, но рассказал не так, как хочу я. С этим можно жить. Да, со всей своей преисполненностью и трушной технарскостью, я все ещё маленький завистливый чмошник. Я тоже хочу сидеть в кофейне в Пало-Альто и смотреть, как мне выписывают чек на пять миллионов долларов. Но смотрите, я вырос в России и давно научился не обращать внимания на свою патологическую зависть. Мне давно не бывает от нее больно.

Бомбанул я точно не от зависти — и я долго не знал, почему.
Читать дальше →
Total votes 352: ↑263 and ↓89+245
Comments970

Information

Rating
Does not participate
Location
Иваново, Ивановская обл., Россия
Works in
Date of birth
Registered
Activity