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

Канал про все що не ІТ: @daily_rozhok
дірект: @xrozhokx
блог: rozhkov.me
Download Telegram
Экономия на спичках

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

Я пошел смотреть за что с нас берут деньги и заодно посмотрел и другие сервисы. После непродолжительного изучения счетов и биллинг историй я подсчитал, что всего на инфру тратится 550$. Из них 220$ на амазон, 300$ на jelastic и 30$ на heroku.

Цена за Jelastic меня немного удивила, поэтому я пошел копать детальнее и обнаружил интересную вещь—если держать окружение выключенным, до деньги за использование cpu/ram не будут списываться, а вот за диск—будут. У нас висело несколько бекапов баз, которые кушали прилично места. Еще несколько серверов не использовались или были deprecated, и просто ели деньги не принося взамен большой ценности. Я убрал все что было и так выключено, удалил пару старых серверов, что в сумме, по моим прикидкам, дало экономию в 90$. Посмотрев на остальные траты и оценив стоимость сервера к мощностям которые он предоставляет я подумал что надо бы паковать все микросервисы в nomad/k8s и съезжать на три сервера средней толщины на каком-нибудь yandex cloud — можно будет сэкономить еще 100$ точно. Но это потом. Вся работа заняла максимум час.

С Heroku все понятно, там оптимизировать нечего, нужное и так крутится на free/hobby dynos которые 7$ стоят и не несут критической нагрузки.

С AWS пришлось немного повозиться. По какой-то причине я не мог получить доступ к детализированному счету (с указанием ресурсов) и пришлось работать с тем что есть. 80$ ушло на S3, а точнее на хранение примерно 3TB данных накопленных за 4 года работы различных продуктов. Большая часть из них—изображения, которые уже потеряли свою актуальность (все метаданные из них вытащены и находятся в базе). Удалять все подряд или использовать Lifecycle Rule для того, чтобы удалить данные старше года я не стал, вместо этого за пару часов напилил функциональность, которая позволяет пользователям помечать устаревшие "аккаунты" (к которым принадлежат данные) и система потихоньку сама почистит все объекты на S3. Оказалось так же что в CloudWatch можно смотреть метрики по размеру бакетов (я про это раньше не знал). Так что теперь буду мониторить размер. Ну и заодно поудалял данные совсем уж неактуальных проектов, гигабайт 200 наверное.

Сумма в 550$ большинству из инфраструктурщиков тут покажется смехотворной. Действительно, в одном из стартапов, где я работал, за месяц платили около 10 000$. Но там ехал микросервис в двух регионах через динамодб на пяти энвайронментах, что поделать.

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

p.s.: если сумма кажется вам смехотворной, но позовите меня в свою контору—я срежу вам косты (пусть даже на 50$ в месяц), а вы мне половину сэкономленной суммы за год за это заплатите. Какая разница кому давать бабки—амазону или мне?

p.p.s.: некто Corey Quinn на этом делает целый бизнес. Приходит к людям, настраивает им vpc эндпоинты для s3 за полчаса чтоб трафик экономить и лупит пару тыщ баксов за это.
Реактивность vs проактивность 1

Я уже писал про реактивность в рабочем процессе ранее (t.me/full_of_hatred/161). Сегодня рассмотрю реактивность немного в другом ключе.

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

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

Однажды я сел и подумал: "какую пользу мне приносит чтение всех этих лент? Вот реально, какую конкретную пользу мне, как профессионалу, или просто как человеку, принес вот конкретно этот твит про микросервисы на который я только что потратил немного мыслетоплива? Какую пользу мне принесла смешная гифка про дебаг в продакшене? Что мне от выхода новой версии чего-нибудь?". А ведь я годами читаю все эти хакерньюз и так далее, поглощаю тонны информации, но пересчитать практическое применение увиденного в ленте можно на пальцах одной руки. Настоящую пользу я извлекаю из самостоятельного исследования задачи, чтения мануалов, просмотра докладов, ковыряния на стековерфлоу.
Реактивность vs Проактивность 2

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

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

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

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

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

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

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

- я не утверждаю, что чтение соцмедиа и залипалово—это плохие и бесполезные активности. Конечно же, как-то нужно расширять кругозор, узнавать новые тренды, иначе будешь сидеть пилить энтерпрайз на восьмой джаве до старости (как будто что-то плохое, кек). Но конкретно у меня есть трудности с грамотной дозировкой и соотношением время/польза. Алкоголь сам по себе вероятно не плох как средство рекреации в разумных пределах. Однако посмотрите: сколько людей может себя контролировать в потреблении, а сколько—нет. Поэтому, когда мне пишут возражение "в соцсетях ничего плохого нет", то это не ответ на мой запрос. Я не утверждаю что всё плохо и надо срочно разрушить интернет, я не призываю к луддизму. Я лишь говорю, что мне конкретно мешает жить то-то и то-то.

У меня есть проблема с зависимостями. Еще пару лет назад я бесконтрольно жрал сладкое. Если в моем поле зрения появлялось печенье или какие пирожки, фрукты, то я просто съедал все от начала до конца, как некоторые герои шоу "Зважені та щасливі". На вес это впрочем не влияло, зато плохо влияло на пищеварение. Типичным для меня было пойти в магазин, купить пачку эклеров или пару килограмм бананов, прийти домой, съесть всё это за раз и потом лежать на кровати смотря в потолок и слушая учащённый пульс (от большого количества бананов у меня тахикардия) или мучиться животом. Я знал, что от большого количества мне будет плохо, но всё равно шел и ел. Чтение материалов про вред и ужасы сахара и быстрых углеводов не помогали.

В какой-то момент я понял что так дальше нельзя и просто перестал есть сладкое. Месяц я не ел ни печенья ни булочек ни тортов, ел мало фруктов (которые тоже не особо полезны на самом деле). В итоге желание жрать сахар пропало и к большинству сладкого я сейчас равнодушен или могу себя ограничивать, ощущая момент когда я теряю контроль и переводя его в более конструктивное русло, например в обычную еду. Потом уже я понял что часто жор сладкого был вызван обычным голодом вследствие плохого графика питания. Надо просто поесть "нормальной" еды и на пачку печенья уже не останется места, разве что на пару штучек, которые не вредят так сильно.
👍1
Реактивность vs Проактивность 4. Алкоголь и смартфоны.

Я много лет (больше 15-и) вообще не пью алкоголь. Среди коллег и знакомых распространены шутки и подколы на эту вроде "давай я тебе куплю пива а ты выпьешь". Так вот, я не пью, потому что если начну пить, то не смогу остановиться. Не думаю что это будет полезно мне или окружающим, поэтому даже не начинаю. Очень редко позволяю себе купить бутылку "Арсениевского" кваса, там 0.5-1% спирта, мне этого хватает чтобы почувствовать легкое опьянение. К алкашке я равнодушен, хотя раньше очень любил навернуть пива. Сейчас я могу спокойно сидеть среди бухающей компании лишь иногда немного сожалея что не могу выпить крафтового, потому что оно обладает интересным вкусом. (Безалкогольное не предлагать, спасибо).

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

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

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

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

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

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

Что интересно, спустя пару дней я увидел (в телеграм чате хаха) ссылку на статью на vc которая была переводом статьи с линкедина где человек писал про Dopamine Fasting. Типа жрите меньше сладкого, смотрите меньше соцсетей и будьте счастливы. Потом еще один блогер написал статью "не читайте ленты соцмедиа пока код компилируется?". Так что я со своими материалами совершенно неспециально попал в некий тренд, который сейчас несется по интернету.
Ускоренное воспроизведение

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

Но не все доклады расшифровываются и не каждый подкаст имеет текстовую версию. Поэтому внезапно я открыл для себя ускоренный режим воспроизведения на ютубе (и других площадках). Если раньше смотреть какой-то часовой доклад казалось невероятным расточительством времени (ага, лучше ленту твиттера поскроллить), то сейчас уделить полчаса потенциально интересной теме вполне можно. Подавляющее большинство докладчиков говорят достаточно медленно для того чтобы быть нормально ускоренными двукратно. Хотя для некоторых мне хотелось бы 2.5 а то и 3x (читатели подсказывают, что есть плагины, позволяющие поставить скорость выше 2х). Английский на 2х идет тяжеловато конечно, надо сбавлять обороты, но русский/украинский—спокойно, привыкаешь за пару роликов.

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

Больше года назад я написал серию постов о вредных привычках. Хочу сообщить, как идут дела с тех пор, потому что на словах ты серийный предприниматель спишь по 4 часа в сутки по методу Да Винчи и запускаешь по стартапу в день, а на деле не можешь заставить себя даже дома убраться. У меня есть подозрение, что восторженные авторы текстов о продуктивности пишут их в первые дни и недели использования своих методик, во время "медового месяца". Потом проходит год-два и они опять скатываются. Я таким быть не хочу, поэтому вот короткая ретроспектива.

Итак, что изменилось за это время, что удалось сохранить, а что вернулось назад?

№1 (t.me/full_of_hatred/67): Ютуб и твитч я всё так же практически не смотрю на смартфоне, зато в твитч много залипал на десктопе. С книгами хуже. Я осилил прочитать с полтора десятка художественных книжек, пару технических, и начал читать Sapiens. Sapiens так и висит наполовину прочитанный. Привычку читать книги стабильно так и не удалось сформировать и сохранить, увы. Сейчас наверное буду пробовать её восстанавливать.

№2 (t.me/full_of_hatred/68): Ч/б экран использую до сих пор. Желания включить цветной нет совершенно. Feedly и несколько других приложений-пожирателей времени удалил, оставил только нужное: онлайн банки, такси и т.д. В игры на телефоне всё так же не играл и не играю. Недоволен своим прогрессом, потому что много времени тратил на чтение лент хакерньюз, то есть вместо юутуба, твитча и игр у меня были новости, новости, новости и общение в чатике. Заменил одну зависимость другой.

№3 (t.me/full_of_hatred/70): Привычки трекать перестал вообще. Что-то стабилизировалось: например не-ядение сладкого, ежедневные тренировки, и теперь мне не нужна "ачивка" чтобы выполнять полезное действие. Что-то не так и не зашло: вставать рано, читать по 100 страниц в день, вести дневник. Ценность трекера привычек пока под вопросом.

№4 (t.me/full_of_hatred/71): По помидорам не работаю. Вместо этого пишу задачу на бумажке и делаю сколько делается. Если задача интересная, то я легко могу залипнуть на 4 часа. Если неинтересная, то мозг юлит, прокрастинирует и всеми силами сопротивляется, тут метода не особо помогает. Помидоры я использую только для игры на гитаре, т.к. делаю разные упражнения и мне нужно заниматься час в день. С работой в последние несколько месяцев стало сильно получше, продуктивнее, удалось выбраться из состояния перманентной депрессивной прокрастинации, описанной в предновогоднем посте (t.me/full_of_hatred/286).

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

Воистину—бесконечная лента—изобретение самого диавола. Парень, который её придумал (некто Aza Raskin, еще ~15 лет назад), потом писал, что сожалеет об этом.

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

Простое изменение дизайна радикально меняет поведение и вовлеченность пользователя. Цифр и пруфов я вам конечно никаких не предоставлю, достаточно просто посмотреть на современные соцмедиа: фейсбук, твитор, реддит и imgur, 9gag, d3 и какой-нибудь пикабу.

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

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

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

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

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

Я предложил, чтобы мы поставляли API (он у нас был), а партнёры пусть нам грузят фотки самостоятельно, используя API. Дока есть, мануал есть, бери и пользуйся. Все безопасно и надежно.

Клиент предложил подумать еще, как можно упростить процесс, например сделать виджет который партнёры могли бы встроить себе на сайт и чтобы работало само.

Я воспротивился, потому что не видел хорошего технического решения этой задачи, но клиент настоял на том, чтобы мы сделали виджет, который бы встраивался в сайт просто добавлением одной строки js/css. Как какой-нибудь intercom или всевозможные его аналоги. Но как бы сайт партнёра узнавал о том, что пользователь загрузил нам данные? Ведь виджет должен быть универсальным, работать везде, а вызовы мы можем делать только на наше API. Если все делать на клиенте, то можно подделывать данные, короче я призадумался. Решение этой проблемы мы нашли, в том числе как сделать это ± безопасно, я посадил фронтендеров за jQuery (потому что виджет должен работать везде) и спустя пару месяцев мы выкатили рабочий код.

Сейчас я понимаю, что это было важнейшее решение по тому продукту, а я поступил очень недальновидно и по-джуниорски, сопротивляясь предложениям клиента и заняв техноцентричную позицию. То, что мне казалось техническим костылём, на практике оказалось успешным, удобным и безопасным решением. Наш виджет добавлялся буквально двумя строками JS, это могли осилить любые разработчики, подробная дока объясняла как его инициализировать и кастомизировать, и в принципе до меня дело доходило редко. Большинство веб-студий справлялись со всем сами. В том году я его переписал (нужно было добавить новую функциональность), работает на куче сайтов до сих пор и еще будет работать.
Важность интеграций 2

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

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

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

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

Никому не нужен еще один формат конфигурации. Я раздумываю про свой PaaS и понимаю, что если я не сделаю бесшовную интеграцию с docker-compose, куберовскими манифестами, helm-чартами, то никто ко мне не пойдет. Никто не будет изучать еще один ямль в довесок к той тройке что он уже знает. Никто не будет мигрировать свою инфраструктуру, если это будет стоить больше чем 10 минут времени. Людям нужно дать возможность использовать существующие решения и языки, чтобы они могли попробовать и оценить ваш продукт за 5 секунд, просто залив туда свои существующие конфиги. Как бы мне не нравились костыли, компиляторы из одного в другое и адаптеры, это нужно делать.
Важность интеграций 3

Другой пример это экосистема JVM. Почему она так хороша? Потому что за 20 лет написано библиотек и решений под любую задачу. Поэтому новым языкам на JVM не нужно ничего делать заново. Выучил синтаксис, базовые концепции и вперед—бери и пользуйся тем, что уже сделано. Scala, Kotlin, Clojure, другие языки получают большое преимущество—им не нужно переизобретать велосипед. JS туда же…

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

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

Это очень неблагодарная работа. Я ненавижу поддержку других форматов, конвертацию туда-сюда, особенно если данные напрямую не маппятся. Но это нужно делать, иначе—никак.
Про собственное жилье 1

Частый вопрос, которым задается молодой человек современности—нужно ли покупать своё собственное жилье? Может, жить в чужом? (с родителями, на съемной хате, ваши варианты). Я ранее писал про ремонт, читателю очевидно, что своё жильё у меня есть. Поделюсь своей мотивацией и соображениями на эту тему.

До 10 лет я жил с родителями в общежитии. Так себе конечно, но ко всему привыкаешь. В 97 родители купили огромную четырехкомантную двухуровневую квартиру и мы переехали в неё. У меня теперь была своя комната! Потом я поехал в Киев учиться в КПИ и понеслось: два месяца съемной на двоих комнаты на Минской, два месяца жизни в проходной комнате хрущёвки вместе с совершенно неадекватной бабулькой-коммунистом, потом 4 года коридорной общаги с военными (по стечению обстоятельств, меня не поселили в общежитие моего факультета). Потом около года в хрущевке на четверых людей на Дружбы Народов, потом два года уже самостоятельно в однокомнатной панельке на Харьковской, потом 2 года на четверых в сталинке на Дружбы Народов, потом я наконец-то купил свою хату (на Лукьяновке), жил там 5 лет, потом её отобрали, я купил квартиру опять и вот пишу отседова.

Жизнь помотала по съемному и чужому жилью, и должен признаться, зачастую это был не очень приятный опыт. В нашем государстве арендатор абсолютно не защищен. Договора—это филькины грамоты и по желанию хозяина вас мигом выкинут на мороз. А там уже судись-не судись, а надо искать новое место. Илья Климов (jsninja) говорил, что он специально составлял договор аренды на юрлицо со всеми договорами и налогами, но это редкий случай. Мало кто будет заморачиваться таким, а хозяева скорее всего пожмут плечами и просто сдадут хату человеку, который будет снимать как все нормальные люди—на честном слове. Хотя, если уж снимаете, то советую делать всё по букве закона. Поэтому, хороший арендодатель ценится больше собственно квартиры. Частые истории про визиты хозяев (для того чтобы забрать деньги или просто так, в ваше отсутствие), сложности решения вопросов с ремонтами, жадность (главнейший порок!), неадекватное поведение и так далее. Иногда мне везло снять жильё, хозяева которого были заграницей, но бывало и всё, что я перечислил выше.

В 2008 платили мы за двухкомнатный хрущ 700$ на четверых. Когда доллар упал до 4.5 то хозяйка потребовала чтобы мы платили 3500 грн. Что делать, согласились. Потом доллар вырос и она уже захотела 800$. Когда ей было предъявлено что денег таких нет, так как зарплаты нам не подняли то она потребовала 4000. Мы пожили еще месяц и съехали. Как водится, она не отдала часть залога потому что "стерли лак" на её несчастных советских стульях—одежду вешали.

Ваши комментарии о (не)удачном съеме оставляйте под блогозаписью: https://www.rozhkov.me/post/home-sweet-home/
Про собственное жилье 2

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

Для меня жизнь в чужой квартире—это лишний повод для стресса и тревожности. Что будет если вдруг подымется доллар? Повзрослеет дочка хозяина? Я захочу сделать ремонт? Я возьму кота или собаку? Эти, и великое множество других вопросов давят на меня и мешают нормально жить. Так получилось, что на одной из хат мы взяли котов и не сказали об этом хозяйке. Когда она приходила, то мы паковали животных в боксы и прятали в подъезде :) Во времена были. Впрочем, это не ко всем применимо.

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

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

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

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

Ваши комментарии о (не)удачном съеме оставляйте под блогозаписью: https://www.rozhkov.me/post/home-sweet-home/
Как у меня отобрали честно купленную квартиру

Я уже много раз упоминал о том что потерял хату: на стримах, в постах, чате канала. Пришло время подробно рассказать что произошло, как развивались события, какие ошибки я совершил и какие выводы сделал. Текст оказался довольно длинным, я не буду бить его на части, как обычно, потому что их было бы 10, и к концу вы бы уже забыли как оно вообще начиналось. Полный пост вы можете почитать в блоге: https://www.rozhkov.me/post/how-i-lost-appartment/ А вот тизер:


Ошибка №1: Смотреть квартиру, по которой предыдущая сделка была совершена менее 5 лет назад. Нормальный нотариус или риэлтор сразу же сообщит вам, что это подозрительно. Квартира—не автомобиль, такие вещи не продаются просто так. Конечно, бывают исключения, но в целом есть правило: предыдущая сделка должна быть проведена давно, чтобы истекли сроки давности всевозможных исков и наследственных дел.

Ошибка №3: Спешка. Ни в коем случае никогда не надо спешить. Квартира это серьезные деньги и серьезное вложение. Если вас стесняют обстоятельства, ищите варианты, но сделайте так, чтобы выгадать себе значительный запас по времени на поиски, желательно, полгода, а лучше и весь год.

Ошибка №4: Не говорить с соседями. Всегда, всегда, абсолютно всегда говорите с соседями. Желательно по лестничной клетке, желательно с несколькими + по подъезду.

Май 2013. Счастливая молодая семья въехала в убитую в хлам однушку :)

Декабрь 2013. В дверь стучатся. Открываю—участковый. Говорит, что некий гражданин из Беларуси заявил что его сестру убили, квартиру мошенники оформили на себя и теперь в ней проживают неизвестные.

Февраль 2015. Мы находим очень хорошего адвоката. В это время выносится решение по первому делу—признанию договоров недействительными. Не в нашу пользу.

Сентябрь 2015. Все что можно было вытащить из дела по договорам вытащили, пришло время иска о истребовании. Дед наконец-то его подает и наш адвокат продолжает работать—там неправильно посчитали сумму, там не приложили все документы.

Декабрь 2018. К этому времени мы уже купили новую квартиру и просто ждали пока придет бумажка из ДВС о том что нас выселяют.

Мы потратили на квартиру 67k + на адвоката и судебные сборы около 10k. 5.5 лет жизни на съемной квартире такого плана нам стоили бы примерно по 400$ за месяц: 26k. То есть, даже при самых оптимистичных подсчетах мы потеряли 50k зелени.

Предлагаю читателям поступать мудро и учиться на ошибках других.

Ссылка на лонгрид: https://www.rozhkov.me/post/how-i-lost-appartment/
Смешные тестовые задания

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

Общественность естественно моментально возмутилась. "Как вы посмели давать тестовое задание, вы же обычный аутсорс, мы к вам не пойдем". Людей можно понять—они годами сидят в болоте нашей индустрии, переходя с одного корабля на другой, работая из трехкомнатных квартир на Оболони, наскоро переоборудованых под коворкинги, под одним Upwork-аккаунтом, меняют конторы как перчатки, а тут какие-то выскочки возомнили, что они выше этого болота и решили перебирать кандидатами, давая им тестовое!

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

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

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

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

Кілька років тому на ретріті я познайомився з чоловіком. Він представився власником аутсорс компанії, що “робить все“: сайти, мобільні ігри, апки. Розговорилися і він поділився болем: відсутністю технічної експертизи та техліда який би це закрив. Додав що чудово продає і може продати будь-який проект, але з реалізацією є складнощі. Домовилися зустрітися ще раз.

Приїзжаю до них у офіс і бачу купу джунів на жорстких кріслах. Ще в наявності було декілька ПМ-ів та «сейлзів». Говорю з програмістами, з'ясовується що задачі не трекаються, про git ніхто знає, вимоги розробники з'ясовують самостійно у клієнта в скайпі, один програміст може працювати на декількох проектах одночасно і так далі.

Я тоді був наївний і вирішив що роботягам допоможе впровадження таск-трекера, аджайла, CI/CD і так далі. Також всі вони працювали за старими та повільними комп'ютерами і лептопами. Я негайно повідомив про це все пану директору, очікуючи що він дослухається до рекомендацій, та пообіцяв забігти в контору ще, щоб мотивувати працівників та надавати технічні консультації.

Деякий час потому ситуація стала прояснятись. Власник продавав проекти (в основному на локальний ринок), обіцяв зробити все, що просив клієнт, у нереальні терміни та за низьку вартість. Брав передплату. На передплату винаймав джунів по 300-500$ і садив їх робити проект. У джунів нічого не виходило, дедлайни зривались, клієнти або відмовлялися платити, або розривали співпрацю з компанією, а деякі подавали в суд. Проект кидали та шукали наступного клієнта. Хазяїн та його дружина (вона ж «головний ПМ») нічого не розуміли ні в розробці, ні в управлінні проектами, та змушені були покладатися на знання джунів.

Мої поради їм були непотрібні (особливо «купіть нормальні комп'ютери» та «найміть сеньйора»), їм потрібно було щоб я прийшов та зробив роботу, з якою ніхто не міг впоратися. З рекомендацій взяли тільки джиру, за яку незабаром перестали платити.

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

Вчора мені скинули пост у ФБ, де той самий чоловік представляється керівником великої студії розробки, заснованої багато років тому, з офісами у Штатах та Англії, 180 програмістами, та пропонує клієнтам джунів по 15$/год. Пошукавши, я побачив вже знайому схему—5 працівників на лінкедіні, двоє з яких це наш продавець так його дружина, решта—андроїд джуни. В портфоліо ігри-клони, а в блоці «Vision»—фотка головного героя з запальним спічем про місію «компанії» та високу кваліфікацію «команди».

Всі ці роки вони працювали за однією схемою: робили компанію, продавали нереальні проекти, знаходили джунів, видавали низькоякісний продукт, стикались з пресингом з боку клієнтів, робили ребрендінг, goto 1. Судячи з всього, їм вдавалось на цьому заробляти. Мене захоплює впертість та майстерність нашого продавця. Якби в мене було б стільки енергії, я би вже напевне в космос полетів. А він за багато років так нічому і не навчився, і залишився на одному рівні—розробці казуальних «ігор» та аутстафі людей.

#кулсторі
permalink | @full_of_hatred
👇Щоденні донати💰на ЗСУ🪖
🫡@Donate1024Bot
👍6
Поддержка малого бизнеса

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

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

Возвращаясь к абонементу. Я хожу в зал с прошлого сентября и довольно стабильно (скорее всего я если не самый активный посетитель, то уж точно в первой десятке), то есть "знаком" с хозяином (он же главный тренер). Когда я сказал, что хочу продлить абонемент, то он ответил мне "так, ты у нас уже давно, так что вот тебе скидос". Другой человек на моем месте конечно бы согласился, или сам бы напросился на скидку, но я отвечал так: "для меня эти 10% (~700 грн за 3 месяца) не являются суммой, значимой для бюджета, но я заинтересован в том, чтобы ваш зал продолжал работать и был в порядке. Скидка ведь идет из вашего кармана, это ваш убыток. Интерес у меня стратегический—чтобы ваши дела шли хорошо. Поэтому я заплачу полную стоимость".

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

Всякий труд должен быть достойно оплачен.
Стартап, вязнущий в болоте микросервисов и SPA фреймворков 1/2

Недавно я посмотрел интервью с DHH, это был keynote на (онлайн) конференции RailsConf 2020. DHH это автор и мейнтейнер веб-фреймворка Ruby On Rails, CTO компании Basecamp. Известен как адвокат фулл-стек разработки, монолитных архитектур, profitable from day zero подхода и противник венчурных денег. В интервью он рассказывает, что современный зоопарк веб-технологий, узкая специализация ("реакт разработчик"), раздутость команд и оверинжиниринг это следствие бесконтрольного использования венчурного капитала. Вот небольшая история в тему.

Один мой знакомый несколько лет назад пошел работать в стартап. CTO стартапа был очень умный мужик, который до этого работал и в маленьких и больших компаниях, и разрабатывал на куче технологий. Знакомый был первым программистом в стартапе, и когда дошло дело до работы, то CTO ему говорит: "короче, берем микросервисную архитектуру, ядро пишем на Java, а для хранения данных возьмем key-column-value базу. Нам нужно будет быстро масштабироваться, а как известно SQL не скейлится. На фронтенде будем использовать реакт". Суть стартапа: веб-приложение, без рокет саенса, без особой реактивщины или интерактивности.

Хозяин-барин, подумал знакомый, засучил рукава и принялся за работу. Так как "микросервисы" не задеплоишь на хероку просто так, то пришлось решать кучу задач, не имеющих непосредственного отношения к приложению: подбирать фреймворки для service discovery и rpc, организовывать CI/CD и infrastructure-as-a-code, подымать разные окружения, и так далее. До непосредственно работы над продуктом дело не особо доходило. Наняли еще пару программистов, а знакомому так понравилась вся эта инфраструктурная фигня, что он не особо-то и расстраивался.

Через пол-года, когда понаписали кучу REST API которые вроде как-то работали, наняли фронтенд ребят. Ребята засели и еще пол-года делали базовый набор компонент чтобы можно было заверстать страничку регистрации и логина. Ну и еще личный кабинет. К этому времени количество микросервисов выросло до 6 или 7 и уже пришлось делать специальный микросервис-аггрегатор запросов, который упрощал фронтендерам работу. Отсутствие джоинов и транзакций в замечательной масштабируемой NoSQL базе порождало кучу баттхерта и костылей-воркэраундов в коде, замедляло разработку, а потом, как оказалось еще и здорово тормозило всё приложение. Скорость разработки была просто черепашьей, два года спустя запустили все в продакшн, но никакого миллиона пользователей не пришло. Сотни нефти тратились на AWS в двух AZ просто потому что почему бы и нет, ведь нужна была redundancy и durability.

В это время пара дата саентистов которые ковырялись в своем питоньем коде и постгресе посмеивалась над ребятами и троллила их утверждением "мы бы за месяц все переписали на постгресе и фласке". Знакомый тогда еще не понял дзена фуллстек вебразработки и рьяно оппонировал им. Заткнуться пришлось когда датасаенс команда за пару месяцев выкатила админку для внутренних дел, которая по сложности превосходила базовое приложение.
❤‍🔥5😁2
Стартап, вязнущий в болоте микросервисов и SPA фреймворков 2/2

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

Если ретроспективно смотреть сейчас на те дела, то мне это кажется чистым безумием. Для стартапа, ключевой характеристикой которого является быстрый запуск и итерация идей, берется самая дорогая (с точки зрения стоимости разработчиков), медленная в разработке технология—Java. Для фронтенда берется тоже недешевая и медленная в разработке штука (для отрисовки кнопки надо писать кучу бойлерплейта). Чтобы подсыпать загустителя в и так уже почти битумное болото, выбирается проприетарная NoSQL база данных, которая еще сильнее замедляет и усложняет разработку. Все это мультиплицируется с помощью микросервисов и микрофронтендов. Минорное изменение задевает три репозитория и требует регенерации схемы данных. Ну и конечно же итоговое решение тормозит. Потому что куча запросов на разные сервисы, потому что NoSQL. Локальная разработка и дебаг превращается в кошмар, developer experience просто отвратительный. В надежде как-то двигать это вперед, раздувается команда. Собраны все грабли из разбросанных по саду земных наслаждений архитектора-астронавта. Микросервисы не приносят никакого профита, только бабки зря проедают. Собрано полное буллшит-бинго облачного архитектора. Все, просто все как известном ролике только не смешно ни разу.

Мы со знакомым наверное чего-то не знали. Наверное были какие-то причины, побудившие выбрать такой медленный с точки зрения разработки стек. Но после того как я сам разработал на Rails и запустил несколько небольших проектов (но зарабатывающих для моего клиента деньги) я абсолютно и совершенно не понимаю как так получилось. Потом прикидывали — MVP того уровня который делала толпа узкоспецализированных людей мы бы могли забабахать вдвоём за пару месяцев. Если бы тот стартап запускался сейчас, то наверное в копилку добавился бы Kubernetes, Service Mesh и еще какая-нибудь дичь, дабы окончательно обездвижить золотую разработку.

В интервью DHH говорит что в команде которая работает над их сервисом электронной почты Hey, 8 разработчиков: два андроид разработчика, два ios разработчика, 4 разработчика "web core" (как он это назвал). 8 разработчиков делают продукт—почтовый клиент—для всех платформ. Это больше, чем было в команде моего знакомого. Там только бекендеров было около 8, а еще фронтенд…Про nomadlist, remoteok я уже говорил. Эти штуки сделал и запустил один человек. В одиночку.

Это не нытье против микросервисов или spa, или кубернетеса. Это скорбь об утраченном времени, о человеко-годах, потраченных впустую, о неуместном использовании инструментов. Это скорбь о других стартапах, убитых несвоевременным использованием google-scale технологий.
❤‍🔥5
Бардак

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

Офисный человек скован рамками рабочего дня. Утром ему нужно появиться в офисе, днем там присутствовать, вечером уйти. Неважно, продуктивно ли прошел день, в конце месяца его ожидает зарплата. Эти рамки являются одновременно и благословением и проклятием. Благословением—потому что не нужно думать, что будет завтра, завтра надо на работу утром идти. Снимается когнитивная нагрузка от сложностей выбора. Проклятием—потому что внезапно перестает хватать времени на себя. Уборка квартиры и поход за продуктами приходятся на субботу, "отдых"—на воскресенье, личные дела надо решать до или после работы—утром или вечером, в итоге на "жизнь" остается десяток часов в неделю.

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

Мой день сейчас—это бардак. Сколько уж времени прошло, а выйти на какой-то предсказуемый уровень производительности мне так же сложно. У меня большой поток входящих задач, но я редко когда могу настроиться, например, на то, чтобы заняться ими до обеда, потом полностью отключиться и сфокусироваться на других делах—работе по дому, или других проектах, не связанных с разработкой. Очень часто работа над задачами растягивается на 12-14 часов мелкими кусочками, в перерывах я делаю домашние дела, занимаюсь чем-то своим, хожу на тренировки и так далее. Из-за этого, хотя непосредственно на работу тратится мало времени, мозг не переключается между режимами и я превращаюсь в бурлака, который тащит тяжеленную баржу по бесконечной реке, прерываясь на скомканное поглощение пищи и рассматривание окружающих красот, но никогда не отпускаю лямку.

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

Осознание проблемы—первый этап решения, и я над ним работаю.