Инженеры vs программисты vs кодеры

Люто бесит когда вылазит какой-нибудь олдовый PhD совецкой закалки (не в обиду PhD и советскому образованию) и начинает делить нас на “инженеров” и “кодеров” (иногда “программистов”). Дескать, инженеры, в белых халатах, они решают инженерные задачи, проектируют (с подругою в НИИ) значит всякие штуки, а кодеры — обезьяны для набора текста, сидят в подвалах и забивают перфокарты мудростью, спущенной с верхних этажей. Алё, дядя! Ты когда последний раз “кодеру” давал алгоритм в виде блок-схемы на реализацию?

Фуллстек. Фронтенд для бекендеров 2

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

Фуллстек. Фронтенд для бекендеров 1

С html, css и js у меня как-то не особо складывалось по жизни, хотя большую её часть я занимался разработкой именно веб-приложений. В 2010 помню была у меня задача рисовать на экране что-то вроде диффа между двумя деревьями, в виде таблицы. Сам дифф я изобразил довольно быстро, но никак не получалось сделать так, чтобы высота пустых ячеек в таблицах была такой же, как и для заполненных. Для рисования таблицы я пользовался не table/tr/td а нашим внутренним фреймворком для рендеринга в html, который добавлял кучу вложенных элементов.

О кабанах. Рефлексия о старом

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

О минимально необходимом качестве инструмента 1

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

О рабочем железе 2

В итоге я оттуда ушел, предварительно озвучив руководству отсутствие SSD (в 2015 году!) как одну из важных проблем, и через полгода-год ребятам вроде как начали обновлять машины. Ура. Победа. Спустя 5 лет. Конечно же я понимаю, что не все так просто. Что купить один SSD за 100 баксов вроде как и немного, а купить 300 штук на всю контору — это уже существенные цифры, они в бюджет не закладывались и вообще, вот люди сидят — работают?

О рабочем железе 1

Я начинал свою карьеру в 2007 за четвертым пентиумом с 256 мегабайтами памяти (и это для Java-разработки-то!). Около года ушло на то, чтобы выбить себе еще 256 мегабайт, еще года полтора я жил на них, а потом, в 2010, мне выдали ноут Thinkpad t410, на котором я отбатрачил наверное еще годика два, и наконец в 2012 я заполучил новенький Thinkpad t420 с целыми четырьмя гигабайтами памяти и жестким диском на 500 гигабайт.

Есть время только на что-то одно 2

Многие со мной конечно же не согласятся, потому что людям может быть нравится просто побренчать без напряга, косо, криво, но хоть как-то. Или играть в компьютерные игры просто для удовольствия, а я считаю например, что есть смысл играть только в соревновательные игры с другими людьми, и дорасти до уровня выше среднего, а все остальное — пустая трата времени. Если заниматься каким-то спортом — то тоже, прокачаться до такого уровня, когда прохождение сложных для большинства людей участков становится не превозмоганием, а удовольствием — например жать хороший вес, или без проблем и технично съезжать по сложным горнолыжным трассам, или пробегать (полу)марафон и не падать замертво, или играть в футбол и быть топ1 хотя бы на своем раёне.

Есть время только на что-то одно 1

Каждый человек за свою жизнь может профессионально освоить минимум одну сферу деятельности. Правило 10 000 часов работает — если достаточно долго чем-то заниматься, то даже при отсутствии таланта, хоть средненьким профессионалом, но станешь. Неважно, что это будет — слесарный скилл, бухгалтерия, продажи, разработка или подметание улиц. Как минимум что-то одно делать хорошо ты обязан. А вот дальше уже сложнее. Молодость потрачена на овладевание первой профессией, и если она была выбрана верно и нет желания что-то менять то дальше можно так и остаться специалистом в одной области и дилетантом в десятке.

Бигдата в (кибер)спорте

Вместо залипания в сериалы и аниме я последние пару лет смотрю киберспорт. Киберспорта щас очень много всякого разного, но мне заходят только хардкорные шутеры — разные виды Quake который уже давно непопулярен (последняя попытка перезапустить серию с выпуском Quake Champions фактически провалилась, т.к. игра так и не смога завоевать большую аудиторию, нынче в моде батлрояли я не арена шутаны) и Counter-Strike (который сейчас уже в третьей инкарнации и называется Global Offensive, но, по-большому счету, концептуально недалеко ушел от начала нулевых).

О двух (трех, четырех...) мониторах 3

Многие мои коллеги каким-то образом умудряются работать с тремя мониторами (лептоп + 2 внешних), однако мне все равно кажется что значительного прироста к продуктивности это не дает. Когда я стал сооснователем небольшой аутсорс шхуны, то решил что у моих людей будет стоять хорошее железо и обязательно два монитора. На б.у. рынке были прикуплены системники core i7 с сотнями оперативы и мониторы Dell (обязательно U24хх серия, 1920х1200 — 180 пикселей таки большая разница!

О двух (трех, четырех...) мониторах 2

…и вот по каким причинам: Первое, очень неочевидное, мне приходилось все время крутить головой и это утомляло и сбивало фокус. Возможно, сказался тот факт, что как раз после возвращения из командировки я стал все больше программировать в MS Outlook и скайпе и все меньше смотреть в IDE, но необходимость помнить где какое окно и постоянно вертеть головой со временем стала утомлять. Так я первый раз отказался от этой идеи. Вторая причина, если работать с ноутбуком то нужно все время отключать-подключать его кабелями и это, в зависимости от настроек, родного разрешения и разрешения внешнего монитора, может все время сбивать расположение и конфигурацию окон.

О двух (трех, четырех...) мониторах 1

В далеком 2010 году я поехал в командировку в Канаду, к одному из заказчиков NC, где я тогда работал. В то время был бум всяких аджайлов, и руководство заказчика было готово работать по time and material контрактам, хотело видеть всю команду в одной локации, а еще, в качестве консультантов по внедрению гибких методологий, наняло ребят из компании ThoughtWorks. Контора эта известна, например тем, что там работает такой дядя как Martin Fowler, также они разработали кучу софта для управления проектами, CI/CD (GoCD), автоматизации тестирования (Selenium) и так далее.

О синем цвете

Один из моих сотрудников на работе одевает желтые очки. Я уже не помню, что он мне ответил, когда я поинтересовался, зачем это нужно, но потом я понял, что синий цвет — плохой, а очки его фильтруют. В последние годы во все телефоны и операционные системы разработчики встроили так называемый “ночной режим” — изменение цветовой температуры экрана в зависимости от времени дня. Я подключил себе этот режим везде где только можно — на телефоне, макоси, винде, и ни разу не пожалел — глаза действительно меньше напрягаются, а когда по какой-то причине софтина отключается (например, переход из полноэкранного режима в оконный) и эффект пропадает то такое ощущение, что на тебя направили прожектор.

О рекрутерах и сообщениях на английском

Люто раздражают отечественные рекрутеры, которые пишут сообщения на английском (все вот эти “Hello Vladimir, …US-based IT company is looking for a Senior Developer”). Особенно если это какая-нибудь Yaroslava Tverdokhlib (все совпадения случайны), или девушка с еще более зубодробительной фамилией, с кучей шипящих. Очень диссонирует с английским текстом. Ты же видишь что я “Vladimir”, ну епта, ну пиши уже кириллицей, чего строить из себя непонятно кого? Понятно что вакансия на английском, но приветствие и короткое интро мне лично приятнее и удобнее читать на своем языке (украинском/русском).

О вредных привычках 4. Работа

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