Навигация по каналу.
Всем привет, с вами разработчик из Петербурга, а здесь мой личный блог. Многие люди говорят мне, что им нравится, как я пишу, и это поддерживает существование данного канала. Тут совершенно точно не будет примитивного агрегатора новостей, очередной подборки мемов или филиала твиттера с короткими эмоциональными высказываниями. Данный блог — вдумчивый и авторский, содержит мои размышления и пережитый опыт. Подписывайтесь, если вам действительно интересно читать. Буду рад также вашему участию в обсуждениях.
Вот основные теги:
#dev — программирование
#gadgets — гаджеты
#games — видеоигры и настолки
#fiction — книги, фильмы
#hobby — DIY и другие хобби
#web — интернет, соцсети
#life — просто о жизни
У меня начался отпуск, прошло 2.5 года, как я работаю на обычной работе по найму. До этого я около 7 лет был фрилансером, а в начале этого пути запустил пару успешных собственных проектов (и пару десятков неуспешных, которые, собственно, высосали все заработанные деньги).
Некоторые разработчики хотят уйти из найма во фриланс. Кажется, что личного времени становится больше, максимально гибкий график, работай себе с берега моря. У меня обратный опыт — добровольный переход с фриланса на найм, и опыт скорее положительный.
Что стало хуже:
1. Спонтанные мероприятия теперь почти недоступны. В середине рабочего дня не поедешь к друзьям играть в настолки.
2. Как ни крути, но 30 дней отпуска в год — это прямо очень очень мало. Его неизбежно приходится разбивать на части, и каждая из этих частей очень маленькая — в длинное путешествие не съездить, собственный проект не замутить, с кучей накопившихся бытовых дел не разобраться.
3. На фрилансе ты можешь не брать заказы, которые содержат большую долю скучной для тебя работы. В найме же ты обязан брать задачи, даже если они на 80% состоят из какого-нибудь рефакторинга или написания документации.
Что стало лучше:
1. Денег стало больше. Зарплата заметно выше моего среднего дохода с фриланс-заказов. Я сильный прогер, но тратить время и внимание на поиск клиентов и заказов мне всегда было тяжело. Сейчас я конвертирую своё время в деньги эффективнее, потому что занимаюсь только разработкой и руководством другими разработчиками.
2. У меня появились выходные. Я могу не работать в выходные, и это удивительное чувство. На фрилансе формально ты можешь работать когда хочешь, но по факту хоть чуть-чуть работаешь каждый день, потому что висит очередной заказ с дедлайном. Сейчас я со спокойной совестью все выходные занимаюсь исключительно своими делами.
3. У меня пропала нервозность по поводу того, что я ещё что-то не доделал и не успею вовремя, если сейчас не сяду. Рабочий график распределяется как раз на комфортный уровень загрузки.
4. Я перестал работать по ночам, и в целом у меня нормализовался режим дня. Будучи фрилансером, я мог вставать в обед, потом сидеть до утра, и из-за этого снова долго спать. Это могло длиться месяцами. Сейчас каждое утро дейли, рабочий день начинается в одно и то же время, поэтому график у меня нормальный.
5. За 2.5 года работы в компании я прокачался в программерских скиллах как за 7 лет фриланса. Потому что на фрилансе ты плюс минус делаешь всё уже знакомым тебе способом. А вот при работе в компании есть другие разработчики, которые знают что-то, чего не знаешь ты. И есть кодревью, это очень полезная штука, причем, полезно и самому проводить, и чтобы тебе проводили.
#dev#life
В Твиттере айтишники иногда поднимают тему выгорания, но она для меня не до конца понятна.
Много лет назад я взялся за написание очень масштабного проекта. У меня было куда меньше опыта программирования, чем сейчас. Используемые мной инструменты были несовершенны, а применял я их не всегда правильно. Стоит ли говорить, что проект, цикл разработки которого планировался года на полтора, занял все пять, и вышел в таком плохом техническом состоянии, что даже после двух переделок был закрыт. Это была онлайн-игра для ВК, кто очень давно меня читает, те могут даже что-то помнить.
Это, пожалуй, самая сокрушительная история моего поражения, после которой были полгода единственной во всей моей жизни настоящей депрессии. Под конец разработки я испытывал сильнейшее эмоциональное истощение. Я просто видеть не мог этот проект. Я просыпался каждый день с мыслью о том, что мне снова нужно открывать IDE и вносить правки, добавлять фичи, и что конца этому нет, потому что сделать нужно столько, сколько я за сегодня в принципе смогу, пока не упаду замертво. Особенно после релиза, когда проявились проблемы, и когда стало ясно, что игра не «выстрелила», и я не стану миллионером, но принять решение бросить её это значило отказаться от надежд, которые питали меня последние 5 лет.
В общем, по всем признакам похоже на выгорание. Разработчик вкладывает в работу так много сил и эмоций, что у него садится батарейка. И всё-таки. Я ведь сам виноват: истощал себя, потому что взял задачу не по силам, да ещё и создал вокруг неё завышенные ожидания. Мою энергию тратило моё же собственное упорство и нежелание признавать фиаско.
Однако принято воспринимать и описывать выгорание, как внешний фактор. Стихию, которая тебе не особо подконтрольна. Разве что условно: ты мог добровольно выбрать не ехать в то место, где потом начался ураган. И вот тут я не особо согласен. Мне кажется, человек понимает, что именно он продолжает делать, чтобы выгорать. А ещё для выгорания нужно иметь возможность похандрить, вы уж простите. Так и представляю себе, как выгорает рабочий, который вагоны разгружает. Или кассирша в Пятёрочке. Что-то тяжело мне стало товары пробивать, уйду в саббатикал! Ну ладно, они, допустим, эмоции в работу не вкладывают (а программисты действительно вкладывают, об этом я как-нибудь ещё напишу). Но где у нас выгорание врачей, учителей? Пашут как проклятые же. Это мы, айтишники — неженки, чуть что, сразу психолога мне.
Так что и к историям о выгорании я отношусь соответственно, хотя сам подобное проходил. Выгорел — значит, была возможность. Было окно в жизни, которое можно заполнить страданиями. Было достаточно денег, чтобы с работы уйти. Это не отменяет того факта, что субъективно человеку действительно очень плохо и тяжело. Но если я себе ногу отпилю — мне тоже будет очень плохо и тяжело.
#dev#life
Я вам буквально несколько дней назад писал о росте зарплаты в IT и экспериментах компаний с другими способами привлечь сотрудников, среди которых введение четырёхдневной рабочей недели.
А вот сегодня пришла новость, что Совкомбанк начал такой эксперимент. Правда, пока только для турецкого офиса. Видимо, туркам в своей солнечной стране на море с вечным летом маловато счастья и удовольствия от жизни, не то, что в России. Так что им нужнее.
Но если до этого банка дошёл тренд, может и до более крупных игроков в России дойдёт. Хотя персонально я считаю, что более длинный ежегодный отпуск важнее, чем более длинный блок выходных на неделе.
#dev#life
В последние годы зарплаты в айти в России растут ещё быстрее, чем обычно. Я читал интересную гипотезу, почему это происходит. До пандемии на крупные корпорации работали тысячи индусов и китайцев, но делали это из подготовленных для работы бизнес-центров. Наступил ковид, и все сели по домам. Жильё среднестатистического индуса это совсем не то же самое, что жильё среднестатистического русского с топовым компом и гигабитным интернетом. В странах третьего мира проникновение таких вещей в дома очень скудное. А дешёвую (относительно местных цен) рабочую силу где-то брать надо.
Куда пришли хантить? Правильно, в Россию и СНГ. И предлагать доллары. Без релокации, конечно же, ковид ведь. Говорят, даже перестали требовать какой-то вменяемый уровень английского (а это один из главных тормозящих факторов при утечке российских IT-мозгов). Такие предложения подняли и локальный уровень зарплат: зачем идти в местную контору на 300к, если можно пойти в зарубежную на $5000? Бизнесы стиснули зубы, но зарплаты стали повышать.
В какой-то момент и этого стало мало. Ну не сойдётся математика, если российская компания будет платить разработчикам по 500к. Так что, стали появляться слухи о том, что работодатели соглашаются на четырёхдневку. Конечно, прогрессивному миру уже становится понятно, что 40-часовая рабочая неделя это фейк, и никто эти 40 часов с полной отдачей не работает. Но до России такие тренды обычно доходят или спустя десятилетия или никогда.
С одной стороны, я не хочу, чтобы больше людей приходило в айти. Чем их меньше, тем я более ценен. С другой стороны, если все придут в айти, то это вызовет три полезных эффекта:
- Программисты свои зарплаты тратят на покупку вещей и услуг, в том числе внутри страны, это вливание в экономику.
- Отток специалистов из других областей вызовет рост их ценности и зарплат.
- В айти активно продвигается культура уважения к сотрудникам, work/life balance, предоставление каких-то других преимуществ помимо денег. Пусть больше людей рассказывают своим друзьям о том, как они работают без начальника-самодура, посылающего за сигаретами, как им дают отгулы за переработки, как их мнение выслушивают, и как следят за психологическим состоянием подчинённых. Если люди начнут считать уважение к себе стандартом де-факто, это может подвинуть точку пересечения интересов работодателя и соискателя в пользу последнего.
Но в этом посте я не буду рекомендовать вам перейти в айти, если вы ещё не. На самом деле система сама себя стабилизирует. Абсолютно все хорошие разработчики, которые мне известны — это люди, изначально получающие удовольствие от решения определённых задач. Я бы сказал, что если вы уже не разработчик, то это судьба, за очень редкими исключениями. В основном те из моих знакомых, кто брался за это во взрослом возрасте, быстро бросали из-за отсутствия интереса. А чтобы так концентрироваться на предмете, как того требует программирование — нужно быть в этом предмете очень заинтересованным.
Ещё сейчас идёт рост nocode/lowcode продуктов, но я к нему отношусь скептически. Напишу об этом как-нибудь в другой раз.
#dev#life
Инструмент, которым мы делаем работу, очень важен. Да, хороший мастер плохим инструментом сделает лучше, чем плохой — хорошим. Но если речь об эмоциях и удовольствии от работы, здесь удобный и приятный в использовании инструмент значит очень многое.
Я ненавидел сверлить стены, пока не купил аккумуляторный перфоратор. Обычным проводным это было мучение: каждый раз искать или розетку рядом или доставать и разматывать удлинитель. А ещё следить за тем, где там провод, и чтобы он не запутался в ногах, тем более когда ты на лестнице. Теперь же я только и ищу, чего б такого просверлить. Аккумуляторный перфоратор — 12/10, стоит каждого рубля.
Подобного много. Собирать мебель приятнее шуруповертом с нужной битой, нежели шестигранником, который кладут в комплект. Делать прямые распилы приятнее циркуляркой, а не лобзиком. Класть плитку приятнее с лазерным уровнем и системой выравнивания. И так далее.
В программировании аналогично. Я очень высоко ценю удобство языка, на котором пишу. Возьмём к примеру сверлильный станок: он тяжелее, сложнее и занимает больше места, чем дрель. А ещё не везде его можно применить. Но там, где можно, станок позволяет вам выдерживать угол. По сути вся его роль в том, чтобы взять на себя вес дрели и помешать вам сделать ошибку. Мешать делать ошибки — важное свойство инструмента. Именно поэтому я предпочитаю языки с типами.
Да, хороший мастер и обычной дрелью просверлит не хуже. Но, напомню, речь идёт об удовольствии, об эмоциях, а не только о результате. Система, которая не даёт сделать ошибку, не только более надёжна сама по себе, но и много приятнее в плане эмоций. Когда ты сложил весь пазл, и последний кусочек идеально вошёл в своё место — это чувство удовлетворения сравнимо с тем, как ты вставляешь новую строчку в программу, и она без ошибок подходит по типам, а из списка подсказок IDE можно брать самые верхние пункты.
#life#dev
Можно много за что ругать корпорации и современное устройство различных продуктов и сервисов, но важно понимать, что они — победители эволюционной гонки. Если вас удивляет, почему какой-то замечательный продукт не сделан, то варианта два:
1. Вы открыли совершенно новую идею, которая не пришла в голову ни единому человеку до вас;
2. Это никому не нужно.
Угадайте, какой случай вероятнее. Условного Инстаграма без рекламы не существует не из-за того, что его никто не может сделать, а из-за того, что за него никто не станет платить. Почему-то так вышло, что мусор в информационно-визуальном поле для большинства людей является меньшей проблемой, тем потеря нескольких долларов в месяц (сколько стоила бы платная подписка, чтобы компенсировать отсутствие заработка на рекламе).
Каждый раз, когда вы встречаете плохой продукт (забитую говном соцсеть, урезанный по функциям гаджет, скучный фильм с одними эффектами, скам-дрочилью без геймплея), который можно было бы сделать лучше, задайте себе вопрос: "Сколько людей захотят за это платить?".
#life#web
Похоже, рубрика "Мысли за месяц" не пользуется большой популярностью у моей аудитории. Хотя частично я связываю это с интерфейсом открытия лонгридов. Абсолютному большинству людей при скролле ленты (в VK) или в момент быстрой реакции на уведомление от канала (в TG) лениво делать дополнительный клик и переключать контекст своего экрана, это можно понять.
Отсюда, кстати, и всякие автозапуски видео практически на всех платформах, где вообще есть видео в каком-то общем потоке: у VK в ленте, у TG в чате. Так просто работает внимание человека. Если видео не начать воспроизводить, за него не зацепится внимание, а делать клик для старта пользователь не станет. Для других видов контента это тоже справедливо. Много раз уже говорил, что интернет с длинными текстами мы потеряли, и возвращение человечества в эту канву маловероятно.
Тем не менее, несколько мыслей в прошедшем месяце я записал, приведу две из них.
Во-первых, я узнал этимологию слова "кенгурятник" применительно к бамперу для внедорожника. Ну, помните, наверное, так называли бампера у джипов, на которых ездили новые русские в девяностые и начале двухтысячных, а потом эти бампера запретили. Слово "кенгурятник" я слышал ещё тогда, и думал, что это какой-то сленг. Но оказывается это буквально изобретение из Австралии: бампер, защищающий машину при столкновении с кенгуру.
Во-вторых, я купил электронный настенный диммер Aqara для системы умного дома. У диммера есть функция нажатия и функция поворота. Я запрограммировал на нажатие включение/выключение торшера в кабинете, а на поворот: его яркость. Но почему-то нажатие срабатывало не всегда, периодически просто ничего не происходило. Поскольку товары Aqara весьма качественные и, как правило, работают без сбоев, я сделал предположение и оказался прав: у диммера есть ещё и третий режим "Поворот в нажатом состоянии". Иногда я при нажатии случайно доворачивал диммер, это интерпретировалось движком как отдельная команда, на которую ничего не записано. Оставалось только продублировать на неё включение/выключение торшера, и всё стало чётко. Буквально иллюстрация фразы "не баг, а фича".
#web#life
Интересно, что это далеко не первый заметный человек, который рассуждает о подобных вещах, находясь практически в мировом центре капитализма, породившего монополии. Но при этом совершенно ничего не происходит, никакие связанные с упоминаемыми проблемами процессы в обществе не меняются к лучшему. Для меня это выглядит, как если бы кто-то увидел за окном инопланетян, уничтожающих человечество, выпустил бы об этом статью, и дальше все пошли бы по своим делам.
#web#life
Вы, скорее всего, уже читали, что Netflix с ноября вводит новый тариф: дешевле, чем остальные ($7 в месяц против $14 за обычный тариф), но с рекламой в начале и в середине фильма. Прикиньте, платишь за Нетфликс, а смотришь телевизор.
Ад, в который я не очень хочу возвращаться: в детстве возможностей смотреть кино или мультики, кроме как по телевизору, особо не было. Да, был видеомагнитофон, но не будешь же каждый день себе новую кассету покупать. А на российском телевидении не слишком уважали время зрителя: реклама была часто и длинная, за фильм 4-5 вставок по несколько минут. Причем, худшая реклама это та, которая переключает ваш фокус внимания и блокирует доступ к контенту, который вас на самом деле интересует.
Баннер сбоку страницы не мешает вам читать статью и не выдёргивает вас из текста. Баннер посреди статьи не мешает читать, но переключает ваше внимание на время. А всплывающий баннер поверх страницы — и читать мешает, и внимание переключает. Представьте, если его невозможно закрыть несколько минут, а ещё он со звуком — никто бы на такие сайты в здравом уме не стал бы ходить. Но в девяностых мы так смотрели фильмы по телевизору, это была неизбежная реальность, у которой практически не было альтернатив именно с точки зрения регулярного просмотра.
Это из тех ситуаций, про которые ясно: тогда тебе не казалось происходящее чем-то ужасным, но когда ты ощутил, насколько бывает лучше, возвращение назад стало бы страданием. Например, я не могу представить, как мы жили без сервисов такси, но жили же. И с ужасной длинной неотключаемой нетаргетированной рекламой тоже жили, хотя сейчас мысли о ней вызывают ужас.
Но аналитики Нетфликс считают, что достаточное число людей будут готовы смотреть рекламу, чтобы не платить на $7 в месяц больше. В мобильных играх вроде как похожая статистика: за избавление от рекламы платят около 20% постоянных игроков, остальные смотрят неотключаемые прероллы. И вообще, отсутствие платного тарифа у соцсетей и других сервисов говорит само за себя. Почему не существует платного Инстаграма без рекламы?
Меня это очень сильно удивляет, и, на мой взгляд, это одно из следствий каких-то глубинных проблем современного человека: согласие на что-то плохое и неприятное, потому что трата денег ощущается как более плохое и неприятное. Хотя, если подумать, вот математика для Нетфликса: допустим я смотрю две серии любимого сериала в день, получаю около минуты рекламных вставок в каждой, итого это час времени в месяц. То есть я могу отдать час за $7. Конечно, не все люди получают $7 в час, даже в западном мире, хотя средняя зарплата в США после налогов около $15-20 в час. И это на работе, занимаясь более приятным делом, чем просмотр рекламы.
Как ни крути: если человек беден, он вообще на платные развлекательные сервисы не должен подписываться, а искать бесплатные или дешёвые альтернативы, но ещё лучше — заниматься своей жизнью, пытаться поднимать доходы. Если же он обычный человек с работой и зарплатой, то почему он в принципе может предпочесть смотреть рекламу, а не заплатить за её отсутствие? Как и почему мысль работает в эту сторону? Я уверен, мир в целом стал бы лучше, если бы люди научились не соглашаться на подобное.
P.S. Но русских Нетфликс забанил, так что я их послал. Привет, Кинопаб :)
#web#life
Словил рекламу: юридическая фирма пиарится на выигранном деле против GeekBrains (вернули деньги за курс клиенту, который от этого курса отказался). Причем, что характерно, таргетинг у рекламы настроен по айти-школам. Я состою в паблике одной малоизвестной школы X, которая вообще вряд ли когда-либо (ввиду своей небольшой величины) получала от клиентов вызовы в суд. И тем не менее, текст рекламы был типа "Верните деньги за курс в школе X через суд".
Думаю, они запустили рекламу вообще по всем школам. Пиар на судах с айти-школами это интересно: громких публичных разбирательств с ними действительно очень много, как и с другими крупными компаниями. Но, видимо, в случае со школами законодательство какое-то более однозначное, либо школы скупятся на хороших юристов, и поэтому сливают.
Не думаю, впрочем, что именно школы — какое-то особенное зло. Не более, чем другие B2C бизнесы. Всегда есть клиенты, которые недовольны (как справедливо, так и нет). А бизнесы всегда максимально защищаются, и вообще, не имеют морали или человечности в нашем субъективном понимании. Вместо морали у них репутация, хотя её влияние на действительно крупную рыбу очень слабое. Так что бизнесы отбиваются. И против какого-нибудь Тинькова вряд ли хоть какой-то юридической фирме удастся что-то сделать, поэтому Тиньков спокойно забирает у людей валюту, а вот школы попадают под раздачу.
Тем не менее, каждый раз, когда обычный человек выигрывает суд у компании, в мире радуется котёнок.
#web#life
Получил спам с ошибками. Сначала подумал: «Ну дураки, не могут свой спам проверить на ошибки». А потом вспомнил, как в одной статье про рекламу читал следующее: слово roulete, написанное с ошибкой, может стоить в рекламе дороже, чем правильное слово roulette. Вы, наверное, и сами догадались, почему: более низкий уровень грамотности увеличивает средние траты в онлайн-казино. Кто бы мог подумать, должно быть, это просто случайное совпадение!
Ещё было другое исследование. Есть такой вид мошенничества: «Нигерийские письма». Вам приходит письмо, что в Нигерии умер какой-то дальний ваш родственник миллиардер, и вот вам наследство, нужно лишь скинуть $100 на оформление документов. Там именно Нигерия использовалась чаще всего, поэтому в народе название этой страны прямо вошло в название вида мошенничества. Но мошенники не перестали использовать Нигерию. Почему? Потому что дешевле на первом шаге сразу отсечь тех, кто уже про такое где-то слышал или читал, и не тратить своё время на менее надёжную попытку развести их в дальнейшем общении.
Из этого субъективно хочу сделать три вывода.
1. Грамотность очень часто является индикатором интеллекта. Возможны разные исключения и нюансы, разумеется, но в целом комментарии в сети типа «Мы не на уроке русского!» это звоночек.
2. Некоторая информационная осведомлённость полезна. Не очень правильно говорить о том, что ценна только та информация, которая относится к вашей работе и областям ваших интересов.
3. Если вы видите рекламу с ошибками, не покупайте этот товар, не пользуйтесь услугами, не принимайте предложение. Хорошие рекламщики для настоящей продукции будут свои тексты вычитывать.
#web#life
В лифте в новостройке повесили рекламу. Сначала удивился: почему фирма называется "Потолок", а сайт у них vp-spb. А потом понял, что одну рекламу навесили поверх другой. Если бы мне нужен был потолок, и я бы увидел это, я бы совершенно точно пошел бы на сайт vp-spb. Подобно баннерной слепоте — глаз уже просто игнорирует номера телефонов и ищет нормальные контакты. Хоть двадцать раз могут повторить номер, я его не вижу, пропускаю мимо внимания, это визуальный мусор. И при поиске на карте компании по выполнению услуг я сразу закрываю карточки тех компаний, у которых не указан сайт. Видимо, инертный бизнес жив только за счёт инертных людей. #life#web