✙rozho)))k✙🇺🇦
3.47K subscribers
295 photos
32 videos
1 file
659 links
Про автора: www.rozhkov.me/about
Про канал: www.rozhkov.me/about-full-of-hatred

Канал про все що не ІТ: @daily_rozhok
дірект: @xrozhokx
блог: rozhkov.me
Download Telegram
Онлайн-сообщества 1/3

Когда еще не было социальных сетей, основной платформой, где проводились обсуждения, были usenet-группы (в начале) и тематические форумы (с развитием веба). Я провел огромное количество времени в дискуссиях и спорах на таких площадках, кое-где даже стал модератором/администратором. Ретроспективно я жалею о 99% потраченных на это человекочасов. Думаю, что основными проблемами, побуждающими меня сидеть на форумах, были низкая социализация IRL, иллюзии касательно капитала, сколачиваемого там, отсутствие внятных жизненных целей.

Со временем я пришел к выводу, что нормальный человек (inb4 #define "нормальный") на онлайн общение и дискуссии своё время тратить не будет. Если внимательно посмотреть на состав участников любого сообщества, то очень-очень-очень редко вы встретите среди активных комментаторов успешного, или достигшего чего-то персонажа. Тот, кто чего-то достиг, занят своими делами, ему некогда тратить время на пустые разговоры, а таких 99%. Единственный сценарий, в котором такой человек может использовать форумы—это для пиара/создания хайпа вокруг своих проектов—рекламы, ответов на вопросы, инсайдов. Посудите сами—какой выхлоп от дискуссий с мимокроками, завсегдатаями-мастерами острого слова и троллями? Все верно, никакой, только потешить себя метким оскорблением, собрать лайков или "наорать" на собеседника если день плохой.

99% всего производимого в перепалках "контента"—мусор, пустая речь, бесполезняк, прокрастинация, отбирающая энергию на реализацию полезной деятельности. Можете сами сделать вывод об активных комментаторах и реальном уровне их профессионализма и достижений, но по себе скажу что я стравил в форумы огромное количество креативной энергии, которая не пошла на полезную деятельность. Говоря другим языком—вместо того, чтобы обсуждать гитары и устройства на форумах, стоило пойти и заняться игрой. Вместо того, чтобы доказывать оппонентам что ваш язык—самый лучший, стоит получше его изучить, сделать на нём проект, ответить на вопрос на stackoverflow или написать техническую статью.
Онлайн-сообщества 2/3

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

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

Что же делать если всё же хочется какого-то социального капитала, но бесполезность комментариев вам уже понятна? Все просто—нужно создавать материал для дискуссий. Только не два абзаца "давайте обсудим почему X лучше Z", а нормальную такую статью или пост. Это не так просто, и для создания нужно приложить намного больше усилий чем для однострочного комментария, но оно того стоит. Вы уже будете в выигрышном положении, потому что заядлые комментаторы обсуждают ваш материал, а не свой. Тот кто сделал, тот и прав. Вы задаете фрейм, в котором будут находиться другие участники. Пусть они будут писать вам негатив (а большинство комментариев негативны, просто исходя из природы людей), но они будут находиться в вашем фрейме, а не в своём. Плохая статья лучше самого колкого комментария. Плохой музыкальный трек лучше самого фундаментального критического отзыва. Плохой проект слепленный на коленке лучше комментария "это никому не нужно". Критики, комментаторы и прочие острословы ничего не создают, они вынуждены довольствоваться объедками, которые падают со стола тех, кто создает и производит.

Я очень рад, что мне с трудом, но удалось перенаправить стремление к общению из пустых дискуссий в более конструктивное русло. Жалко только что на это ушло так много лет, но что есть то есть.
Онлайн-сообщества 3/3. Комментарии

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

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

Нужно будет нарисовать алгоритм ответа на комментарии, в котором все ветки оканчиваются блоком "ничего не писать", а пока что вот текстовая версия для меня и для вас:

- Комментарий касается трех "запрещённых" тем: политики|религии|отношений и секса?—ничего не писать ни в коем случае, это мало того что бесполезно, так еще и может навредить вам в будущем.

- Комментарий является ответом на оскорбление?—ничего не писать.

- Комментарий заключается в шутке|колкости|оскорблении?—ничего не писать и заодно подумать что триггернуло желание сделать такой комментарий.

- Комментарий не создает отправную точку для креативного продолжения (например запрос контактов собеседника для последующего личного общения)?—ничего не писать.

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

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

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

Пост посвящается человеку из нашего чата, который довольно резко высказал своё мнение (по поводу того что "автомобиль нормальный человек водить не будет"), ввязался в срач с другими участниками и после непродолжительной перепалки сделал ragequit. Братан, для тебя.
Чужие стартапы

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

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

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

Так же не получится делегировать разработку другим, а самому заниматься архитектурой и CTOшничанием, параллельно работая над другими проектами. Как я уже говорил, даже для простой декомпозиции задачи нужно будет в ней разбираться. У толкового разработчика сразу возникнет миллион вопросов, на которые нужно будет отвечать. Все это—точно такая же работа, и она будет посложнее простого программирования.

Одна из немногих областей, которые мне интересны—это developer experience. Вот тут я наверное бы поработал над каким-то продуктом. Потому что эта проблема мне близка и интересна, я с этим сталкиваюсь каждый день. А кешбек-сервисам, proptech-, fintech- и lawtech-платформам—отказать.

Если же у вас загораются глаза от стартапов—у меня есть предложение. Знакомая подписчица из Киева хочет запилить proptech-платформу и ей нужен технический кофаундер или просто разработчик. Вот описание проекта. Писать в фейсбук, телеграм (+380 99 328 09 35) или в гуглоформу.
Стрим сам себя не проведёт, поэтому сегодня в 20:00 по Киеву/МСК будем стримить стрим -> https://www.youtube.com/watch?v=a6gEgsTaeng

Для тех, кто недавно присоединился, вот ссылочки на записи предыдущих стримов с таймкодами: один, два, три. Смотреть на х2 вечером вместо сериала.

Как обычно, обсуждаем животрепещущие вопросы, волнующие прогрессивную общественность: Как бороться с прокрастинацией? Как распределять семейный бюджет? Что я кушаю? Почему никто не делает нормальный девопс? Что я думаю про котлин на бекенде?

И другое. Вопросы принимаются в редакцию по адресу https://app.sli.do/event/q89hkv3v до и во время стрима, а так же в ютуб чат. Если не знаешь что спросить—проголосуй за уже заданный вопрос более расторопного товарища!

Ожидаемая длительность стрима—2 часа. Для тех, кто не может посетить это замечательное событие, на следующий день будет выложена запись со всей сотней таймкодов. https://www.youtube.com/watch?v=a6gEgsTaeng
Доступна запись стрима №4 со всеми таймкодами и ценными ссылками https://www.youtube.com/watch?v=a6gEgsTaeng

К концу стрима я разогнался и выдал неплохой контент. Эти темы отмечены 🔥

00:05:45 Как изучать английский? (https://www.rozhkov.me/post/english/)
00:08:00 Как учить новые скиллы (https://www.rozhkov.me/post/resume-driven-development/)
00:09:28 Почему стримлю из кухни
00:12:25 Как и когда учить новые технологии? (https://www.rozhkov.me/post/resume-driven-development/)
00:19:27 Почему негативно отношусь к обсценной лексике
00:21:34 Что делать если застрял в энтерпрайзе и нет развития
00:23:17 Про качество звука и картинки на созвонах
00:23:58 Что мотвирует меня делать стримы
00:25:40 Набирал ли вес. Про физуху и тренировки
00:27:37 Реально ли найту работу джуну на джаве. История подписчика-вайтишника
00:29:50 Планирую ли оффлайн мероприятие с подписчиками
00:32:34 Где лучше работать джуну—в стартапе или в аутсорсе
00:34:03 Реально ли найти работу разработчиком в небольшом городе
00:34:52 Про увольнение как решение проблем проекта, развития, выгорания
00:37:17 Собираюсь ли заводить детей
00:43:04 Про PHP. Нужно ли переходить c PHP на другой язык (https://www.rozhkov.me/post/technology-vs-soul/)
00:45:02 Где веду заметки. Показываю Roam Research
00:48:50 Стоит ли фронтендеру становиться фуллстаком (да)
00:51:53 Про финансовую грамотность. Как контролировать траты (https://www.rozhkov.me/post/basic-finances/)
00:58:42 Развиваться ли в QA или идти в разработку
00:59:39 Как я отчитываюсь перед клиентами о часах работы

01:00:39 Пассивный доход. Инвестции. Ценные бумаги
01:03:27 Про феминизм (https://www.rozhkov.me/post/how-to-light-a-flame-over-internets/)
01:04:30 Еще про инвестиции
01:05:02 Легаси проект, не дают рефакторить, что делать?
01:09:09 О целесообразности покупки автомобиля
01:11:24 Работаю в стартапе, выгорел, что делать.
01:12:12 Еще про финансовую грамотность и траты
01:15:10 Почему весь девопс инструментарий очень плох
01:21:40 Про мобильную разработку (https://www.rozhkov.me/post/mobile-development/)
01:24:36 Про семейный бюджет
01:26:17 О делании себя заметным (https://jvns.ca/blog/brag-documents/)
01:27:11 Как нанять к себе в компанию хороших разработчиков
01:29:47 Можно ли ходить на собес если заранее знаешь что не тянешь позицию
01:30:31 Про FI/RE (https://www.youtube.com/playlist?list=PL9tqPYOK0bHsk0D937gh0rqwNfLLdfDlO)
01:31:50 Про друзей
01:33:35 Как правильно задавать вопрос в гугл
01:35:42 Про флаттер и другие кроссплатформенные фреймворки
01:36:55 Еще раз про финансовую грамотность
01:40:35 Про выгорание (https://www.youtube.com/watch?v=K6oZuB8_dU8&t=29s)
01:50:36 Почему использую Firefox и DuckDuckGo вместо хрома и гугла
01:52:38 Как программисту вкатиться в девопс
01:56:48 Почему ни в коем случае не нужно перекатываться из программистов в девопсы. Творцы vs обслуга. Мотивационный спич в стиле тренеров личностного роста. 🔥

02:01:06 Про фуллстек, про генералистов, про целостное знание. Мощный спич. 🔥
02:07:03 Как справляюсь с информационным шумом и большим потоком информации. Дизлайк отписка. Почему не нужно следить за новостями (https://vas3k.club/question/3721/#comment-c5d02636-7751-4389-95a3-3969371d259d) 🔥
02:26:00 О синхронных митингах и асинхронной коммуникации (https://twist.com/remote-work-guides/remote-team-communication) 🔥
02:30:00 Про прокрастинацию и продуктивность
02:35:25 Еще про Roam Research


Спасибо всем кто пришел!
Сарафанное радио

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

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

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

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

Та же история касается личных отношений. Сходили на вечеринку к незнакомым или малознакомым людям—вас зовут на следующую? Если да—вы красавчик и все хорошо.

Если же вас не зовут повторно на движ, не пытаются переманить экс-коллеги, не предлагают новые проекты старые клиенты—повод задуматься.
Почему исполнители падают на мороз

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

Я часто с таким сталкивался: мастер, который делал мне кухню как-то пропал на пару месяцев, дизайнер который рисовал мне какие-то макеты не отвечал по несколько дней, мастер, который чинил скрипку тянул вола пару недель вместо пары дней.

Меня всегда удивляло такое положение вещей. Неужели трудно отказаться, или написать "у меня появились более приоритетные дела, извини" или еще каким-то образом разрешить ситуацию?

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

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

p.s.: "упасть на мороз", "морзиться" это идиома распространенная в Украине и обозначающая "игнорировать". "Он морозится"—"он меня игнорирует".
Metabase

Самое быстрое, самое эффективное и самое оттягиваемое решение, которое я когда либо принимал для клиентских проектов это установка BI системы.

Серьезно, сколько времени за несколько лет я потратил на кастомную выгрузку данных или допиливание существующих отчетов? Десятки часов, не меньше. Почему так делал? Потому что я не очень продуктивен, вот почему.

Все это время у меня в бэклоге висела задача "поставить BI". Висела, висела, висела, пока я пару дней назад не триггернулся на просьбу сделать очередной отчет.

Несмотря на простоту запроса я решил, что "бюджет ошибок" (термин из Google SRE) уже давно исчерпан и пора с этим что-то делать. У меня на радаре давно была Metabase, как простое опенсорсное решение. За 10 минут развернул новый кластер, еще за пару минут добавил туда все датасорсы, показал заказчику где кликать чтобы увидеть интересующие его данные и был таков. Менее часа работы, зато пользователи теперь могут видеть все свои данные и не дергать меня по каждому чиху (теперь будут дергать по SQL, но на самом деле для специалиста в экселе SQL будет простым).

10 из 10, буду ставить еще. Вообще, надо добавлять Metabase (или другую BI) себе в обязательный стек к CI/CD, CDN, централизованному логированию, трекингу пользовательских действий, трекингу ошибок и другим штукам которые идут с каждым проектом.

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

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

Лучше всего работается в изоляции, одному, над изолированным куском функциональности. Если вы работаете в команде, то неизбежен разрыв между теми кто уделяет больше времени работе и постоянно находится в контексте, и теми, кто работает нерегулярно и меньше. Плохо делать фичу, на которую будут завязаны другие, если вы не можете выдать ее в предсказуемый срок, или если задание может меняться на ходу и зависит от синхронной коммуникации. В этом случае неизбежно будут возникать мелкие фрустрации, когда от вас что-то хотят, а вас нет на месте. Даже если это "нет на месте" предсказуемо, то всё равно это тянет команду назад.

Предсказуемость—ваш лучший друг. Лучше всего работать в выделенные дни, которые вы полностью посвящаете проекту. Так будет хорошо и для вас—в другие дни вы не будете думать о задачах, и для команды—они будут знать, когда точно на вас можно рассчитывать. Менеджера своей работой уменьшают энтропию, и если вы им в этом будете помогать—у вас все будет как минимум неплохо. У меня, к сожалению, пока не получалается выделять дни/часы, но я над этим работаю. Если не можете выделять блоки, то обязательно нужно коммититься на определённое количество часов (и отрабатывать их конечно же).

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

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

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

Парттайм работать можно и на одного работодателя. Доход будет конечно же ниже, но качество жизни радикально улучшится даже от +1 выходного. Рекомендую вам прощупывать почву в этом направлении и пробовать разные варианты взаимодействия.
Робота мрії

Мене дивує, коли люди говорять про "компанію" чи "роботу" мрії.

По-нульове, дуже дивно "мріяти" про роботу над чужими бажаннями та проєктами, навіть якщо це дуже складна галузь. На мою думку, мріяти треба про щось своє. І я зараз не про мантру "не працюй на дядю" і "кидай все та починай стартапити", зовсім ні.

Бажання працювати у великій корпорації, або над цікавим проєктом само по собі непогане, якщо це частина великого плану реалізації чогось свого. Наприклад, коли я влаштовувався у стартап після роботи в ентерпрайзі, то своїм завданням я бачив зовсім не зміну світу та слідування місії й цінностям компанії, а добре навчитися роботі з хмарними технологіями та отримати досвід роботи над B2C продуктом.

Але говорити про звичайну роботу в наймі як про "мрію"? Ні, дякую.

По-перше, це все про людей. Навіть найцікавіший з погляду предметної області, задач що вирішуються та технологій проєкт буде неминуче затьмарений, якщо навколо вас працюватимуть мудаки. І навпаки — набагато приємніше клепати прості SaaSи в компанії людей, яких ти розумієш з півслова, справжніх професіоналів своєї справи. Напевно, часто мають на увазі, що в "компанії мрії" працюють саме такі фахівці, але боюся, що насправді все як завжди і як скрізь.

Але тоді нумо говорити не про "компанію мрії", а про "команду мрії".

...

Яка ж моя робота мрії? Я мрію створювати ідеології, філософії, світогляди, за якими будуть йти інші люди, та заробляти на цьому, мати можливість існувати з цієї діяльності. Так працюють компанії та люди, які мені до вподоби.

#карьера #лайфстайл
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot
1😱1
Работа с джунами-волонтёрами и adopt.com.ua год спустя

Ровно год назад я опубликовал объявление о поиске джунов для работы над проектом—сайтом по пристройству животных. Вот оно: https://xn--r1a.website/full_of_hatred/235

Отозвалось очень много людей: около 40 человек. Я сообразил небольшое тестовое задание, очень простое, 10 его сделали. Из 10 сделавших я начал отбирать по порядку людей и пробовать с ними работать. Несколько человек отвалились вскоре—у них была основная работа и, как оказалось, батрачить вечером было не самой лучшей идеей. Повезло попасть на сеньерного парня который хорошо помог. Один джун (Роман) проработал очень долго—7 месяцев. Было еще несколько людей, но в итоге все отпали. Нашлась даже дизайнер, но мы не смогли реализовать её помощь, потому что были загружены другими делами.

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

После марта этого года проект остановился и вяло двигался. Спустя некоторое время мы с женой, всё-таки нашли силы, и, с помощью нашего давнего партнёра по шлюпке: JS/PHP техлида Вани "Devium" Капштыка, допилили всю минимально необходимую функциональность. Дальше началось лето и проект опять приостановился.

На прошлой неделе, в пятницу вечером, жена говорит "что нам не хватает для запуска? давай запускаться". Для запуска не хватало прописанных ключей для авторизации через соцсети. Через часок-другой мы все настроили и поехали в прод.

https://www.adopt.com.ua

Заходите кликайте, донатьте деньги. Если обнаружите ошибку то (скорее всего я увижу её в Sentry) отправляйте багрепорт на гитхаб: https://github.com/rozhok/adopt.com.ua. Если у вас нет гитхаб аккаунта—пишите мне в личку любые предложения замечания и тд. Я думаю что нам сейчас важнее всего UX подтянуть (не дизайн! а именно UX).

Но самую большую помощь проекту вы можете оказать, если возьмете себе животное. Без кота жизнь не та, у кого еще нет—разбирайте!

В дальнейших планах: полностью заопенсорсить проект, так будет легче привлекать людей.

Всем ребятам, которые сделали вклад—огромное спасибо! Ваши имена обязательно будут в списке контрибьюторов проекта.

Еще посмотрел сколько времени в сумме я оттрекал на проект—получилось 73 часа :) Всего лишь две полных рабочих недели растянутых на полтора года.

#проекти
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot
100 постов за 100 дней

Несколько лет назад я случайно наткнулся на блог Михаила Дубакова—основателя компаний Targetprocess и Fibery. Я прочитал его полностью и следил еще некоторое время за новым контентом, как вдруг Михаил написал статью "100 постов за 170 дней" где рассказал, что он решил провести эксперимент и писать каждый день хоть что-то. Челлендж был успешно выполнен и больше он не пишет. Печалька. Саму серию я настоятельно рекомендую прочитать, там всё очень интересно.

Позже я попал на другого автора: инди хакера и создателя продуктов Pigeon и Starter Story по имени Pat Walls. Он вел обычный блог и в какой-то момент анонсировал что переходит на ежедневное написание. У него тоже всё очень интересно, рекомендую.

В какой-то момент мне захотелось написать историю, которая не относится напрямую к придуманной мной околорабочей тематике канала. Некоторое время я использовал для этого наш чат, а потом подумал—почему бы и мне не попробовать тоже писать каждый день? Так я и начал и завел для этого специальный, отдельный канал — "daily rozho)))k" https://xn--r1a.website/daily_rozhok.

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

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

Несколько выводов, которые я сделал из этого эксперимента:

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

2. Каждый день писать реально и получается достаточно адекватно.

3. Без заготовленного списка примерных тем дело может быть туго. Хорошо если днём произошло какое-то событие, которое триггернуло и дало идею, но часто такого не бывает. Поэтому я стал записывать себе все идеи которые приходят в голову и потихоньку их разгребать, если ничего лучше в означенный день не пришло в голову.

4. Чем дальше в лес тем сложнее искать темы, несмотря на то, что всё записываешь. Иногда кажется что уже всё сказал что хотел, осталась только политика.

5. Количество "писательской" энергии ограничено. Поэтому я стал сильно меньше писать в основной канал, сфокусировавшись на ежедневном.

6. Если едешь на отдых—лучше отдыхать, а не бежать вечером к ноутбуку и соображать что делать.

7. Остановиться писать тоже тяжело. Последние три месяца я садился и каждый день что-то выдавал. Я собирался прекратить это занятие как только напишу сотый пост. Однако в знаменательный день случился запуск адопта, другие дела, и я просто не смог написать этот пост. Так по инерции написал еще 6 штук.

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

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

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

Скорее всего, перестану писать по выходным. Уж очень это иногда изматывает, нужно отдыхать.

Экспериментом я доволен. Пацан сказал—пацан сделал.
Full focus TDD

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

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

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

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

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

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

Трохи менше ніж рік тому я написав повний фрустрації пост про роботу по таймеру. Пройшло багато часу і спішу поділитися апдейтами по цій темі.

Виявилося, що справа у звичці. Весь цей рік я справно трекав все, що витрачав на роботу, і з часом це просто стало звичкою. Сів за комп'ютер — натиснув на кнопку. Встав випити чаю поки біжить CI/CD — ок. Треба сидіти й моніторити як біжать тести або щось інше — ок. Сів обідати або вийшов у справах — зупинив трекінг. Більше мене це не непокоїть, працюю як і раніше, але не думаю про час. Ніяких проблем з таймерами — хочете працювати по T&M? Без питань!

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

Я трекаю навіть той час, який витрачаю на фіксед-прайс задачі, або на неоплачувані активності (наприклад, цього року я витратив 86 годин на написання постів), щоб ретроспективно оцінювати складність проєктів, точність оцінки та продуктивність у грошовому еквіваленті.

Для трекінгу користуюсь безплатною версією Toggl. Окремо навіть написав мікропродукт для генерації інвойсів звідти — бо шкода віддавати 5$ за підписку.

P.S.: це все про роботу на ручному таймері, а не по шпигунському монітору активності як на апворку.

#продуктивність
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot
Разговоры о работе

Стараюсь не говорить о работе вне работы. С коллегами на обеде, в отпуске, на посиделках в баре. Хотя я люблю своё дело, в мире есть еще миллион других интересных вещей, которые можно обсудить.

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

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

Встречал мнение, что разработчик который не интересуется работой вне работы вроде как и не разработчик вовсе, а так, мимокрок в индустрии ради денег.

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

Для профессионального общения есть профессиональные ивенты—митапы, конференции. Вот туда надо ходить, чтобы концентрированно получать знания. А не спорить с коллегой на кухне о react vs vue.
Мудрые советы от опытных людей

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

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

Кажется, люди недооценивают ценность общения с экспертами. Многие наверное думают "что мне это даст? просто потрепаться? да я лучше пойду поработаю или отдохну. у меня и так все ок". Может ничего и не даст. А может и даст. Если есть хоть малейшая вероятность за мелкий прайс улучшить своё положение—почему бы этим не воспользоваться?

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

Короче говоря, видите что кто-то предлагает свою экспертизу—букайте время. Хуже точно не станет.
Печеньки в офисе

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

Некоторые люди даже склонны делать выбор в ту или иную сторону основываясь на наличии тех или иных плюшек.

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

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

Компания наверное должна обеспечивать людей рабочими местами и техникой. Но мне кажется, что профессионал должен сам обустраивать личный офис и иметь свою технику. Свой стол, стул, десктоп, лептоп, гарнитуры и так далее. Выбранное под себя и качественное. У квалифицированных строителей, например, всегда свой, топовый инструмент.

Я за бизнес-подход. С меня—сделанная работа, с вас—оплата. Все что сверху—лишнее и отвлекает.

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

А печеньки и плейстейшон оставим детям.

p.s.: наверное единственное преимущество, которое может иметь компания в заказе вещей типа страховки—это скидка за объем.

p.p.s.: если уж нужно ходить в офис, то чай-кофе там должны быть, так же как и туалетная бумага и мыло, это гигеничские потребности.
Дверью по голове

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

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

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

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

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

p.s.: кстати, вместе с ним мне перепал еще один парень, тоже олдовый джуниор. Ему тоже был предъявлен ультиматум, чел собрал манатки и релоцировался в Польшу. Сейчас сеньер а раньше едва мог простую задачу сделать.
Не смог замотивировать

Был у меня в отделе еще один кадр. Студиозус из КПИ, умный парень. Однако работать у него получалось не очень. Всё началось еще во время найма когда наш герой спросил "когда я могу рассчитывать на повышение (зарплаты)". В целом это очень хороший вопрос, я уже писал о нем ранее (https://xn--r1a.website/full_of_hatred/65). Для студентов у нас была простая схема—каждые 3-4 месяца +X%, если хорошо перформит. Если плохо—реже. Внятных критериев "перформит" конечно же (у меня) не было, всё определялось на глаз. Рассказал схему товарищу, пошли работать.

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

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

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

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

Спустя годы пацан пришёл к успеху—вначале релоцировался в немецкий амазон, потом в американский AWS, и вот уже пару месяцев как работает в американском же гугле. Целеустремлённый молодой человек. Думаю у него всё хорошо.

Интересно, как бы всё сложилось, если бы я проявил безумные умения и он продолжил работать у меня (как множество других ребят работают там до сих пор)?
Доменные эксперты

Мой первый нормальный босс говорил мне: "Вова, ты не просто программист, ты программист-эксперт в своём домене, а это очень важно и ценится гораздо больше чем просто умение писать код".

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

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

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

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

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

Поэтому я больше не придаю большого значения своим знаниям о том или о сём. Надо будет—сяду и разберусь.
👍1