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

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

О планах карьерного развития, 365 degree review и прочих способах платить меньше

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

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

И немного про стартапы. В 10-11 году мы с женой вложили 10k в зоомагазин (физический) и стали партнёрами в мелком бизнесе (спойлер — партнёрство не зарегистрировали должным образом, бизнес не взлетел, точки закрылись, деньги сгорели). Параллельно с этим планировалось запустить еще и интернет-магазин, и я, как человек, что-то понимающий в разработке, взялся за это дело. Естественно, вместо того, чтобы взять опенкарт/shopify/мадженту/что там еще есть, я решил что б-гомерзким PHP связываться не стоит и нужно потрайхардить.

Инженеры 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) и так далее.