Егор Малкевич

Егор Малкевич

Темы
Неделя
Feb 19, 2020 → Feb 23, 2020

Архив недели @wegorelax

Среда


Всем привет: утра доброго, дня доброго, с масленицей! @jsunderhood Снова с вами! И @wegorelax поделился с нами темами, которые планируем раскрыть в течении недели. Темы под катом. 🧐🙃🤥

История Егора Малькевича @wegorelax про самое провальное собеседование с обеих сторон глазами Егора Малькевича

<... Был солнечный зимний день. Я уже успел немного пошуметь в городе, и раз 4 сходить на собеседование на позиции директора, PM, различного уровня технических директоров в компанию EПАМ и даже поработать год и уволится. Грубо говоря уже была какая-то репутация, меня знали.

Так вот я решил, что после всего этого я Senior Frontend Engineer, и без задней мысли договорился о собеседовании и пошел...> <... Страх, это чувство которое проверяет тебя на прочность, подумал я, открывая дверь и входя в кабинет на собеседование ...>

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

Зайдя в кабинет я увидел, 3-х ребят с которыми мы работали год. Ребят, которыми я восхищался на конференциях, и еще ребят, которые пришли посмотреть на меня. Откровенно говоря, я уже особо не думал, что там на собесе. Я искал место глазами где спрятаться...

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

А в те славные времена не было такой штуки как .querySelector и тп... Когда с одним человеком можно найти общий язык и построить хороший диалог - держать лицо. То 10 человек меня закидали таким количеством вопросов и замечаний. Что я себя почувствовал не тупым, а очень тупым.

Резюмируя. Сколько компаний столько и подходов к собеседованиям. Но представьте как тяжело собеседовать ваших кумиров, и как тяжело собеседоваться у ваших кумиров. Это стресс тест для обеих сторон. Я придумал фразу которую часто говорю себе: "Они всего лишь люди..." Так и живу.

🔥Тред (@wegorelax)

Четверг


День сегодня солнечный, а это значит, что на повестке дня Gatsby.js. Надеюсь все слышали про статические сайты? Это такие сайты, где все рендерится на сервере, а на клиенте даже JS может не быть. Да, да, как у дедушек было... Поехали 😉🤪🥳

Один из самых важных показателей для потребителей (люди пользующие нашими приложениями потребляют наш продукт) это скорость. Современный потребитель в основном сидит с телефона, c нестабильным интернетом, и дополнительное условие - переходит к нам из соц сетей...

А что если считать эффективность нашего кода в Джоулях и затрачиваемой энергии на поддержание работы сайта? Утопия? Кто так делает? Обратите внимание на этот энергоэффективный сайт solar.lowtechmagazine.com/high-tech-prob…

Что вы знаете про JAMstack? thoughtworks.com/radar/techniqu… А PWA? en.wikipedia.org/wiki/Progressi… GraphQL? thoughtworks.com/radar/language… Когда я год назад задумывался о том каким будет разработка фронта в 2k20, никогда бы не подумал, что три эти подхода объединятся в одной инфраструктуре...

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

В случае Gatsby.js, наша команда по-создавала домашние проекты. Мы нашли несколько интересных идей и подходов которые успешно были скамунижены в наш Production. Попробуйте и Вы, фрэмворки такие как Gatsby.js, NestJS, NextJS... Служат для того, что бы делать нас с Вами умнее...

Ох чуть не забыл, а вы задумывались о том, как дедушки делали отзывчивые, и рекативность?) Например при отсутствии или минимальном наборе JS? github.com/turbolinks/tur… Очень же похоже на модный github.com/guess-js/guess А старички раньше креативили 😂🤣🤓🤫

🔥Тред (@wegorelax)
Кстатии мало кто знает, четверг вечер а ребята в Минске #proconf обсуждают прошедшие конференциии отовсюду. Так вот сегодня четверг и ребята разговаривают с лучшим QA в Минске про QA вообще тут много смайликов огня, тут еще крутая замонуха и ссылочка… youtube.com/watch?v=yexH7A…

Вспомнилось, что мы так и не поговорили про code-review. Для интереса, давайте воспринимать code-review шире, допустим как - читать, что либо на любом языке...

Наш мозг весч уникальная у него есть лоу-левел скиллз по чтению белиберды (как мозг воспринимает информацию, какие центры участвуют). Он сам ищит закономерности и связи. Даже если их там нет. И посто читая белиберду. Со временем, прилагая достаточные усилия, мы начнем понимать.

как облегчить чтение кода: 1 абстранироваться от деталей реализации: - большинство кто легко читает код не смогли объяснить как они это делают - избегать ловушку разума которая заставляет нас фокусироваться на том, что нам непонятно, вместо того, что понятно

Учитьчя распознавать шаблоны. - не только кода, но и архитектурные. - и как писали выше, не утопать в деталях реализации.

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

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

Интересно знать: #закон Миллера, что больше семи однородных объектов – быстро приводят к усталости в восприятии. Нам часто не нравится чужой код - ментальная модель, наша установка. Возможно там код лучше чем у нас, или наоборот... Сравнивая себя с кем то, мы бомся быть хуже

Как же писатели кода уживаются друг с другом?Со временем вводят практики стандартизирования написания кода. Безобразно, но единообразно. Примерно как маленькая пекарня, со временем становится хлебозаводом. Где уже нет места вкусным булочкам, и изысканным пончикам.

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

🔥Тред (@wegorelax)

Суббота


Хух, выходные... самое время для новых открытий. Обратите внимание на thinkwithgoogle.com/intl/en-cee/ . Хороший способ следить за трендами вокруг наших ИТ продуктов. И черпать идеи для вдохновления, на равне с #producthunt, #appannie

Хотел пообсуждать Flutter SDK в треде. У меня есть подозрение что Flutter в 2k20 отлично отвоюет долю у React Native и Ionic (Cordova Phonegap)... Почему? Потом, что строгая типизация в JS занимает все больше места. А целая инфраструктура, вокруг Dart это очень сильно.

<... Ссылкочки dart.dev/codelabs/dart-… flutter.dev trends.google.com/trends/explore… ...> Интересно, что React Native судя по трендам отстает от Flutter особенно в Китае. Казалось бы, но делать нативные мобильные приложения классическими мобильными разработчиками - дорого.

Код снипет на Dart, можно заметить встроенные типы. Похожий на JS синтаксис. И невероятная помощь в IDE, по автокомплиту и подсказкам. За счет встроенной в виртуальную машину типизаций.
notion image

Давайте пообсуждаем, кто, что думает o Flutter vs React Native vs Ionic vs Native? Вытеснит ли Flutter со временем всех остальных? И куда лучше вкладывать умственные усилия, если вдруг будет задача делать мобильное приложение. (Может мобильный вебсайт? 🤓)

🔥Тред (@wegorelax)
Еще одна горячая тема современности - организационный занос. (О влиянии инноваций на рабочие процессы) Читая The Harvard Business Review, заметил... Что в головах менеджеров появилась некая идея косить под стартапы. И всячески копировать процессы, гаражи Стива Джобса и тп.

Чем это плохо, ведь вроде как стартапы это весело, и вроде внедрение молодежных процессов, гибких графиков сделают корпоративные процессы более человечными. Но есть но. Представьте сталелитейный завод, где все по аджайлу. Ребята собираются с утра проводят планерку... Хакатонят..

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

Так вот, когда мы говорим на ковеере, "а давайте мы будем творческими и гибкими". Diversity... Ожидания - open space, печенюшки, ремонт в стиле loft, а так же agile, scrum... Дадут результат: люди будут продуктивнее, творческие, вовлечены...

Факт - люди обложены со всех сторон метриками и отчетами, инициатива наказуема, переработки, митинги ради митингов... И по-итогу люди работают как раньше, только медленнее... Главные вопросы: Почему копирование процессов не работает? И почему молодые менеджеры их внедряют?

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

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

🔥Тред (@wegorelax)
В наших просторах не принято говорить о терапии и хождению к психологам. Но... У меня много знакомых практикующих психиаторов. Да и друзей айтишников, которые ходят к ним. Так вот популярен тренд "Выйти из ИТ, чем себя занять вне работы". Предлагаю обсудить 😅🤓🧐🙃🤪🤠

И это меняет все. На последнем собеседовании мне уже предлагали сразу бессрочный оплачиваемый отпуск... Да вы все правильно прочитали. Хочу порекомендовать книгу, про сложности разработки продуктов на примере #gamedev ozon.ru/context/detail… Тяжело оставить работу на работе...

По большому счету если уходить то куда? 🙃🤪 С учетом того, что так или иначе все движется в ИТ и все люди так или иначе уже вовлечены, как потребители или пользователи... А ситуация с открыть кафешку, качалку... Приведут вас в управление бизнесом, где еще больше нервов 😂

И так уход в свой маленький бизнес, не вариант. Накопить сразу на старость и выйти на пенсию, но у нас и ЗП не те.. Остается отличный и рекомендуемый с больших конференций вариант. Уходить из ИТ лучше в отпуск. И желательно не на две недельки. А еще можно стать скрам мастером🤫

🔥Тред (@wegorelax)

Воскресенье


Great New Features Released in TypeScript 3.5 via @gitconnected #javascript #typescript #programming #softwaredevelopment #technology #100daysofcode #webdev #webdevelopment levelup.gitconnected.com/great-new-feat…
Всех с 23 февраля, желаю вам больше строгих типов на границах качества вашего кода 🤠😉🥳🤥🥰 twitter.com/JavaScriptFeed…

Воскресенье, время ретроспектив и Scrum митингов в кафешках... A это значит, что пришло время пообсуждать Agile в разработке софта и почему он хорош, да не очень и когда он хорош. Все, что будет в треде, лишь мнение, научно не доказанное... Не подкрепленное статистикой... 🙄🤨

В разработке все знакомы с Agile подходами: - разбивай большую задачу на мелкие задачи; - разрабатывай мелкими итерациями (1-2 недели); - каждый день синхронизируйся и обсуждай с глазу на глаз; - быстрый фидбэк от быстрых итераций; - думай о качестве; - будь вовлечен; ...

Многие книжки по Agile приводят в пример стройку и строителей: бригады, прорабов, и тп. Я решил поговорить со строителями, и узнать что они думают об Agile в том ключе, как его преподносят нам, приводя их в пример. После моего рассказа - сказали утопия... А чего утопичного то

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

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

Хорошо разложено как работать на результат в книжке: ozon.ru/context/detail… Одна ремарка, они улучшают уже имеющийся продукт. В при разработке продукта с нуля... Возможно есть ответы в других книжках этой серии...

Методики и фрэймворки используемые в Agile давным давно используются в реальном производстве. Где есть физические объекты, сройка, фабрика и тп... Но там есть физические метрики которые можно легко посчитать и оценить. Есть рамки... Мол сколько кирпичей положенно...

Очень много вопросов по измерению объемов труда. Это самый большой вопрос для менеджеров, как? Стори поинтами? Бернаутами? Блаж... На этапе планирования, ресерча... при согласовании бюджетов и сроков поставки продукта... И вопрос, как сделать тот продукт? С той архитектурой...

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

А еще надо не забывать, что программистам, я именно про кодеров... Давольно тяжело общаться, проф деформация делает их достаточно ассоциальными особенно в СНГ... Посмотрите даже на ребят из сериала Селиконовая Долина... Большинство типажей ассоциальны. Какое общение, вы о чем..

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

🔥Тред (@wegorelax)

Ссылки