OverrideTech Анатолий Марандюк
Open in Telegram
Превращаю людей в разработчиков и рассказываю, как им с этим жить Для связи: @Marandyuk_Anatolii
Show more1 116
Subscribers
No data24 hours
-37 days
-330 days
Posts Archive
Как не помереть с голоду
Я как-то неожиданно для себя, вдруг, понял, что есть простая метрика, по которой можно измерить мой интерес к людям. Она простая до усрачки. Чем больше ролей примерил на себя конкретный человек - тем разнообразнее его опыт: профессиональный, бытовой и социальный.
Вопрос “Кто я?” настигает меня с завидной регулярностью. Стараюсь жить так, чтобы как можно реже отвечать на него одно и то же. Я - муж, отец, разработчик, музыкант, стример, маркетолог, преподаватель, ментор, плотник, электрик, байкер, предприниматель, сварщик в конце концов. Список еще будет продолжаться. И вот почему ⬇️
Люди с разнообразным опытом яснее выражают свои мысли. Их примеры более красочны, а объяснения исчерпывающи, благодаря метафорам и хлестким сравнениям. Восприятие реальности шире. Не эфимерно шире, а вот буквально набор возможных решений, которые можно принять шире. Они приходят как будто сами, но на самом деле рождаются в силу различного опыта на стыке ролей, индустрий и наук, с которыми доводилось столкнуться.
Сегодня отработал первый день сварщиком в найме. Чего лукавить, мне приятно видеть как у людей вокруг рвется шаблон по этому поводу. Во многом от того, что мысли в их голове сильно не совпадают с моими. Почему-то с большим отрывом лидирует вопрос о зарплате. Я, очевидно, не хочу дышать пылью и копотью по 10 часов в день ради сотни-другой деревянных. Собираюсь получить немного опыта, чтобы подтянуть харды, ну и, конечно, посмотреть как устроено производство: ценообразование, закупки, расходники, зарплаты. Это будет очень ценным, если решу открывать собственный цех. А может увиденное меня не впечатлит и я эту идею вовсе отложу. В любом случае этот опыт останется со мной и когда-нибудь пригодится.
В силу плачевной ситуации в экономике, и в айти в частности в воздухе все чаще витает вопрос “а что если?”. А что если сократят? Что если зарплаты в айти пробьют дно? Что если искусственный интеллект оптимизирует труд разработчиков? К счастью я знаю что. Выживут те, кто умеет адаптироваться. А чтобы уметь быстро адаптироваться иногда берите на себя чужие обязанности, меняйте компании, профессии и индустрии. Знакомьтесь с интересными людьми, пробуйте найти новые хобби и не давайте себе закиснуть.
На мастер классы по сварке, например, записывайтесь ⬇️⬇️⬇️
Завтра выхожу на работу, очно! После 6 лет удаленки это даже звучит не просто, но я полон оптимизма почему-то :)
А сегодня стримлю из мастерской, разминаю сварочную мыщцу перед первой сменой
Уже онлайн на twitch
Аллоха, соскучились? А я для вас подготовил интересных неожиданностей. Обязательно расскажу голосом на стриме, а потом опубликую пост. А так-то сегодня в программе:
- в 21 мок по спрингу
- в 22 мок по бд
- в 23 скрининг в рамках практически благотворительного нынче формат "За ручку до оффера" (давно пора его переработать, но пока работаем)
Уже онлайн на twitch
Минутка экспертной аналитики
Рынок айти в жопе?! Пузырь лопнул? Сейчас вообще реально устроится на работу? Мне регулярно пишут в поисках экспертной оценки в этом вопросе (вот уж нашли гуру 😁). Ну, видимо, моя оценка востребована, надо облечь ее в текст, чтобы на него ссылаться.
Что происходит
С осени 2024 у значительной части вендоров средней руки (галер) не продлились контракты для аутстаффа. Они работали в штатном режиме, но найм поставили на паузу. Это первое значительное изменение на рынке труда, которое можно было ощутить. При поиске работы в списке контактов стало все больше внутренних хр продуктовых компаний и лояльных галер с единственным заказчиком. Бурно цветущий в последние годы аутстафф стал слишком дорогим для компаний. Цепочки с 2-3 и даже 4 прокладками потихоньку скукожились, чтобы не кормить дармоедов. Одобряю, давно пора.
В начале 2025 года найм в штат тоже значительно замедлился. Даже я бы сказал почти встал. Бюджеты на будущий год рожали дольше обычного, на мой вкус. К началу февраля (когда уже должен бы начаться сезон найма) никакого ажиотажа не наблюдалось. Хр, с которыми, мне удалось поговорить тихонько плакали: "Позиции, которые нужно закрывать, я тебе дам. Бюджет на них не дам". Найм в крупняке просто буксовал, где-то доходя до абсурда: незакрытых позиций в командах куча, хр проводят скрининги, даже зовут на собеседования, но офферы никто выкатывать не спешит. Слишком уж у гигантов большая инерция.
Весной попустило, процессы стали возвращаться в привычное русло, только в эконом варианте.
Эффект бродяги
Глобально ничего не произошло. Но вой в айтишных интернетах стоял такой, как будто все пропало. Давайте расскажу почему. Последние пару лет все жили в равновесии благодаря санитарам нашего айти "леса". Выпускники курсов, сомнительных менторских движух и всяких академий находили свое пристанище в основном в единственной компании. Способных и квалифицированных разбирали ребята, у которых требования пожестче. Так вот эта компания заботливо ковырялась в самом низу рынка и подбирала оттуда свежих любителей смузи, как бездомных бродяг. А потом перестала. Предлагаю вам в комментариях угадать о какой компании речь.
Свежеиспеченные смузихлебы остались без своего надежного покровителя и высыпали на рынок в огромных количествах в поисках своего счастья. Компании стали получать сильно больше резюме на одну вакансию и кайфовать. Ну, вроде бы. К слову дефицита последние годы в принципе и не было в классическом смысле. Только вечная нехватка низкооплачиваемых высококвалифицированных специалистов, как всегда, в общем. Он то никуда и не делся.
А что сейчас?
Сейчас бюджеты на найм есть, но они значительно уменьшились. Как и в целом в других отраслях. Белых воротничков повсеместно пытаются оптимизировать.
Компании получают множество заявок от соискателей. Конкуренция усилилась, но не эпически. Раньше бэкенд разработчик мог назначить 10 собеседований на неделю за два дня. Теперь 1-2 в неделю - хороший результат. Приходится стоять в очереди на собеседования с кучей выпусников говно курсов, которые тщательно и вполне успешно маскируются под крутых ребят (это я себе комплимент сделал, приходите за консультацией). Офферы мутятся, лавэха крутится. Только теперь очень неторопливо.
Если вы собираетесь озадачиться поиском работы в ближайшее время, то не паникуйте. В айтишных медиа любят сгущать краски. Если вам есть, что предложить - своего покупателя оно неминуемо найдет.
Ни слова про ИИ в посте. Не порядок, так на хайптрейне не проехаться, поэтому держите еще немного субъективной экспертной экспертности: в бэкенде ИИ никак на найм пока значительно не повлиял. Менеджеры, конечно, зажглись идеей о том какую гору бабла получится сэкономить, но практических решений по этому поводу пока не родилось. Масштабные технические проекты, которые нужно для этого строить, пока на стадии "начальство сказало всем срочно внедрять ии в наши процессы до конца года. Выбирайте одного бедолагу, он будет ответственным за кибер трансформацию".
Нужно больше золота
В любых переговорах всегда выигрывает тот, кто готов от них отказаться. Ну, или хотя бы сделать вид, что готов. Поэтому в переговорах о зарплате есть два рабочих варианта.
✍️Первый - прикрыть тылы. Постараться получить альтернативное предложение, либо отложить денег столько, чтоб в самый ответственный момент мысли о потенциальной голодной смерти не испортили почти успешный торг.
✍️Второй - сжать яйца в кулак. Ни больше, ни меньше. Играть на грани, не имея ничего за душой, но старательно изображая твердую, уверенную позицию.
Спешка хороша только при ловле блох. Почти всегда стоит затягивать переговоры. Это может привести к тому, что ваша позиция усилится. Если подкидывать нейтрально-положительных реакций и всеми силами оттягивать момент принятия решения, то свои требования задвигать будет сильно проще. Впрочем, вас могут просто дропнуть, но об этом абзац выше.
Закончу простым, но самым важным: переговоры могут увенчаться успехом, только если вы их начали. Не забывайте: сразу соглашаться - автоматически проиграть.
Снова здарова, вещаю:
- в 17:30 структуры данных и коллекции в жабе
- в 18:30 Спринг
- в 21 джава кор, но не факт
Уже онлайн на twitch
Аллоха, врываюсь в ваш вечер с порцией добра, позитива и мок интервью:
- в 17 обсуждаем ORM
- в 18 джава кор
Уже онлайн на twitch
Давненько не виделись, запустил свою шарманку с утреца пораньше:
- в 10:30 подготовка по лайвкодингу
А пока болтаем
Уже онлайн на twitch
Как просить повышение и получать
Так уж вышло, что я ни разу не получал повышений. Просто держите это в уме, когда читаете советы ниже :D Моя карьера складывалась бурно, времени для повышений там не нашлось, так что приходиться быть серым кардиналом переговоров о зарплате у своих студентов.
1. Стоит тщательно подготовиться. Чтобы авантюра увенчалась успехом - надо собрать информацию и построить хотя бы какую-то стратегию. Узнайте у коллег с кем они обсуждали вопросы повышения, кто как реагировал и с какой ноты лучше заводить песню о бабках. Разберитесь кто в конце концов за них отвечает.
2. Подгадайте удачный момент... но не затягивайте: лучшее время, чтобы просить повышение, как всегда, вчера. Если в ближайшем будущем важный релиз, стоит поймать менеджерскую волну экстаза от этого события и сыграть на ней.
3. Апеллируйте к достижениям. Не к тому, что Вася из соседней команды получает больше. Не к тому, что Петя из вашей команды делает меньше за те же деньги. И даже не к двузначной инфляции. А к тому что вы сделали полезного для бизнеса. Пусть это и было технически не очень сложно. Подавайте свои подвиги с точки зрения пользы для компании или проекта.
4. Не бойтесь озвучивать сумму. Обозначьте свою позицию, заложите немного больше желаемого, чтобы было пространство для торга. “Хочу больше” сильно хуже чем “Хочу Х”. Второе имеет больше шансов на успех.
5. Шантаж - последний козырь в вашем рукаве. Он не подходит для построения долгосрочных отношений, как в жизни, так и в карьере. Будьте деликатны, бурлите готовностью к новым свершениям и дополнительной ответственности. Но если в ближайшем будущем все таки решили уходить, выкладывайте любые карты на стол. Шантаж в этом случае будет вполне оправдан небольшой прибавкой к зарплате за пару месяцев перед расчетом.
6. Договаривайтесь о сроках. Ни один менеджер не скажет вам сразу “Да, братишка, бабки не проблема”. Ему нужно время, чтобы подумать, обсудить с начальством, согласовать суммы. В конце любых переговоров постарайтесь обозначить временные рамки в духе: “Когда мы вернемся к обсуждению вопроса о моем повышении?”. Так вы переводите свой вопрос из статуса “еще одна просьба” в статус задачи, которая ложится в календарь и требует решения.
На счет собственных повышений, я, конечно, немного слукавил. Мне удавалось их выбивать. Просто на рынке предлагали больше, а я алчный гном 🥤
Аллоха, готовлю ребят к собеседованиям, приглашаю присоединяться:
- в 19 джава кор с Антоном
- в 20 sql с Кириллом
Уже онлайн на twitch
Аллоха, у меня тут новый сезон подготовки к собеседованиям, буду вам показывать:
- в 20 мок по Java core
- в 21 синк по проекту "word-map", бэкенд для мобильной игры
Заглядывайте пообщаться, уже онлайн на twitch
#Смузиликбез
Как лучше подходить к изучению легаси кода, есть ли какая-то крутая хитрая схема по рефакторингу?
Ответ очень сильно зависит от степени жести, которая предлагается к изучению, поэтому постараюсь накидать максимально общий алгоритм, который может помочь справится с любым самым адовым дерьмом, в которое по воле случае можно наступить:
1. Поищите документацию. Она может быть лихо запрятана. Не лишним будет посерфить по вики базе знаний, используя специфичные ключевые слова из доставшегося вам репозитория. Осмотрите код на наличие ссылок на документы или задачи.
2. (!) Обязательно помните, что любая документация может быть неактуальной. Особенно для старого, как говно мамонта, проекта. Используйте ее, чтобы “вкатиться” в проект и побыстрее разобраться с чем предстоит иметь дело, где искать нужный вам участок кода хотя бы примерно. Не доверяйте ей в полной мере. Коду тоже не доверяйте. Он может работать не так, как написан. (Могу написать про это пост с ахерительной историей о траблшутинге длиною в два месяца, хотите?)
3. Изучайте гит историю. Поиграйте в сыщика. По тайтлам пул реквестов или коммит месседжам можно выловить немало закономерностей. Понять предпосылки тех или иных решений и сократить себе путь к выполнению задачи.
4. Отключите чувство прекрасного на время. Не пытайтесь быть порядочным разработчиком. Скорее всего этого никто не оценит, а проблем может прибавиться. Любые изменения в легаси - это потенциальные выстрелы в собственную коленку. Не надо сломя голова бросаться рефакторить и наводить лоск. Чем масштабнее изменения - тем, возможно, больнее вам будет в ближайшем будущем.
5. Отыскав нужный вам шмат дерьма в компостной куче, постарайтесь хорошенько его размять до затвердевания. Это я о тестах, конечно же. Они могут быть, нет, они просто обязаны быть кустарными. Главное - получить хоть какую-то уверенность, что после внесения изменений поведение кода не сильно поменялось. Для этого лучше всего подойдет интеграционный тест.
6. Найдите ревьювера. Авторы, скорее всего, уже не работают в компании, если вообще живы. Постарайтесь отыскать мамонта с немалым стажем работы в компании. Он убережет вас от резких необдуманных маневров.
Бонус 🥤
7. Постоянно нойте на всех возможных митингах о том, какая нелегкая доля вам досталась. Если вдруг отлично справитесь, надо не получить статус эксперта по этому дерьму. Пусть менеджер боится, что в следующий раз вы уволитесь.
Еще посты в рубрике ответов на вопросы студентов:
- Что такое костыль?
- За какое время нужно бегать спринт?
- Работают ли разработчики 8 часов?
Доброго утречка, уже сходили на дейлик? Я нет, лайвкодинг вот буду проводить в прямом эфире:
- в 11 Алексей будет кодить для меня на plain java, а я отпускать ему едкие замечания
- в 12 Даша расскажет зачем изобрели спринг
Уже онлайн на twitch
Снова на завод?
Года три назад я пребывал в твердой уверенности, что за год смогу слепить джава разработчика даже из мартышки. И был прав! Компании нанимали по принципу “берем любых доходяг, авось из десятка случится один работоспособный”. И это была хорошая стратегия. Когда на рынке мало квалифицированных кадров, внимательно искать алмазы среди посредственной массы - роскошь. Алмазы тупо уйдут в соседнюю компанию, которая может сделать оффер быстрее. Эта спешка и была катализатором роста зарплат и конкуренции за работника.
Думаю нынче сошлись два фактора, которые превратились в небольшую локальную айти панику. С одной стороны количество доходяг на рынке, которые вдохновились историями про успешный успех, сильно увеличилось. Они, используя самые разные трюки, хакают собеседования и приносят компаниям убытки. С другой же в компаниях начали считать деньги и оптимизировать расходы. Ситуация, знаете ли, располагает.
Реалии меняются, надо меняться вместе с ними. Мой план реагирования - обратное масштабирование. Я его начал даже немного заранее, прикидывая куда ветер дует и тщательно отбирал сообразительных ребят, которым не придется стартовать совсем уж с нуля. Из 8 студентов, которых набрал в этом году остается 6, ну по крайней мере пока. Девушки, к сожалению, медленно, но уверенно нас покидают. Последняя на дополнительном “испытательном сроке” в две недели. Уж не знаю получится ли справится за пол года, как я это себе нафантазировал, буду смотреть по рынку. Если он будет суров, то без излишней спешки буду дальше обучать ребят, чтобы они могли запросто выдерживать конкуренцию.
По-прежнему не хочу учить студентов самым грязным трюкам. Я конечно помогаю людям продавать себя, и трюков и так использую предостаточно, но мне важно, чтобы было что продавать. Пробиться на собеседование - да. Помогать в процессе - нет. Мое любимое дело - превращать людей в разработчиков и я буду учиться делать его еще лучше. Постараюсь в этом году дать ребятам больше возможности попрактиковаться на проектах, активно поработать с аналитиками, тестировщиками и фронтом. По части подготовки добавится практика лайв кодинга. По моему убеждению даже опытным, действительно хорошим специалистам это дается сложно из-за волнения в непривычной ситуации.
Не надо паниковать, если вдруг вы начали или собираетесь. Можете брать пример с меня и стараться делать то, что делаете лучше. Это хороший способ реагирования на изменения ландшафта вокруг.
Аллоха, уже без одного дня месяц учу новых студентов, завтра предстоит выбрать кого учить дальше, а с кем прощаться :(
Но сегодня пока что на чиле:
- в 21 Лев про спринг бут и его стартеры
- в 22 Антон про JPA и всякие ORM, о том как работать с бд из джава кода
- в 23 Даша про сети
Где-то между еще заонобордим Кирилла на новый проект по мониторингу фан пея
Уже онлайн на twitch
Аллоха, сегодня начнем слегка необычно:
- в 18 поговорим с Борисом, он уже больше года трудится джава разработчиком, ему есть чем похвастать
- в 19 обсуждаем спринг бут стартеры
- в 20 закрепляем стрим апи
- в 21 закрепляем исключения и работу с фс
Уже онлайн на twitch
Аллоха, сегодня в ночную смену:
- в 20 JPA Hibernate
- в 21 ООП
- в 22 Исключения
- в 23 задачки по stream API
Уже онлайн на twitch
Аллоха, стримлю как делаю людей богатыми:
- в 15 задачка про авторизацию, мейвен
- в 16 обзорная экскурсия в кубер овермани от Антона для меня
- в 17 обсуждаем почему Джамбулат все еще не вышел на работу (потому что все, рынок мертв, очевидно)
- в 18 Алекс Megakolos вещает про стрим апи
- в 19 Лев примерно про то же самое
- в 20 скорая психологическая помощь для Каца
- в 21 постигаем основы ООП с Нелли
Уже онлайн на twitch
Аллоха, спящий пробудился, мироточу на twitch, сегодня в программе:
- в 13 исключения с Дашей
- в 14 Дженерики, коллекции, стримы с megokolos
*Стример оправдывается и рассказывает где пропадал*
- в 17 возюкаем битики байтики с Нелли
- в 18 завозим helm для деплоев овермани с Антоном
- в 19 постигаем основы ООП с Ариной
Жми
