КАК Я ВЫБИЛ КОМПЕНСАЦИЮ ПОСЛЕ УВОЛЬНЕНИЯ НА ГПХ. ЧАСТЬ 2.
Отношения с коллегами и начальством все время было хорошее-отличное, почти никаких конфликтов, несмотря на пылающие стулья под сотрудниками. Хотя я на чиле работал, укладывался в свои сроки, и не напрягался особо. Не мне же за сроки, которые выставил менеджемент, отвечать)) Наш Tech Owner нашел себе мальчика для битья в лице менеджера и опускал его при каждой удобной возможности. Может быть, поэтому мало доставалось остальным. Мне его, конечно, было жаль. И вообще мерзко смотреть на это. Но я за жизнь и не такого навидался, поэтому научился отстаивать личные границы.
К Дате X мы в итоге сделали +- что нужно, наступили праздники и все спокойно и с хорошей обратной связью по работе ушли отдыхать. Посыл начальства: все сделали, что нужно, отлично поработали и вообще молодцы. Вот вам премия и повышение ЗП.
Утром первого рабочего дня после праздников я вижу, что меня удалили из всех чатов, и сообщение в две строчки от менеджера "Мы решили расстаться. Ты не оправдал наших ожиданий по продуктивности".
Я немножко в шоке, но предполагая такой исход заранее, начал искать работу до праздников. Пошел за обратной связью к альфа-программиту, с которым у меня сложились хорошие отношения, с позитивным посылом "Я вам выстроил архитектуру приложения, сделал половину разделов, авторизацию, менторил коллег и подтирал за ним код, оперативно фиксил баги и работал на выходных. Все время получал положительную обратную связь. Без наезда, но хочу узнать, в чем именно я вам не подошел, чтобы исправить эти проблемы на следующих местах работы".
Получаю ответ с такой идеей, что "На самом деле, проблема не в твоей производительности, мы решили изменить состав, нам больше не нужно так много разрабов. В последний момент решали сегодня утром и поэтому только сейчас сказали".
Мне не нравится история с тем, что мне обещали сотрудничество на долгий срок, а потом кинули. Решаю выбить компенсацию, несмотря на то, что на ГПХ. Иду к это менеджеру и говорю, что не доволен тем, как они обращаются с сотрудниками. Что оставлять человека утром после праздников без работы, уверяя его перед этим, что такого не будет, не хорошо. И что я буду раздувать эту историю в СМИ (ютуб, ТГ, локальные новости). Жду их реакцию. Менеджер через пару часов пишет, что я могу делать что угодно и им все равно, но они предлагают мне вариант: на почасовой оплате сделать еще несколько задач, пока я не найду новую работу. Я соглашаюсь и месяц "делаю" эти "сложные" и "объемные" задачи. В конце, немного поприпиравшись, мне выплачивают как за месяц работы.
Стрессово ли так работать? Немного да, но привыкаешь. Мы же волки, ауф
Какие можно сделать выводы:
1. Качнуть права и выбить себе компенсацию при увольнении можно не только на ТК.
2. Даже в послушном коллективе, привыкшем к половинке пряника, можно получить целый, если ваш труд там нужен.
Всем удачи, добра, позитива и до встречи на морях и океанах!🌊🏄♀️🦭🦭
Сообщество для входа и роста в IT
Отношения с коллегами и начальством все время было хорошее-отличное, почти никаких конфликтов, несмотря на пылающие стулья под сотрудниками. Хотя я на чиле работал, укладывался в свои сроки, и не напрягался особо. Не мне же за сроки, которые выставил менеджемент, отвечать)) Наш Tech Owner нашел себе мальчика для битья в лице менеджера и опускал его при каждой удобной возможности. Может быть, поэтому мало доставалось остальным. Мне его, конечно, было жаль. И вообще мерзко смотреть на это. Но я за жизнь и не такого навидался, поэтому научился отстаивать личные границы.
К Дате X мы в итоге сделали +- что нужно, наступили праздники и все спокойно и с хорошей обратной связью по работе ушли отдыхать. Посыл начальства: все сделали, что нужно, отлично поработали и вообще молодцы. Вот вам премия и повышение ЗП.
Утром первого рабочего дня после праздников я вижу, что меня удалили из всех чатов, и сообщение в две строчки от менеджера "Мы решили расстаться. Ты не оправдал наших ожиданий по продуктивности".
Я немножко в шоке, но предполагая такой исход заранее, начал искать работу до праздников. Пошел за обратной связью к альфа-программиту, с которым у меня сложились хорошие отношения, с позитивным посылом "Я вам выстроил архитектуру приложения, сделал половину разделов, авторизацию, менторил коллег и подтирал за ним код, оперативно фиксил баги и работал на выходных. Все время получал положительную обратную связь. Без наезда, но хочу узнать, в чем именно я вам не подошел, чтобы исправить эти проблемы на следующих местах работы".
Получаю ответ с такой идеей, что "На самом деле, проблема не в твоей производительности, мы решили изменить состав, нам больше не нужно так много разрабов. В последний момент решали сегодня утром и поэтому только сейчас сказали".
Мне не нравится история с тем, что мне обещали сотрудничество на долгий срок, а потом кинули. Решаю выбить компенсацию, несмотря на то, что на ГПХ. Иду к это менеджеру и говорю, что не доволен тем, как они обращаются с сотрудниками. Что оставлять человека утром после праздников без работы, уверяя его перед этим, что такого не будет, не хорошо. И что я буду раздувать эту историю в СМИ (ютуб, ТГ, локальные новости). Жду их реакцию. Менеджер через пару часов пишет, что я могу делать что угодно и им все равно, но они предлагают мне вариант: на почасовой оплате сделать еще несколько задач, пока я не найду новую работу. Я соглашаюсь и месяц "делаю" эти "сложные" и "объемные" задачи. В конце, немного поприпиравшись, мне выплачивают как за месяц работы.
Стрессово ли так работать? Немного да, но привыкаешь. Мы же волки, ауф
Какие можно сделать выводы:
1. Качнуть права и выбить себе компенсацию при увольнении можно не только на ТК.
2. Даже в послушном коллективе, привыкшем к половинке пряника, можно получить целый, если ваш труд там нужен.
Всем удачи, добра, позитива и до встречи на морях и океанах!🌊🏄♀️🦭🦭
Сообщество для входа и роста в IT
Как я осадил токсичное быдло, работая всего пару недель в компании
Пришел я пару-тройку лет назад в новую компанию на позицию Senior iOS с зп в 5к$ и начал осваиваться в новом коллективе, знакомиться и налаживать контакты с командой
Был один чел в моей команде — Дима, тоже овёсер, который на дейлики то приходил, то не приходил, но когда приходил, то говорил, что жестко вливал в себя портвейн всю ночь и щас отходосы ловит. Еще и оффлайн постоянно сидел в слаке
На звонках, на которые ему все же удавалось попасть, всегда поливал матом код и не чурался говорить, что все, что мы делаем — хуйня собачья, и что надо делать так, как он говорит, а так, как не он — не надо. Короче базированный быкан
Ава у него еще в слаке такая была: сидит в кресле на пляже без футболки, смотрит в ебеня горзионта, и в солнцезащитных очках и шляпе бежевого цвета посасывает клубничный коктейль
Я сразу высек, что тип какой-то мутный и ждал от него приколов
Долго ждать не пришлось
Я работал там уже две недели, и Димас влетел с двух ног в общий чат:
— Кто так вообще пишет? Че за хуйня? Это вообще что такое, код?)
И аттачнул к сообщению скрин кода с моей первой задачи. Я там в уже существующий метод прокинул еще один параметр по аналогии с другими параметрами в этом методе
Я пришел спрашивать че его не устраивает прям в тредик под этим сообщением. Но после нескольких бычек вроде «это полная хуйня, а не код» и «почему мы пишем дерьмо?» в ответ на мои вопросы «а что тебя не устраивает?», я понял, что быдло воспринимает информацию только на быдлячьем языке
Я бы мог в этом треде, конечно, сказать, что он ведет себя непрофессионально и пока не сменит тон, общение не продолжится, но мои эмоции взяли верх, т.к. я столкнулся с этим впервые
После нескольких токсик-дискуссий о качестве кода в треде, я предложил призвать туда лида (если, конечно, он еще сам не давился попкорном, попутно скролля тред), но на фан-встречу никто не пришел
Из того, что я понял из этой ламповой беседы — его не устроило, что я добавил что-то по аналогии, а не зарефачил весь метод сразу, раз уж тронул
Я и сейчас так сделал бы вместо рефакторинга
Закончилось все тем, что я предложил ему выйти на улицу и быкануть на какого-нибудь прохожего, если так хочется задеть кого-то, но тут не надо, мы работу работаем
В эту же секунду я обрел две реакции «+» на ластовое сообщение в этом треде и получил респект улиц
Улицы реально респектанули
Ко мне мне в лс пришел другой тиммейт — Гриша, норм тип ваще, удалось познакомиться на старте. Грегори восхитился тем, как я не стерпел.
Гриша пожаловался как его заебал Димон, который уже полгода сыпал матом его код и код остальных тиммейтов тоже, но последним видимо было похуй
На следующем дейли Дима пытался в грубой форме зацепить мой тот же код снова, и мы опять захуярились, но уже на звонке и на повышенных тонах. Тимлид вроде снизил градус, но чето я подумал, что хуйня это какая-то и написал лиду, мол давай чето решать, поговори с ним, а то это нездоровая тема. На это лид сказал, что я не первый, кто приходит к нему с этой просьбой, и пообещал поговорить
Вы ахуеете
Я не знаю че ему сказал лид, может леща отцовского дал или пригрозил увольнением, но после этого разговора Димас больше никого не цеплял, не заебывал, все работали без токсичной атмосферы и давления
Магия!
TL;DR
Не позволяйте тиммейтам ахуевать, если они реально пытаются, ведь:
Быть уебаном — это быт уебана
Выводы сделайте сами
Если ты из iOS или думаешь вкатиться/перекатиться в iOS, то залетай ко мне в канал, где я делюсь опытом, накопленным в суровом мире разработки, и менторю людей до оффера
Сообщество для входа и роста в IT
Пришел я пару-тройку лет назад в новую компанию на позицию Senior iOS с зп в 5к$ и начал осваиваться в новом коллективе, знакомиться и налаживать контакты с командой
Был один чел в моей команде — Дима, тоже овёсер, который на дейлики то приходил, то не приходил, но когда приходил, то говорил, что жестко вливал в себя портвейн всю ночь и щас отходосы ловит. Еще и оффлайн постоянно сидел в слаке
На звонках, на которые ему все же удавалось попасть, всегда поливал матом код и не чурался говорить, что все, что мы делаем — хуйня собачья, и что надо делать так, как он говорит, а так, как не он — не надо. Короче базированный быкан
Ава у него еще в слаке такая была: сидит в кресле на пляже без футболки, смотрит в ебеня горзионта, и в солнцезащитных очках и шляпе бежевого цвета посасывает клубничный коктейль
Я сразу высек, что тип какой-то мутный и ждал от него приколов
Долго ждать не пришлось
Я работал там уже две недели, и Димас влетел с двух ног в общий чат:
— Кто так вообще пишет? Че за хуйня? Это вообще что такое, код?)
И аттачнул к сообщению скрин кода с моей первой задачи. Я там в уже существующий метод прокинул еще один параметр по аналогии с другими параметрами в этом методе
Я пришел спрашивать че его не устраивает прям в тредик под этим сообщением. Но после нескольких бычек вроде «это полная хуйня, а не код» и «почему мы пишем дерьмо?» в ответ на мои вопросы «а что тебя не устраивает?», я понял, что быдло воспринимает информацию только на быдлячьем языке
Я бы мог в этом треде, конечно, сказать, что он ведет себя непрофессионально и пока не сменит тон, общение не продолжится, но мои эмоции взяли верх, т.к. я столкнулся с этим впервые
После нескольких токсик-дискуссий о качестве кода в треде, я предложил призвать туда лида (если, конечно, он еще сам не давился попкорном, попутно скролля тред), но на фан-встречу никто не пришел
Из того, что я понял из этой ламповой беседы — его не устроило, что я добавил что-то по аналогии, а не зарефачил весь метод сразу, раз уж тронул
Я и сейчас так сделал бы вместо рефакторинга
Закончилось все тем, что я предложил ему выйти на улицу и быкануть на какого-нибудь прохожего, если так хочется задеть кого-то, но тут не надо, мы работу работаем
В эту же секунду я обрел две реакции «+» на ластовое сообщение в этом треде и получил респект улиц
Улицы реально респектанули
Ко мне мне в лс пришел другой тиммейт — Гриша, норм тип ваще, удалось познакомиться на старте. Грегори восхитился тем, как я не стерпел.
Гриша пожаловался как его заебал Димон, который уже полгода сыпал матом его код и код остальных тиммейтов тоже, но последним видимо было похуй
На следующем дейли Дима пытался в грубой форме зацепить мой тот же код снова, и мы опять захуярились, но уже на звонке и на повышенных тонах. Тимлид вроде снизил градус, но чето я подумал, что хуйня это какая-то и написал лиду, мол давай чето решать, поговори с ним, а то это нездоровая тема. На это лид сказал, что я не первый, кто приходит к нему с этой просьбой, и пообещал поговорить
Вы ахуеете
Я не знаю че ему сказал лид, может леща отцовского дал или пригрозил увольнением, но после этого разговора Димас больше никого не цеплял, не заебывал, все работали без токсичной атмосферы и давления
Магия!
TL;DR
Не позволяйте тиммейтам ахуевать, если они реально пытаются, ведь:
Быть уебаном — это быт уебана
Выводы сделайте сами
Если ты из iOS или думаешь вкатиться/перекатиться в iOS, то залетай ко мне в канал, где я делюсь опытом, накопленным в суровом мире разработки, и менторю людей до оффера
Сообщество для входа и роста в IT
Forwarded from Отзывы об IT Компаниях
#neoflex
Расскажу офигительную историю про Neoflex, он же Flametree, он же Enfint.
Дело было 8.11, я увидела в LinkedIn объявление от тимлида этой компании, что им нужны инженеры, описание проекта было интересным и я написала ему в личку.
Первый техсобес был 19.11 с другим лидом.
Второй собес знакомство с 2.12 с тимлидом, который постил вакансию в LinkedIn.
Третий собес HR 12.12.
Четвертый собес HR 18.12
Пятый собес 19.12 с директором по развитию.
Мы не договаривались о таком кол-ве собеседований
Тимлид с вакансией в целом перестал отвечать на мои сообщения с 9.12
Директор по развитию вообще не пришел на встречу и решил вместо нее устроить еще один тех собес, о чем я узнаю за минуту до встречи. В итоге на ней я была как девочка из мема которая сидела на кожаном диване, окруженная толпой чернокожих ребят, только вместо них была толпа инженеров, которым приходилось сидеть на нахуй никому не нужном собесе вместо своего «директора по развитию» прости господи. Этот директор сказал что у него встреча с инвесторами, есть подозрение, что если ты знаешь что у тебя накладывается встреча, ты можешь ее перенести, ведь она нужна была только ТЕБЕ, ТЫ ее попросил, а не я.
В итоге вот такую обратную связь я выудила сегодня, сама бы не спросила, хуй бы написали.
При этом HR и инженеры приятные ребята, я искренне им сочувствую что им приходится вариться в таких конченых процессах.
Как видно из сообщения HR, они собираются возобновить процесс найма, так что если увидите заманчивое предложение, подумайте надо ли оно вам.
P.S. Нашла еще вот такой отзыв про них же, выводы делайте сами.
Отзыв прислан анонимным подписчиком. Это субъективное мнение, оно может отличаться от истины.
Прислать историю
Расскажу офигительную историю про Neoflex, он же Flametree, он же Enfint.
Дело было 8.11, я увидела в LinkedIn объявление от тимлида этой компании, что им нужны инженеры, описание проекта было интересным и я написала ему в личку.
Первый техсобес был 19.11 с другим лидом.
Второй собес знакомство с 2.12 с тимлидом, который постил вакансию в LinkedIn.
Третий собес HR 12.12.
Четвертый собес HR 18.12
Пятый собес 19.12 с директором по развитию.
Мы не договаривались о таком кол-ве собеседований
Тимлид с вакансией в целом перестал отвечать на мои сообщения с 9.12
Директор по развитию вообще не пришел на встречу и решил вместо нее устроить еще один тех собес, о чем я узнаю за минуту до встречи. В итоге на ней я была как девочка из мема которая сидела на кожаном диване, окруженная толпой чернокожих ребят, только вместо них была толпа инженеров, которым приходилось сидеть на нахуй никому не нужном собесе вместо своего «директора по развитию» прости господи. Этот директор сказал что у него встреча с инвесторами, есть подозрение, что если ты знаешь что у тебя накладывается встреча, ты можешь ее перенести, ведь она нужна была только ТЕБЕ, ТЫ ее попросил, а не я.
В итоге вот такую обратную связь я выудила сегодня, сама бы не спросила, хуй бы написали.
При этом HR и инженеры приятные ребята, я искренне им сочувствую что им приходится вариться в таких конченых процессах.
Как видно из сообщения HR, они собираются возобновить процесс найма, так что если увидите заманчивое предложение, подумайте надо ли оно вам.
P.S. Нашла еще вот такой отзыв про них же, выводы делайте сами.
Отзыв прислан анонимным подписчиком. Это субъективное мнение, оно может отличаться от истины.
Прислать историю
Полный гайд по Валютным удаленкам
Более глубокого раскрытия вопроса вы не найдете нигде.
Смотри на YouTube: https://youtu.be/weA0ESpxuTU
Закономерный этап развития любого синьора — устройство на валютную удаленку. Твердая зарплата в валюте, расслабленная рабочая культура, полная независимость от геолокации — ради этого стоит постараться и посмотреть гайд целиком.
Разбираемся, откуда ВУ взялись, почему столько платят, какие исходные данные необходимы для начала их поиска. Делюсь итогами опроса по поиску ВУ участниками сообщества: сколько получают, как долго искали.
Более глубокого раскрытия вопроса вы не найдете нигде.
Смотри на YouTube: https://youtu.be/weA0ESpxuTU
Закономерный этап развития любого синьора — устройство на валютную удаленку. Твердая зарплата в валюте, расслабленная рабочая культура, полная независимость от геолокации — ради этого стоит постараться и посмотреть гайд целиком.
Разбираемся, откуда ВУ взялись, почему столько платят, какие исходные данные необходимы для начала их поиска. Делюсь итогами опроса по поиску ВУ участниками сообщества: сколько получают, как долго искали.
YouTube
ВАЛЮТНЫЕ УДАЛЕНКИ — Полный гайд / Антон Назаров
Все ссылки и документы, упомянутые в видео: https://t.me/m0rtymerr_channel/2178
- Как сделать продающее резюме для зарубежного рынка?
- Как эффективно оформить LinkedIn профиль?
- Где искать валютную удаленку?
- Как проходить собеседования?
- Как легализовать…
- Как сделать продающее резюме для зарубежного рынка?
- Как эффективно оформить LinkedIn профиль?
- Где искать валютную удаленку?
- Как проходить собеседования?
- Как легализовать…
В этой истории будет конфликт, но по большей части она о моих приключениях на первом месте работы. Впечатления незабываемые.
Я подался джуном в небольшую студию, писали на flutter. Сначала попросили записать голосовое на 5-7 минут с рассказом о себе, а потом пригласили в офис на собеседование. Это напрягло, но выбирать не приходилось. Собес больше напоминал допрос: по технической части спрашивал грозный сеньор лет 50, который назывался ведущим разработчиком, дальше я его буду называть тимлидом. К тому моменту я выучил уже все возможные вопросы по флаттеру и легко прошел допрос, зарплату попросил 60к (через полгода уговорил на 90).
В первую неделю не пришлось ни писать, ни читать код - мне скинули фигму с макетом какого-то приложения про натяжные потолки (примерно такой был уровень понимания на тот момент) на 100500 экранов, а тимлид сказал ДУМАТЬ, как это лучше реализовать.
Часов 6 я пялил в монитор, изучая каждый экран, параллельно доебываясь в комментах фигмы до каких-то рандомных косяков дизайнера, которых было мало, и непонятных моментов, которых было много. Спросить ртом, о чем вообще приложение и попросить хотя бы ввести в предметную область, не хватало волчистости.
Нужно было уже что-то делать. Не придумал ничего лучше, чем строить UML диаграмму по старой памяти из универа. Я всерьез придумывал абстракции, какие-то наследования, агрегации рисовал стрелочками в онлайн-редакторе, заморачивался по поводу того, какие поля нужны, как не дай Бог не нарушить солид, и т. д.
Через два дня с замиранием сердца показал тимлиду. Он периодически спрашивал, что означают ромбики и некоторые названия полей на английском, а потом сказал, что у меня слишком академический подход и вообще-то он хотел структуру базы данных, и ему было интересно, какую БД я бы выбрал (использовали firebase, поэтому условный бэк тоже на мне)
Потом меня всё-таки допустили до кодовой базы, которая представляла собой приватный гитхаб репо 3 месяцев отроду с каким-то кодом, и добавили в таск-трекер.
Первой задачей нужно было поправить баги и сделать какой-то несложный круд, интегрировать его в существующий экран.
Момент, когда я открыл код, стал вторым ударом по миру иллюзий о чистой архитектуре и паттернах проектирования, в котором я жил и о котором было красиво расписано в описании вакансии на хх. Никакого разделения UI и логики: жсоны отправлялись в БД порой прямо в колбэке кнопки, одинаковые виджеты реализовывались методом копипасты, из-за чего файлы разбухали до 2000 строк, а переменные назывались list1, list2 и т. д. О state management и речи не шло, все было управлялось через setState. Экраны с формами в коде представляли собой полотна из объявлений TextEditingController'ов, хотя уже тогда был популярный flutter_form_builder. И венчал все это чудо глобальный класс "Globals", хранящий в себе данные о текущих компании и пользователе.
Это работало. Через пень-колоду, но работало. На мой вопрос "почему так" получил ответ, что это вообще-то мвп, глобальный класс конечно плохо, но так временно и потом переделаем.
Я попытался вкостылить в эту кучу свою фичу с клиентами, наивно думая, что мне повезет. Меня хватило на три часа ловли багов и затыкания дыр, после чего я подошёл к тимлиду и сказал, что экран надо переписывать. Оценил в три дня, сделал за четыре, но спроса не было.
Так я параллельно с текущими задачами приводил проект в порядок, добавил стейт менеджмент, какие-то зачатки чистой архитектуры, и длилось это полгода.
Задачи все чаще предполали новый функционал, на который дизайна уже не было. И я начал понимать, что разработка ведётся как-то вверх дном: тимлид вкидывает задачу, сформулированную одной фразой, часто устно, а я собираю требования, запрашиваю дизайн, уточняю детали и пишу код, и хорошо, если тимлид сам протестирует один позитивный кейс. Естественно, результатом такого подхода становятся постоянные переделки: дизайнер не знает, что хочет тимлид и плавает в предметной области, тимлид не знает, что делает дизайнер, а когда узнаёт, редко остаётся довольным, а я выступаю в роли испорченного телефона, хотя они работают за соседними столами.
Я подался джуном в небольшую студию, писали на flutter. Сначала попросили записать голосовое на 5-7 минут с рассказом о себе, а потом пригласили в офис на собеседование. Это напрягло, но выбирать не приходилось. Собес больше напоминал допрос: по технической части спрашивал грозный сеньор лет 50, который назывался ведущим разработчиком, дальше я его буду называть тимлидом. К тому моменту я выучил уже все возможные вопросы по флаттеру и легко прошел допрос, зарплату попросил 60к (через полгода уговорил на 90).
В первую неделю не пришлось ни писать, ни читать код - мне скинули фигму с макетом какого-то приложения про натяжные потолки (примерно такой был уровень понимания на тот момент) на 100500 экранов, а тимлид сказал ДУМАТЬ, как это лучше реализовать.
Часов 6 я пялил в монитор, изучая каждый экран, параллельно доебываясь в комментах фигмы до каких-то рандомных косяков дизайнера, которых было мало, и непонятных моментов, которых было много. Спросить ртом, о чем вообще приложение и попросить хотя бы ввести в предметную область, не хватало волчистости.
Нужно было уже что-то делать. Не придумал ничего лучше, чем строить UML диаграмму по старой памяти из универа. Я всерьез придумывал абстракции, какие-то наследования, агрегации рисовал стрелочками в онлайн-редакторе, заморачивался по поводу того, какие поля нужны, как не дай Бог не нарушить солид, и т. д.
Через два дня с замиранием сердца показал тимлиду. Он периодически спрашивал, что означают ромбики и некоторые названия полей на английском, а потом сказал, что у меня слишком академический подход и вообще-то он хотел структуру базы данных, и ему было интересно, какую БД я бы выбрал (использовали firebase, поэтому условный бэк тоже на мне)
Потом меня всё-таки допустили до кодовой базы, которая представляла собой приватный гитхаб репо 3 месяцев отроду с каким-то кодом, и добавили в таск-трекер.
Первой задачей нужно было поправить баги и сделать какой-то несложный круд, интегрировать его в существующий экран.
Момент, когда я открыл код, стал вторым ударом по миру иллюзий о чистой архитектуре и паттернах проектирования, в котором я жил и о котором было красиво расписано в описании вакансии на хх. Никакого разделения UI и логики: жсоны отправлялись в БД порой прямо в колбэке кнопки, одинаковые виджеты реализовывались методом копипасты, из-за чего файлы разбухали до 2000 строк, а переменные назывались list1, list2 и т. д. О state management и речи не шло, все было управлялось через setState. Экраны с формами в коде представляли собой полотна из объявлений TextEditingController'ов, хотя уже тогда был популярный flutter_form_builder. И венчал все это чудо глобальный класс "Globals", хранящий в себе данные о текущих компании и пользователе.
Это работало. Через пень-колоду, но работало. На мой вопрос "почему так" получил ответ, что это вообще-то мвп, глобальный класс конечно плохо, но так временно и потом переделаем.
Я попытался вкостылить в эту кучу свою фичу с клиентами, наивно думая, что мне повезет. Меня хватило на три часа ловли багов и затыкания дыр, после чего я подошёл к тимлиду и сказал, что экран надо переписывать. Оценил в три дня, сделал за четыре, но спроса не было.
Так я параллельно с текущими задачами приводил проект в порядок, добавил стейт менеджмент, какие-то зачатки чистой архитектуры, и длилось это полгода.
Задачи все чаще предполали новый функционал, на который дизайна уже не было. И я начал понимать, что разработка ведётся как-то вверх дном: тимлид вкидывает задачу, сформулированную одной фразой, часто устно, а я собираю требования, запрашиваю дизайн, уточняю детали и пишу код, и хорошо, если тимлид сам протестирует один позитивный кейс. Естественно, результатом такого подхода становятся постоянные переделки: дизайнер не знает, что хочет тимлид и плавает в предметной области, тимлид не знает, что делает дизайнер, а когда узнаёт, редко остаётся довольным, а я выступаю в роли испорченного телефона, хотя они работают за соседними столами.
В один день я работал из дома (выздоравливал после простуды, но нельзя же компанию подводить!!), приходилось в очередной раз выяснять ТЗ и выпрашивать дизайн. В тот день у меня особенно припекло, и вместо таски я, аки Мартин Лютер в 16 веке, сел писать простыню в ноушне о том, какие есть проблемы в процессах компании и как их можно решить.
Тезисов вышло хоть и не 95, но на две страницы А4 хватило. В тот день я думал, что совершаю великое дело. Отправил своему ПМ'у и через несколько дней вышел в офис.
В тот же день я заметил, что тимлид стал каким-то особенно нервным. Когда я в очередной раз высказался насчет того, как надо создавать задачи в БИТРИКСЕ на ганте, чтобы их создание имело хотя бы формальный смысл, а не как у нас, мне было сказано, что я докапываюсь до мелочей.
А на следующий день мы с ПМом и тимлидом сели обсуждать мой трактат. Тимлид был в гневе. И я понял, что совершил роковую ошибку, не сгладив все углы в том тексте. Я оставил фразу, внимание: "и такое чувство, что это волнует только меня одного", что мне и процитировал тимлид, сказав, что такое обычно пишут перед увольнением, и будто бы у меня других задач нет, и что мне не стоит забывать, что начальники бывают разные, в том числе и "с царьком в голове", мол, мне повезло. Пока он вел свою тираду, а я молча его слушал, ПМ, видимо, стараясь меня поддержать, раза два упомянул, что он просто высказывает свое мнение.
Разумеется, из того списка во внимание ничего принято не было, и я расстроился. Но потом постепенно свыкся с ситуацией, в которой оказался, и стал относиться ко всему проще. К тому моменту я уже хорошо знал команду, тимлида и зарекомендовал себя как специалиста, поэтому я быстро научился проебываться, особенно за счёт дыр в процессах.
Желание добросовестно работать отбивали и условия труда: в офисе около трёх месяцев не было нормального интернета, потому что в какой-то момент по нему образовалась задолженность, которую мог погасить (как мы думали все три месяца) только гендир, положив деньги на некий счёт. Все это время мы пользовались то интернетом, который тимлид раздавал с телефона, то интернетом с роутера, в который вставлялась симка. Скорость такого подключения можно оценить, разделив 8 Мбит на 6 человек. Два раза мы переносили демо, причем когда заказчик уже приехал, потому что через такой канал банально не могли подтянуться зависимости: связь рвалась на одной и той же библиотеке и загрузка начиналась заново - не получалось собрать проект для выгрузки в TestFlight. Что странно, гендир пользовался этой же сетью, знал о проблеме, но ничего не делал, пока ПМ не разобрался сам, как погасить задолженность.
Другим нюансом были мухи. Они завелись летом и обитали в той части офиса, где у нас была зона совещаний, кулер и печеньки со сладостями. Закупки печенек, к слову, постепенно сократили до нуля, оставался только чай, иногда кофе. И мухи. Их не становилось меньше. Липкие ленты едва справлялись. Если с утра прибил одну муху - день задался.
Вернусь к проебыванию. Тимлид по традиции постоянно был перегружен работой. В его задачи входило и объяснять второму разрабу, которого наняли на удаленку, математические нюансы, так как он работал отдельно над модулем геометрии, и заниматься тестовыми релизами в сторы, и общаться с заказчиком, и периодически работать над другими проектами в роли фронта. Несложно понять, что на меня как самостоятельного юнита он внимания не обращал, что говорить о прописывании задач и их приемке.
Я сначала проебывался в меру, но в какой-то день мне просто стало интересно: сколько времени я смогу просидеть без задач, если не буду просить новые? Так, за следующие две недели я проработал три часа. Мне все ещё приходилось ходить в офис (гендир считал, что так работа идёт эффективнее и переговоры с ним на эту тему не дали эффекта), поэтому в свободное время я пилил свои проекты, изучал библиотеки, проходил какие-то курсы по мл, читал хабр, даже учил географию по приколу. Работа действительно шла эффективно.
Тезисов вышло хоть и не 95, но на две страницы А4 хватило. В тот день я думал, что совершаю великое дело. Отправил своему ПМ'у и через несколько дней вышел в офис.
В тот же день я заметил, что тимлид стал каким-то особенно нервным. Когда я в очередной раз высказался насчет того, как надо создавать задачи в БИТРИКСЕ на ганте, чтобы их создание имело хотя бы формальный смысл, а не как у нас, мне было сказано, что я докапываюсь до мелочей.
А на следующий день мы с ПМом и тимлидом сели обсуждать мой трактат. Тимлид был в гневе. И я понял, что совершил роковую ошибку, не сгладив все углы в том тексте. Я оставил фразу, внимание: "и такое чувство, что это волнует только меня одного", что мне и процитировал тимлид, сказав, что такое обычно пишут перед увольнением, и будто бы у меня других задач нет, и что мне не стоит забывать, что начальники бывают разные, в том числе и "с царьком в голове", мол, мне повезло. Пока он вел свою тираду, а я молча его слушал, ПМ, видимо, стараясь меня поддержать, раза два упомянул, что он просто высказывает свое мнение.
Разумеется, из того списка во внимание ничего принято не было, и я расстроился. Но потом постепенно свыкся с ситуацией, в которой оказался, и стал относиться ко всему проще. К тому моменту я уже хорошо знал команду, тимлида и зарекомендовал себя как специалиста, поэтому я быстро научился проебываться, особенно за счёт дыр в процессах.
Желание добросовестно работать отбивали и условия труда: в офисе около трёх месяцев не было нормального интернета, потому что в какой-то момент по нему образовалась задолженность, которую мог погасить (как мы думали все три месяца) только гендир, положив деньги на некий счёт. Все это время мы пользовались то интернетом, который тимлид раздавал с телефона, то интернетом с роутера, в который вставлялась симка. Скорость такого подключения можно оценить, разделив 8 Мбит на 6 человек. Два раза мы переносили демо, причем когда заказчик уже приехал, потому что через такой канал банально не могли подтянуться зависимости: связь рвалась на одной и той же библиотеке и загрузка начиналась заново - не получалось собрать проект для выгрузки в TestFlight. Что странно, гендир пользовался этой же сетью, знал о проблеме, но ничего не делал, пока ПМ не разобрался сам, как погасить задолженность.
Другим нюансом были мухи. Они завелись летом и обитали в той части офиса, где у нас была зона совещаний, кулер и печеньки со сладостями. Закупки печенек, к слову, постепенно сократили до нуля, оставался только чай, иногда кофе. И мухи. Их не становилось меньше. Липкие ленты едва справлялись. Если с утра прибил одну муху - день задался.
Вернусь к проебыванию. Тимлид по традиции постоянно был перегружен работой. В его задачи входило и объяснять второму разрабу, которого наняли на удаленку, математические нюансы, так как он работал отдельно над модулем геометрии, и заниматься тестовыми релизами в сторы, и общаться с заказчиком, и периодически работать над другими проектами в роли фронта. Несложно понять, что на меня как самостоятельного юнита он внимания не обращал, что говорить о прописывании задач и их приемке.
Я сначала проебывался в меру, но в какой-то день мне просто стало интересно: сколько времени я смогу просидеть без задач, если не буду просить новые? Так, за следующие две недели я проработал три часа. Мне все ещё приходилось ходить в офис (гендир считал, что так работа идёт эффективнее и переговоры с ним на эту тему не дали эффекта), поэтому в свободное время я пилил свои проекты, изучал библиотеки, проходил какие-то курсы по мл, читал хабр, даже учил географию по приколу. Работа действительно шла эффективно.
Лафа длилась недолго: перед релизом по инициативе гендира срочно понадобилось сначала сделать главный экран со всеми возможными аналитиками (приложение для монтажников постепенно превращалось в CRM) , который я верстал по авторскому макету от тимлида, сделанному в Ворде, а затем сделать редизайн всего приложения и периодически вносить правки от заказчика, которые периодически появлялись в БИТРИКСЕ чеклистами по 10-20 пунктов с интгирующими названиями "Исправление недочётов", "Исправление недочётов 2" и "Исправление недочётов 3". Гендир один раз даже намекнул на то, что если надо будет, то придется "сжать булки" и поработать в выходные, и этот намек, конечно, не оценил никто. Ситуация приправлялась все большими задержками зарплат.
Через пару недель работы в таком ускоренно-расслабленном темпе (я все равно умудрялся опережать намеченные сроки в 2-3 раза за счёт копайлота и похуизма) я сказал, что увольняюсь. К тому моменту я уже накопил значительную подушку и решил проблемы, которые вынуждали меня иметь постоянный доход. Да и к моменту увольнения как раз набрался бы честный год опыта. Гендир меня, конечно, заверил, что, мол, релизнемся и дела пойдут в гору (спойлер: не пошли), но уговаривать не стал. От разговоров о ЗП, сколько надо отработать (я работал по ГПХ) и тому подобных вопросов уклонялся и отсылал к тимлиду, который сам понятия не имел, ведь это и не его компетенции.
С тимлидом договорились на то, что я исправляю "недочёты" и делаю последнюю фичу на удалёнке. Фича эта напоминала финальную миссию, где битва с боссом. Если коротко, то в текущий функционал надо было впихнуть невпихуемое. Сделать изменяемым то, что изменяться не должно было никогда.
К счастью, к тому моменту я уже был искусным похуистом и костылил без зазрения совести, ведь по-хорошему там надо было переписывать четверть приложения. За тот день, что ещё был в офисе, выбил себе максимально подробное ТЗ и озадачил дизайнера, ведь уточнять задачу на удаленке через БИТРИКС, на который у нас уже кончалась подписка и доступен был только текстовый чат, было бы адским адом. Получил ТЗ в вордовском документе через AirDrop. За три дня покончил с босс-фичой, попутно отбиваясь костылями от все новых правок тимлида, который в те неспокойные дни отбивался на демо от заказчика.
Был поздравлен тимлидом с последним днём службы в компании (буквально) и пошел ждать ЗП, которую задерживали уже на 12 дней, и не только мне.
Ожидание затягивалось, гендир кормил завтраками, а я ему верил, потому что считал его человеком порядочным, как и все в компании. Держались на связи с коллегами. Так вскоре узнал, что второй разработчик тоже уволился, и оказался в такой же ситуации.
Через месяц я нашел в ОМ юриста по трудовым вопросам и обратился к нему. Юрист готовила меня к худшему сценарию (суды, трудовая инспекция и т. д.), но удалось договориться телефонным звонком, даже до угроз не успел дойти. Деньги пришли через четыре дня. Гендир и правда оказался порядочным, просто пришлось эту порядочность немного простимулировать. Юрист насчитала больше, чем я рассчитывал получить, и даже с учётом ее услуг я вышел в плюс, а мог бы затерпеть и неизвестно сколько ждать свои 110 (125) к.
Такая вот история.
Сообщество для входа и роста в IT
Через пару недель работы в таком ускоренно-расслабленном темпе (я все равно умудрялся опережать намеченные сроки в 2-3 раза за счёт копайлота и похуизма) я сказал, что увольняюсь. К тому моменту я уже накопил значительную подушку и решил проблемы, которые вынуждали меня иметь постоянный доход. Да и к моменту увольнения как раз набрался бы честный год опыта. Гендир меня, конечно, заверил, что, мол, релизнемся и дела пойдут в гору (спойлер: не пошли), но уговаривать не стал. От разговоров о ЗП, сколько надо отработать (я работал по ГПХ) и тому подобных вопросов уклонялся и отсылал к тимлиду, который сам понятия не имел, ведь это и не его компетенции.
С тимлидом договорились на то, что я исправляю "недочёты" и делаю последнюю фичу на удалёнке. Фича эта напоминала финальную миссию, где битва с боссом. Если коротко, то в текущий функционал надо было впихнуть невпихуемое. Сделать изменяемым то, что изменяться не должно было никогда.
К счастью, к тому моменту я уже был искусным похуистом и костылил без зазрения совести, ведь по-хорошему там надо было переписывать четверть приложения. За тот день, что ещё был в офисе, выбил себе максимально подробное ТЗ и озадачил дизайнера, ведь уточнять задачу на удаленке через БИТРИКС, на который у нас уже кончалась подписка и доступен был только текстовый чат, было бы адским адом. Получил ТЗ в вордовском документе через AirDrop. За три дня покончил с босс-фичой, попутно отбиваясь костылями от все новых правок тимлида, который в те неспокойные дни отбивался на демо от заказчика.
Был поздравлен тимлидом с последним днём службы в компании (буквально) и пошел ждать ЗП, которую задерживали уже на 12 дней, и не только мне.
Ожидание затягивалось, гендир кормил завтраками, а я ему верил, потому что считал его человеком порядочным, как и все в компании. Держались на связи с коллегами. Так вскоре узнал, что второй разработчик тоже уволился, и оказался в такой же ситуации.
Через месяц я нашел в ОМ юриста по трудовым вопросам и обратился к нему. Юрист готовила меня к худшему сценарию (суды, трудовая инспекция и т. д.), но удалось договориться телефонным звонком, даже до угроз не успел дойти. Деньги пришли через четыре дня. Гендир и правда оказался порядочным, просто пришлось эту порядочность немного простимулировать. Юрист насчитала больше, чем я рассчитывал получить, и даже с учётом ее услуг я вышел в плюс, а мог бы затерпеть и неизвестно сколько ждать свои 110 (125) к.
Такая вот история.
Сообщество для входа и роста в IT
Forwarded from Осознанная Меркантильность | Антон Назаров
Покупаю записи собесов!
Записи будут доступны только участникам сообщества ОМ, в открытый доступ не выкладываем.
Оплата на выбор:
- Аудитория: Под видео оставляй ссылки на свои соц сети, блоги, консультации
- Деньгами: 5k / 50usdt
Монтаж за наш счет — заблюрим тебя, твои персональные данные, оставив только интервьювера. Записи собеседований и любые вопросы сюда @m0rtymerr_support. Структура сообщения такая:
#ом_собес
- <компания>
- <стэк>
- <вилка>
- <какой дали фидбек — оффер/отказ>
- <файл записи>
Важно:
- Мы сначала смотрим, потом принимаем решение. Без оплаты собес выложен не будет. Если вы не доверяете, можете скинуть с вотермаркой
- Только аудио нас не интересует
- Качество звука и картинки важно
- Не интересуют этапы, если у вас 3 этапа собеседования — Это 1 собес. Не нужно пытаться продать нам 3 этапа, как 3 отдельных собеседования.
- Собесы записанные ранее 1 октября не интересуют
- Нужны будут пруфы переписки с HR/оффер/отказ.
Как записать собеседование
Автоматического NDA о собеседованиях не существует. Если вы ничего не подписывали перед собеседованием — все законно.
Если у тебя есть доступ к банку вопросов на интервью твоей компании тоже пиши, обсудим отдельно
Записи будут доступны только участникам сообщества ОМ, в открытый доступ не выкладываем.
Оплата на выбор:
- Аудитория: Под видео оставляй ссылки на свои соц сети, блоги, консультации
- Деньгами: 5k / 50usdt
Монтаж за наш счет — заблюрим тебя, твои персональные данные, оставив только интервьювера. Записи собеседований и любые вопросы сюда @m0rtymerr_support. Структура сообщения такая:
#ом_собес
- <компания>
- <стэк>
- <вилка>
- <какой дали фидбек — оффер/отказ>
- <файл записи>
Важно:
- Мы сначала смотрим, потом принимаем решение. Без оплаты собес выложен не будет. Если вы не доверяете, можете скинуть с вотермаркой
- Только аудио нас не интересует
- Качество звука и картинки важно
- Не интересуют этапы, если у вас 3 этапа собеседования — Это 1 собес. Не нужно пытаться продать нам 3 этапа, как 3 отдельных собеседования.
- Собесы записанные ранее 1 октября не интересуют
- Нужны будут пруфы переписки с HR/оффер/отказ.
Как записать собеседование
Если у тебя есть доступ к банку вопросов на интервью твоей компании тоже пиши, обсудим отдельно
Конфликт с коллегой: что я понял о тактичности
(имена главных героев изменены по этическим причинам)
Мы были на финальном этапе разработки приложения. Команда под давлением сроков, все на нервах. Практически на финишной прямой я заметил баг в функционале, за который отвечал мой сотрудник Дима. Баг был неприятный, но не критический. Мы обсуждали это на общем созвоне, и я, как мне казалось, просто указал на проблему. Но Дима воспринял это как публичную критику его работы. Он резко ответил: «Если ты такой умный, исправь сам».
Теперь это уже задело меня: я, конечно, понимаю бирюзовые команды, отсутствие субординации между подчинённым и тимлидом, но сейчас это было прям слишком. В общем, на колле начался срач. Я ему: «Дело не в умности, а в том, что это важно для пользователя», он мне: «Чего ты в мой код лезешь? Своих дел мало?», я ему… Ну, вы поняли 😅 Ситуация выходила из-под контроля. Я понимал, что теперь вопрос не в баге, а в том, кто выйдет из этого конфликта победителем.
После созвона я продолжал злиться ещё и потому, что эта ситуация повлияла на настроение в команде: все как-то скисли, были явно на стороне Димы тупо из солидарности. Понятно, что я мог быть тактичнее, но какой такт, когда горят сроки, а тут этот косяк? Для чего тогда вообще эти общие созвоны, если мы не можем на них обсуждать работу, а должны искать какие-то особенные подходы к сотруднику?
В итоге я стал вспоминать все последние разговоры с Димой и поймал его состояние: он был реально на грани выгорания. В табличку (душновато, да?🙃) я внёс все плюсы и минусы его работы, и обнаружил, что плюсов значительно больше: например, он на связи и ночью, и ранним утром, быстро реагирует на правки. Он явно хотел просто дотянуть до конца проекта и выдохнуть, чтобы не подводить всю команду, а тут я со своими улучшениями.
На следующий день я решил поговорить с Димой один на один. Я не люблю извиняться, особенно в работе, потому что мне искренне кажется, что результат – самый важный критерий нашей деятельности, а эмоции вторичны. Но тут я понял, что Диме правда нужно сочувствие.
Мы сели с ним в переговорке, мимо ходили ребята из нашего отдела, всем было интересно, продолжим мы срач или нет. Дима был напряжён, не удивлюсь, если у него было готово заявление на увольнение.
Я сразу начал с извинений, объяснил, что не хотел его задеть и ценю его работу. Дима выдохнул. Мои догадки о его состоянии подтвердились, он и правда очень устал, и моё публичное замечание стало последней каплей. Да, ему нужен более мягкий подход, но и он специалист, который работает на износ. Это тоже редкость.
-
Выводы из конфликта
Этот случай научил меня нескольким вещам:
1. Тактичность важнее правоты. Даже если ты хочешь улучшить процесс, важно делать это корректно. Особенно в стрессовых условиях.
2. Эмоции лучше оставлять за дверью. Конфликт на работе — это не битва за эго, а возможность что-то улучшить. Так что даже если мой сотрудник эмоционирует, я стараюсь не вовлекаться, а дать ему время остыть.
3. Разговор решает всё. Иногда простое объяснение своей позиции, без желания доказать правоту, помогает разрулить конфликт.
С Димой мы работаем по-прежнему. Главное – я стал иначе относиться к конфликтам. Они неизбежны в работе, но рабочий спор – это не поле для самоутверждения, а возможность улучшить проект или бизнес-процесс. Поэтому мы с командой можем на планёрке или в чате поспорить, а потом вместе пойти пить кофе и не держать друг на друга личную обиду.
Рабочими инсайтами и лайфхаками по развитию iOS-программиста делюсь в своём канале Авоська с .
Сообщество для входа и роста в IT
(имена главных героев изменены по этическим причинам)
Мы были на финальном этапе разработки приложения. Команда под давлением сроков, все на нервах. Практически на финишной прямой я заметил баг в функционале, за который отвечал мой сотрудник Дима. Баг был неприятный, но не критический. Мы обсуждали это на общем созвоне, и я, как мне казалось, просто указал на проблему. Но Дима воспринял это как публичную критику его работы. Он резко ответил: «Если ты такой умный, исправь сам».
Теперь это уже задело меня: я, конечно, понимаю бирюзовые команды, отсутствие субординации между подчинённым и тимлидом, но сейчас это было прям слишком. В общем, на колле начался срач. Я ему: «Дело не в умности, а в том, что это важно для пользователя», он мне: «Чего ты в мой код лезешь? Своих дел мало?», я ему… Ну, вы поняли 😅 Ситуация выходила из-под контроля. Я понимал, что теперь вопрос не в баге, а в том, кто выйдет из этого конфликта победителем.
После созвона я продолжал злиться ещё и потому, что эта ситуация повлияла на настроение в команде: все как-то скисли, были явно на стороне Димы тупо из солидарности. Понятно, что я мог быть тактичнее, но какой такт, когда горят сроки, а тут этот косяк? Для чего тогда вообще эти общие созвоны, если мы не можем на них обсуждать работу, а должны искать какие-то особенные подходы к сотруднику?
В итоге я стал вспоминать все последние разговоры с Димой и поймал его состояние: он был реально на грани выгорания. В табличку (душновато, да?🙃) я внёс все плюсы и минусы его работы, и обнаружил, что плюсов значительно больше: например, он на связи и ночью, и ранним утром, быстро реагирует на правки. Он явно хотел просто дотянуть до конца проекта и выдохнуть, чтобы не подводить всю команду, а тут я со своими улучшениями.
На следующий день я решил поговорить с Димой один на один. Я не люблю извиняться, особенно в работе, потому что мне искренне кажется, что результат – самый важный критерий нашей деятельности, а эмоции вторичны. Но тут я понял, что Диме правда нужно сочувствие.
Мы сели с ним в переговорке, мимо ходили ребята из нашего отдела, всем было интересно, продолжим мы срач или нет. Дима был напряжён, не удивлюсь, если у него было готово заявление на увольнение.
Я сразу начал с извинений, объяснил, что не хотел его задеть и ценю его работу. Дима выдохнул. Мои догадки о его состоянии подтвердились, он и правда очень устал, и моё публичное замечание стало последней каплей. Да, ему нужен более мягкий подход, но и он специалист, который работает на износ. Это тоже редкость.
-
Выводы из конфликта
Этот случай научил меня нескольким вещам:
1. Тактичность важнее правоты. Даже если ты хочешь улучшить процесс, важно делать это корректно. Особенно в стрессовых условиях.
2. Эмоции лучше оставлять за дверью. Конфликт на работе — это не битва за эго, а возможность что-то улучшить. Так что даже если мой сотрудник эмоционирует, я стараюсь не вовлекаться, а дать ему время остыть.
3. Разговор решает всё. Иногда простое объяснение своей позиции, без желания доказать правоту, помогает разрулить конфликт.
С Димой мы работаем по-прежнему. Главное – я стал иначе относиться к конфликтам. Они неизбежны в работе, но рабочий спор – это не поле для самоутверждения, а возможность улучшить проект или бизнес-процесс. Поэтому мы с командой можем на планёрке или в чате поспорить, а потом вместе пойти пить кофе и не держать друг на друга личную обиду.
Рабочими инсайтами и лайфхаками по развитию iOS-программиста делюсь в своём канале Авоська с .
Сообщество для входа и роста в IT
Как тебе могут сесть на шею, а потом еще сказать, что ты медленно ходишь.
Расскажу свою историю, которая приключилась со мной в одном зеленом банке.
Хочется сразу оставить ремарку, на данный момент я точно знаю, как этого можно было избежать, да и выйти победителем, но "после драки кулаками не машут".
Было это дело, наверное, около 2х лет назад. Работал я в рекламном проекте, проблемы были давно, но с ними можно было жить.
В вертикали QA начал происходить откровенный бардак(да и до этого в целом он тоже был) и понимание того, кто и чем должен был заниматься было весьма сомнительным.
Меня попросили помочь в тестировании довольно здоровенной фичи, а мне была нужна хорошая оценка в квартале, поэтому я решил помочь.
Что странно, команда QA, которая должна была этим заниматься была небольшой, а именно 3 человека вместе со мной(этого точно было мало).
Разными схемами вышло так, что по итогу все это тестировал я один, потому что у других "сейчас есть важные задачи".
Чтобы понимать контекст расскажу очень образно флоу тестирования. Нужно было составлять конфиг в виде json файла, прокидывать его на устройство и смотреть поведение системы. Дело не хитрое, но зная объем, довольно долгое.
Потратив недели на "помощь", я ушел на свой проект заниматься тем, чем должен был по обязанностям.
В один прекрасный день ко мне приходят 2 эти товарища и просят рассказать, как это тестировать, а я человек добрый, собираю всех на встречу, где рассказываю главные принципы.
В общем то, кажется, что к кульминации я вас подвел.
Это был последний квартал, а это значит, что у всех горела жопа на тему KPI(в том числе и у меня). В какой то момент меня тегают в треде и говорят, что не понимают как тестировать и вообще почему этим не занимаюсь я???
Сказать, что я был в шоке это ничего не сказать. Тут то я совершил ошибку.
Один их этих ребят сказал: "А можете стоит просто показать, как это должно работать?"
На что я ответил: "А может не стоит учить меня работать?"
Казалось бы, фраза никак не задевает чьи то чувства, но соглашусь, она довольно токсичная.
Выброшена она была по причине того, что я и без этого был довольно уставшим, выгоревшим и раздраженным, а тут еще такое.
По итогу на ревью мне говорят, что я не уважаю коллег, оскорбляю их и не помогаю людям с меньшим уровнем компетенций. В свою защиту могу сказать, что все было разжевано, как детям и токсичность была допущена в вышеупомянутой фразе.
За это мне режут оценку в квартале(хотя критерия такого нет).
Это было последней каплей, после чего я сказал на ревью свое мнение и уволился(ну после премии конечно годовой).
Насколько я знаю этот паренек сейчас, что то типо лида, что вызывает у меня смех, потому что я всегда знал, что в этом большом подразделении банка все стоит ну не совсем на твоих компетенциях в плане командном и техническом, а скорее на гибкости твоего языка(ну вы поняли)
Какая мораль?
Редфлаги можно увидеть в компании сильно заранее и вероятность того, что этим флагом тебя отпинают - высока. В бигтехе желание работать отпало, но опять же, конкретно этот кейс можно было избежать, а я тогда в софтах был не то чтобы опытным.
Набравшись опыта, у себя в тг стараюсь делать уклон на софт скиллы, потому что штука это довольно важная. Приходи, услышимся - Паша и его QA WAY
Сообщество для входа и роста в IT
Расскажу свою историю, которая приключилась со мной в одном зеленом банке.
Хочется сразу оставить ремарку, на данный момент я точно знаю, как этого можно было избежать, да и выйти победителем, но "после драки кулаками не машут".
Было это дело, наверное, около 2х лет назад. Работал я в рекламном проекте, проблемы были давно, но с ними можно было жить.
В вертикали QA начал происходить откровенный бардак(да и до этого в целом он тоже был) и понимание того, кто и чем должен был заниматься было весьма сомнительным.
Меня попросили помочь в тестировании довольно здоровенной фичи, а мне была нужна хорошая оценка в квартале, поэтому я решил помочь.
Что странно, команда QA, которая должна была этим заниматься была небольшой, а именно 3 человека вместе со мной(этого точно было мало).
Разными схемами вышло так, что по итогу все это тестировал я один, потому что у других "сейчас есть важные задачи".
Чтобы понимать контекст расскажу очень образно флоу тестирования. Нужно было составлять конфиг в виде json файла, прокидывать его на устройство и смотреть поведение системы. Дело не хитрое, но зная объем, довольно долгое.
Потратив недели на "помощь", я ушел на свой проект заниматься тем, чем должен был по обязанностям.
В один прекрасный день ко мне приходят 2 эти товарища и просят рассказать, как это тестировать, а я человек добрый, собираю всех на встречу, где рассказываю главные принципы.
В общем то, кажется, что к кульминации я вас подвел.
Это был последний квартал, а это значит, что у всех горела жопа на тему KPI(в том числе и у меня). В какой то момент меня тегают в треде и говорят, что не понимают как тестировать и вообще почему этим не занимаюсь я???
Сказать, что я был в шоке это ничего не сказать. Тут то я совершил ошибку.
Один их этих ребят сказал: "А можете стоит просто показать, как это должно работать?"
На что я ответил: "А может не стоит учить меня работать?"
Казалось бы, фраза никак не задевает чьи то чувства, но соглашусь, она довольно токсичная.
Выброшена она была по причине того, что я и без этого был довольно уставшим, выгоревшим и раздраженным, а тут еще такое.
По итогу на ревью мне говорят, что я не уважаю коллег, оскорбляю их и не помогаю людям с меньшим уровнем компетенций. В свою защиту могу сказать, что все было разжевано, как детям и токсичность была допущена в вышеупомянутой фразе.
За это мне режут оценку в квартале(хотя критерия такого нет).
Это было последней каплей, после чего я сказал на ревью свое мнение и уволился(ну после премии конечно годовой).
Насколько я знаю этот паренек сейчас, что то типо лида, что вызывает у меня смех, потому что я всегда знал, что в этом большом подразделении банка все стоит ну не совсем на твоих компетенциях в плане командном и техническом, а скорее на гибкости твоего языка(ну вы поняли)
Какая мораль?
Редфлаги можно увидеть в компании сильно заранее и вероятность того, что этим флагом тебя отпинают - высока. В бигтехе желание работать отпало, но опять же, конкретно этот кейс можно было избежать, а я тогда в софтах был не то чтобы опытным.
Набравшись опыта, у себя в тг стараюсь делать уклон на софт скиллы, потому что штука это довольно важная. Приходи, услышимся - Паша и его QA WAY
Сообщество для входа и роста в IT
Типичный день бэкендера
Привет! Я - senior Go разработчик в одной из сберовских компаний. Сейчас подробно опишу типичный мой рабочий день:
*Утро*
1. 9:30–10:00 – Начало дня
• Проверка почты, уведомлений в мессенджерах и Джире.
• Быстрый просмотр вчерашнего прогресса команды (Merge Request'ы, новые баги, комментарии).
• Планирование задач на день: определение приоритетов, подготовка к митингам.
2. 10:00–10:30 – Дейли
• Ежедневная синхронизация с командой.
• Краткий отчет о том, что сделано, что планируется, какие есть блокеры.
• Прослушивание статусов коллег, чтобы при необходимости предложить помощь.
3. 10:30–11:00 – Работа с кодом
• Продолжение работы над задачей из спринта.
• Решение сложных архитектурных вопросов (например, проектирование нового сервиса для обработки большого объема транзакций).
• Общение с другими разработчиками и техлидом, если требуется уточнение по интеграции или взаимодействию модулей.
*День*
4. 11:00–11:40 – Code Review
• Просмотр МР'ов(merge request’ов) коллег.
• Обсуждение предложений по улучшению кода, архитектуры или производительности.
• Взаимодействие с ментором (если он есть) или консультация с junior-разработчиками.
5. 11:40–13:00 – Глубокая работа
• Активное программирование. Например:
• Разработка новой фичи (например, написание новой grpc-ручки в мобильном шлюзе с использованием кэша).
• Оптимизация производительности запросов к базе данных.
• Внедрение новых метрик в систему мониторинга.
6. 13:00–14:00 – Обед
• Время для отдыха, общения с коллегами в неформальной обстановке, обсуждения интересных технических новостей.
7. 14:00–15:00 – Груминг (в определенные дни спринта)
• Участие в обсуждении бэклога.
• Оценка задач с использованием сторипоинтов.
• Уточнение требований по доке из конфлюенса у системных и бизнес аналитиков.
• Деление больших задач на подзадачи.
*Вторая половина дня*
8. 15:00–16:30 – Продолжение разработки
• Доработка текущей фичи или задачи.
• Написание тестов (юнит-тесты, интеграционные тесты).
• Подготовка МР'ов для проверки.
9. 15:30–16:00 – Встречи 1:1
• 1:1 с тимлидом (раз в спринт):
• Обсуждаем личный прогресс.
• Уточненяем приоритеты в разработке(просмотр MR’ов либо же глубокое прогружение в текущую задачу).
• Получение обратной связи и обсуждение профессионального развития.
• 1:1 с Продактом (раз в месяц):
• Выяснение стратегических целей команды.
• Обсуждаем предложения по улучшению продукта.
10. 17:00–18:00 – Подготовка к следующему дню
• Финальная проверка прогресса.
• Обновление статусов задач в Jira.
• Резерв времени для исправления критических багов.
• Подготовка к вечернему релизу(если он планируется)
*Вечер*
11. 18:00–18:30 – Завершение дня
• Закрытие тасок в джире, если они завершены.
• Проверка расписания на следующий день.
*Особые дни*
• Ретроспектива (в конце спринта):
• Анализ того, что сработало хорошо и что нужно улучшить.
• Обсуждение изменений в процессах или инструментах.
• Начало нового спринта:
• Планирование задач на предстоящий спринт - Раскидывание задач по разработчикам/аналитикам.
Кстати, я консультирую по Go разработке и помогаю получить высокий(от миддла) грейд. Пиши, буду рад - @EdikMarch
Сообщество для входа и роста в IT
Привет! Я - senior Go разработчик в одной из сберовских компаний. Сейчас подробно опишу типичный мой рабочий день:
*Утро*
1. 9:30–10:00 – Начало дня
• Проверка почты, уведомлений в мессенджерах и Джире.
• Быстрый просмотр вчерашнего прогресса команды (Merge Request'ы, новые баги, комментарии).
• Планирование задач на день: определение приоритетов, подготовка к митингам.
2. 10:00–10:30 – Дейли
• Ежедневная синхронизация с командой.
• Краткий отчет о том, что сделано, что планируется, какие есть блокеры.
• Прослушивание статусов коллег, чтобы при необходимости предложить помощь.
3. 10:30–11:00 – Работа с кодом
• Продолжение работы над задачей из спринта.
• Решение сложных архитектурных вопросов (например, проектирование нового сервиса для обработки большого объема транзакций).
• Общение с другими разработчиками и техлидом, если требуется уточнение по интеграции или взаимодействию модулей.
*День*
4. 11:00–11:40 – Code Review
• Просмотр МР'ов(merge request’ов) коллег.
• Обсуждение предложений по улучшению кода, архитектуры или производительности.
• Взаимодействие с ментором (если он есть) или консультация с junior-разработчиками.
5. 11:40–13:00 – Глубокая работа
• Активное программирование. Например:
• Разработка новой фичи (например, написание новой grpc-ручки в мобильном шлюзе с использованием кэша).
• Оптимизация производительности запросов к базе данных.
• Внедрение новых метрик в систему мониторинга.
6. 13:00–14:00 – Обед
• Время для отдыха, общения с коллегами в неформальной обстановке, обсуждения интересных технических новостей.
7. 14:00–15:00 – Груминг (в определенные дни спринта)
• Участие в обсуждении бэклога.
• Оценка задач с использованием сторипоинтов.
• Уточнение требований по доке из конфлюенса у системных и бизнес аналитиков.
• Деление больших задач на подзадачи.
*Вторая половина дня*
8. 15:00–16:30 – Продолжение разработки
• Доработка текущей фичи или задачи.
• Написание тестов (юнит-тесты, интеграционные тесты).
• Подготовка МР'ов для проверки.
9. 15:30–16:00 – Встречи 1:1
• 1:1 с тимлидом (раз в спринт):
• Обсуждаем личный прогресс.
• Уточненяем приоритеты в разработке(просмотр MR’ов либо же глубокое прогружение в текущую задачу).
• Получение обратной связи и обсуждение профессионального развития.
• 1:1 с Продактом (раз в месяц):
• Выяснение стратегических целей команды.
• Обсуждаем предложения по улучшению продукта.
10. 17:00–18:00 – Подготовка к следующему дню
• Финальная проверка прогресса.
• Обновление статусов задач в Jira.
• Резерв времени для исправления критических багов.
• Подготовка к вечернему релизу(если он планируется)
*Вечер*
11. 18:00–18:30 – Завершение дня
• Закрытие тасок в джире, если они завершены.
• Проверка расписания на следующий день.
*Особые дни*
• Ретроспектива (в конце спринта):
• Анализ того, что сработало хорошо и что нужно улучшить.
• Обсуждение изменений в процессах или инструментах.
• Начало нового спринта:
• Планирование задач на предстоящий спринт - Раскидывание задач по разработчикам/аналитикам.
Кстати, я консультирую по Go разработке и помогаю получить высокий(от миддла) грейд. Пиши, буду рад - @EdikMarch
Сообщество для входа и роста в IT
(1/2)
Всем привет, меня зовут Игорь и я аналитик DWH. Нечасто тут пишут аналитики, думаю многим будет интересно.
Итак: один день из работы Аналитика DWH. И многие уже на этом этапе зададутся вопросом, что за это за аналитик такой? вот их развелось..) На самом аналитик DWH это просто более узкая специализация такой обширной роли как - Аналитик данных (Data analyst, сокращённо DA)
Чем он отличается от аналитика общего профиля? - Тем что работает в команде хранилища данных, развивает его, дорабатывает. Команда состоит из разработчиков (у нас это дата-инженеры (Data engineer, DE) аналитиков, и тимлида. Задачи поступают от бизнеса в виде запросов: мы хотим автоматизировать вот этот ручной отчёт, или хотим что бы у нас в автоматическом режиме считалась рентабельность. Аналитику берет такой запрос в работу, идёт к бизнесу и уточняет все требования: что вы хотите считать, на каких данных, какие сценарии использования отчета, в каких разрезах вы хотите смотреть данные, уточняет и вместе с бизнесом формулирует алгоритм расчета: 1) какие берем данные 2) какие фильтры накладываем 3) какие поля выводим в итоговом отчете, как они формируются, как считаем выручку, прибыль, затраты рентабельность, что делаем с отменами чеков, возвратами и прочим. После сбора требований аналитик приступает к анализу источников, изучает то как хранятся данные как они обновляются, анализирует полноту данных и их качество. На следующем шаге аналитик готовит описание данных, так называемые S2T - Source To Target mapping, подготавливает модель данных в соответствии с требованиями и принятыми стандартами на хранилище, в модели описываются таблицы-сущности, их связи. Готовую модель обычно согласовывает архитектор данных, либо при его отсутствии тимлид или старший аналитик. После согласования задача по загрузке данных передается разработчикам, а аналитик приступает к следующему этапу, готов прототип SQL запросов которые будут формировать итоговый датасет (витрину данных). После написания SQL-прототипа, аналитик сам либо вместе с бизнесом тестирует результаты, данные смотрятся по всякому, рассматриваются краевые случаи, какие то особенные кейсы, после всех доработок и исправлении аналитик передает разработчику готовый SQL скрипт, который необходимо будет оптимизировать, и настроить регулярную загрузку в инструменте ETL. После вывода данных на прод, аналитик отдает бизнесу данные в итоговое тестирования, если все хорошо то можем считать задачу выполненной, вот и все! Это очень общее описание, на разных этапах могут быть разные доп работы, и прочее.
Ну так вот вернемся к мне. 30 лет, образование не IT, работал водителем автомобиля 3 класса🙂. Опыт работы в IT 2 года, на старте работал в конслалтинге, на различных проектах связанных с данными, через пол года работы попал на проект DWH, с тех пор работаю на таких проектах. из последних рабочих мест это X5 retail, Unilever, Райфайзенбанк, Алроса. На данный момент работаю в компании разрабатывающей ПО на различные рынки, в том числе западные. Рост зп за два года: 70к -> 190к -> 270к -> 460к на руки на последнем месте без учета премий, работа по ТК РФ.
🕗 09:00 Проснулся должен был приступить к работе, но после нового года сложно войти в рабочий ритм, поэтому принимаю волевое решение спать ещё где нибудь до 11:00
🕗 11:00 Просыпаюсь второй раз, проверяю что там в рабочих чатах- тишина. Иду пить кофе и завтракать. Ранее у меня на всех проектах были Дейли звонки по утрам, на этой работе такого нет, нет вообще никаких обязательных созвонов, все кто узнают об этом очень удивляются, а говорят аналитики только на звонках сидят)
Сообщество для входа и роста в IT
Всем привет, меня зовут Игорь и я аналитик DWH. Нечасто тут пишут аналитики, думаю многим будет интересно.
Итак: один день из работы Аналитика DWH. И многие уже на этом этапе зададутся вопросом, что за это за аналитик такой? вот их развелось..) На самом аналитик DWH это просто более узкая специализация такой обширной роли как - Аналитик данных (Data analyst, сокращённо DA)
Чем он отличается от аналитика общего профиля? - Тем что работает в команде хранилища данных, развивает его, дорабатывает. Команда состоит из разработчиков (у нас это дата-инженеры (Data engineer, DE) аналитиков, и тимлида. Задачи поступают от бизнеса в виде запросов: мы хотим автоматизировать вот этот ручной отчёт, или хотим что бы у нас в автоматическом режиме считалась рентабельность. Аналитику берет такой запрос в работу, идёт к бизнесу и уточняет все требования: что вы хотите считать, на каких данных, какие сценарии использования отчета, в каких разрезах вы хотите смотреть данные, уточняет и вместе с бизнесом формулирует алгоритм расчета: 1) какие берем данные 2) какие фильтры накладываем 3) какие поля выводим в итоговом отчете, как они формируются, как считаем выручку, прибыль, затраты рентабельность, что делаем с отменами чеков, возвратами и прочим. После сбора требований аналитик приступает к анализу источников, изучает то как хранятся данные как они обновляются, анализирует полноту данных и их качество. На следующем шаге аналитик готовит описание данных, так называемые S2T - Source To Target mapping, подготавливает модель данных в соответствии с требованиями и принятыми стандартами на хранилище, в модели описываются таблицы-сущности, их связи. Готовую модель обычно согласовывает архитектор данных, либо при его отсутствии тимлид или старший аналитик. После согласования задача по загрузке данных передается разработчикам, а аналитик приступает к следующему этапу, готов прототип SQL запросов которые будут формировать итоговый датасет (витрину данных). После написания SQL-прототипа, аналитик сам либо вместе с бизнесом тестирует результаты, данные смотрятся по всякому, рассматриваются краевые случаи, какие то особенные кейсы, после всех доработок и исправлении аналитик передает разработчику готовый SQL скрипт, который необходимо будет оптимизировать, и настроить регулярную загрузку в инструменте ETL. После вывода данных на прод, аналитик отдает бизнесу данные в итоговое тестирования, если все хорошо то можем считать задачу выполненной, вот и все! Это очень общее описание, на разных этапах могут быть разные доп работы, и прочее.
Ну так вот вернемся к мне. 30 лет, образование не IT, работал водителем автомобиля 3 класса🙂. Опыт работы в IT 2 года, на старте работал в конслалтинге, на различных проектах связанных с данными, через пол года работы попал на проект DWH, с тех пор работаю на таких проектах. из последних рабочих мест это X5 retail, Unilever, Райфайзенбанк, Алроса. На данный момент работаю в компании разрабатывающей ПО на различные рынки, в том числе западные. Рост зп за два года: 70к -> 190к -> 270к -> 460к на руки на последнем месте без учета премий, работа по ТК РФ.
🕗 09:00 Проснулся должен был приступить к работе, но после нового года сложно войти в рабочий ритм, поэтому принимаю волевое решение спать ещё где нибудь до 11:00
🕗 11:00 Просыпаюсь второй раз, проверяю что там в рабочих чатах- тишина. Иду пить кофе и завтракать. Ранее у меня на всех проектах были Дейли звонки по утрам, на этой работе такого нет, нет вообще никаких обязательных созвонов, все кто узнают об этом очень удивляются, а говорят аналитики только на звонках сидят)
Сообщество для входа и роста в IT
(2/2)
🕗12:00 Открываю джиру смотрю что я там оставлял перед новым годом. Пара задач есть, вспоминаю что большую часть аналитики по этим задачам сделал ещё до н.г, специально оставил их в запасе что бы после нового года спокойно их посмотреть ещё раз и отдать в работу. В общем смотрю что там вообще нужно было сделать, какое я ТЗ подготовил для разрабов, все ли адекватно. Вроде все ок, но чё то не очень хочется как то отдавать задачу в работу в первый рабочий день года. Отдам завтра или уже на следующей неделе.
🕗14:00 Поотвечал бизнесу на вопросы которые задавали перед Н.Г, ну вроде все, новых задач тоже как то брать щас не хочется.
🕗15:00 Созвон с учеником. Заниматься обучением и менторством стал примерно год назад, сначала отработал на родственниках, потом решил попробовать помогать ребят с устройством за плату. Вообще самая главная мотивация была как раз в том что бы помогать людям освоить необходимый минимум навыков что бы начать работать прямо сейчас. Я проходил собесы и видел просто дикий спрос на аналитиков, что собственно и позвонило мне устроится на 460к, и это даже не потолок ЗП! При том что из хард скилов по сути один только SQL! Кстати какие у нас там щас самые прибыльные языки программирования? Go, Swift или старая добрая Java? в общем SQL может с ними посоревноваться 😂 С оговоркой на то что это вообще не язык программирования)
🕗16:30 Созвон закончил, закрываю ноутбук, с телефона если что мониторю джиру, рабочий мессенджер.
Ну вот и все! Вот такой после новогодний рабочий день, в этой части я познакомил вас с моей специальностью. В следующей части я расскажу что я делал для того что бы расти по зарплате, сколько я прошел собеседований, сколько секций я прошел в Яндекс и на какую сумму я получил оффер, а также будет больше рабочих задач! До встречи в следующем выпуске)
Если тебя интересуют данные, и хотел бы работать аналитиком пиши https://t.me/entityid
Сообщество для входа и роста в IT
🕗12:00 Открываю джиру смотрю что я там оставлял перед новым годом. Пара задач есть, вспоминаю что большую часть аналитики по этим задачам сделал ещё до н.г, специально оставил их в запасе что бы после нового года спокойно их посмотреть ещё раз и отдать в работу. В общем смотрю что там вообще нужно было сделать, какое я ТЗ подготовил для разрабов, все ли адекватно. Вроде все ок, но чё то не очень хочется как то отдавать задачу в работу в первый рабочий день года. Отдам завтра или уже на следующей неделе.
🕗14:00 Поотвечал бизнесу на вопросы которые задавали перед Н.Г, ну вроде все, новых задач тоже как то брать щас не хочется.
🕗15:00 Созвон с учеником. Заниматься обучением и менторством стал примерно год назад, сначала отработал на родственниках, потом решил попробовать помогать ребят с устройством за плату. Вообще самая главная мотивация была как раз в том что бы помогать людям освоить необходимый минимум навыков что бы начать работать прямо сейчас. Я проходил собесы и видел просто дикий спрос на аналитиков, что собственно и позвонило мне устроится на 460к, и это даже не потолок ЗП! При том что из хард скилов по сути один только SQL! Кстати какие у нас там щас самые прибыльные языки программирования? Go, Swift или старая добрая Java? в общем SQL может с ними посоревноваться 😂 С оговоркой на то что это вообще не язык программирования)
🕗16:30 Созвон закончил, закрываю ноутбук, с телефона если что мониторю джиру, рабочий мессенджер.
Ну вот и все! Вот такой после новогодний рабочий день, в этой части я познакомил вас с моей специальностью. В следующей части я расскажу что я делал для того что бы расти по зарплате, сколько я прошел собеседований, сколько секций я прошел в Яндекс и на какую сумму я получил оффер, а также будет больше рабочих задач! До встречи в следующем выпуске)
Если тебя интересуют данные, и хотел бы работать аналитиком пиши https://t.me/entityid
Сообщество для входа и роста в IT
Forwarded from Осознанная Меркантильность | Антон Назаров
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Осознанная Меркантильность | Антон Назаров
Ультимативный гайд по прохождению собеседований в IT
В нем ты узнаешь, как максимально приблизить конверсию из отклика в оффер к 100%. Мы с Александром Ильиным без лицемерного корпоративного булщита объяснили устройство текущего рынка. И по полочкам разложили, где и как срезать углы, чтобы быстрее получить работу мечты
https://youtu.be/tzSdiYZ52kI
Даже если вы уже получали оффер в IT, вам необходимо посмотреть этот стрим. И возвращаться к нему каждый раз перед выходом на рынок. 3-часовой гайд сэкономит вам недели времени и увеличит предлагаемую компенсацию.
Если ты не получишь хотя бы 3 полезных советов, мы вернем деньги.
В нем ты узнаешь, как максимально приблизить конверсию из отклика в оффер к 100%. Мы с Александром Ильиным без лицемерного корпоративного булщита объяснили устройство текущего рынка. И по полочкам разложили, где и как срезать углы, чтобы быстрее получить работу мечты
https://youtu.be/tzSdiYZ52kI
Даже если вы уже получали оффер в IT, вам необходимо посмотреть этот стрим. И возвращаться к нему каждый раз перед выходом на рынок. 3-часовой гайд сэкономит вам недели времени и увеличит предлагаемую компенсацию.
Если ты не получишь хотя бы 3 полезных советов, мы вернем деньги.
YouTube
Как пройти собеседование на программиста | «Ультимативный гайд» с @om_nazarov
«IT менторы» вкатывают в IT, а также увеличивают доход для уже работающих специалистов. Менторы берут постоплату из вашей зарплаты на новом месте. На платформе «IT менторы» более 300 менторов по любому языку программирования и направлению в IT.
Ищи менторов…
Ищи менторов…
Привет, я Женя, мне 19 лет, в айти я с 2022 года. Хочу рассказать как проходит мой день фронтенд-разработчика
Зарплата - 550к оклады + 40к премии (270к в бигтехе + 320к в банке)
Коммерческий опыт - 1.5 года. Начинал с фриланса в 16 лет и зарабатывал 30к в месяц, потом сам учил фронт, а как исполнилось 18 сразу нашел официальную работу
Учусь - нигде, никуда не поступал после 11 класса
Как проходит мой день с двумя работами:
9:00 - 9:10 - встаю
9:10 - 9:30 - утренняя рутина
9:30 - 9:50 - дейли в банке. Обычная канбан-доска и речь на 2 минуты что делал, что буду делать и есть ли проблемы
9:50 - 10:00 - пью кофе, добавляю в календарь все созвоны на сегодняший день и время когда я работаю на каждой работе с фулл фокусом. Делаю блоки серым цветом, а когда заканчиваю меняю цвет на синий. Это помогает мне думать, что я так продуктивнее работаю
10:00 - 11:30 - работаю. Проект чилловый - мигрируем с монолита на Реакт, поэтому работать получается 2 часа в день
11:30 - 12:00 - завтрак. Обычно ем после того как уже поработал, чтобы не засесть за видосы / стримы и потом не работать ночью
12:00 - 12:30 - дейли в бигтехе. Сначала смол ток, потом определяем кто сегодня ведет дейли
12:30 - 13:00 - лежу без сил на диване
13:00 - 16:00 - работаю. Проект сложный, в каждом микрофронте может быть разный стек. В основном делаем продуктовые фичи, которые мы поделили вместе со вторым фронтом. Все новые фичи обычно делаются в рамках сервисов, которые овнит наша команда, но бывает так что приходится взаимодействовать с другими командами
14:00 - 15:00 - пбр фичей 1 раз в неделю. Наш продукт-менеджер рассказывает чем мы будем заниматься в следующем спринте и показывает макеты, а разработка примерно накидывает сроки
16:00 - 17:00 - отвечаю всем в рабочих чатах, открываю мердж-реквесты, делаю ревью кода, меняю статусы задач и деплою на стенды
17:00 - 1:00 - свободное время, но бывает что приходится работать, если не успел что-то сделать утром или днем
1:00 - спать
Но недавно словил выгорание, решил дропнуть одну из работ и попробовать в менторство, так как до этого им занимался, но без структуры и дедлайнов. Сейчас основной работой занимаюсь утром, а после 13 дня я уже свободен. В свободное время работаю над родмапом, постами для канала или смотрю контент по крипте. Вот мой канал, где я пишу про айти и делюсь своим опытом, там же можно подробнее про меня почитать. Будет много контента, так что подписывайся если интересно
P.S Все пруфы могу предоставить в лс
Зарплата - 550к оклады + 40к премии (270к в бигтехе + 320к в банке)
Коммерческий опыт - 1.5 года. Начинал с фриланса в 16 лет и зарабатывал 30к в месяц, потом сам учил фронт, а как исполнилось 18 сразу нашел официальную работу
Учусь - нигде, никуда не поступал после 11 класса
Как проходит мой день с двумя работами:
9:00 - 9:10 - встаю
9:10 - 9:30 - утренняя рутина
9:30 - 9:50 - дейли в банке. Обычная канбан-доска и речь на 2 минуты что делал, что буду делать и есть ли проблемы
9:50 - 10:00 - пью кофе, добавляю в календарь все созвоны на сегодняший день и время когда я работаю на каждой работе с фулл фокусом. Делаю блоки серым цветом, а когда заканчиваю меняю цвет на синий. Это помогает мне думать, что я так продуктивнее работаю
10:00 - 11:30 - работаю. Проект чилловый - мигрируем с монолита на Реакт, поэтому работать получается 2 часа в день
11:30 - 12:00 - завтрак. Обычно ем после того как уже поработал, чтобы не засесть за видосы / стримы и потом не работать ночью
12:00 - 12:30 - дейли в бигтехе. Сначала смол ток, потом определяем кто сегодня ведет дейли
12:30 - 13:00 - лежу без сил на диване
13:00 - 16:00 - работаю. Проект сложный, в каждом микрофронте может быть разный стек. В основном делаем продуктовые фичи, которые мы поделили вместе со вторым фронтом. Все новые фичи обычно делаются в рамках сервисов, которые овнит наша команда, но бывает так что приходится взаимодействовать с другими командами
14:00 - 15:00 - пбр фичей 1 раз в неделю. Наш продукт-менеджер рассказывает чем мы будем заниматься в следующем спринте и показывает макеты, а разработка примерно накидывает сроки
16:00 - 17:00 - отвечаю всем в рабочих чатах, открываю мердж-реквесты, делаю ревью кода, меняю статусы задач и деплою на стенды
17:00 - 1:00 - свободное время, но бывает что приходится работать, если не успел что-то сделать утром или днем
1:00 - спать
Но недавно словил выгорание, решил дропнуть одну из работ и попробовать в менторство, так как до этого им занимался, но без структуры и дедлайнов. Сейчас основной работой занимаюсь утром, а после 13 дня я уже свободен. В свободное время работаю над родмапом, постами для канала или смотрю контент по крипте. Вот мой канал, где я пишу про айти и делюсь своим опытом, там же можно подробнее про меня почитать. Будет много контента, так что подписывайся если интересно
P.S Все пруфы могу предоставить в лс
Пишу web на Python. У меня вышка и опыт в нефтегазе, в большой гос. компании. Начинал на Ямале, затем классический офис из 2000-х, который я с радостью ливнул. В нефтянке занимался управление стройкой, а потом цифровизацией.
31 год, есть любимая жена и годовалый сын. Сейчас я на позиции tech/team lead, но с акцентом на разработку. Из управленческих задач - ставлю и оцениваю tech-задачи для других команд: рефакторинг, оптимизация, архитектура. Скоро будет найм, появятся джуны/мидлы в прямом подчинении.
Уже год с женой живем в частном доме, недалеко ее родителей, они помогают с ребенком. Квартиру в городе сдаем. Работа удаленная, а за городом отличные условия для работы и воспитания детей: свежий воздух, есть где гулять, нет проблем с парковой, лужайка, баня и мангал прямо за порогом.
Далее о том, как проходит обычный рабочий день.
Встаю около 8, иногда чуть позже. Уже не помню, когда просыпался по будильнику. День начинаю с прогулки с собакой. Это позволяет не забывать выходить из 4 стен. За готовку отвечает супруга, завтракаем около 9, иногда позже (в качестве утреннего перерыва).
День начинаю с проверки дашбордов в Grafana. Если ничего критического нет - смотрю Slack. Там обсуждаем актуальные проблемы/задачи/. Задачи ведем в Monday. На неделе несколько созвонов, максимум - 30 минут. Самый ранний в 9 (1 раз в неделю), самый поздний - в районе обеда.
Далее либо занимаюсь горящими вопросами и проблемами либо разработкой. Беру задачу из спринта, включаю что-нибудь приятное в плеере и начинаю. Полюбил подход написания кода через тесты (Test-driven development), часто новую задачу начинаю с написания тестов.
Обедаем с супругой в диапазоне 12-14 часов. Обед дома дело быстрое так что остается свободное время. Его в течение дня использую на спорт (бег/турник) /прогулку с семьей / время с сыном. Если не укладываюсь по таймингу - доделываю работу вечером.
После обеда делаю таски, провожу код-ревью, собесы (если ведем найм). Летом иногда работаю на летней веранде, но там рабочее место не обустроено да и прямой солнечный свет мешает. Для работы долго подбирал регулируемый стол, кресло, периферию. Получилось не сразу, но результат того стоит.
Заканчиваю обычно во время. Если не прокрастинировать - все успеваю. Но когда я только начинал, приходилось работать по 10 и больше часов. Раз в месяц отвечаю за релиз и раз в неделю делаю правки на платформе. В эти дни к 20 часам возвращаюсь к работе. Обычно это 15 минут, но иногда до часа. Дольше - редко.
Вечером ужинаем, играем с сыном. Около 10 вечера - время детского купания и прогулки с собакой. Затем с супругой смотрим кино или играю в PS5. В последние дни с удовольствием проходим вместе It Takes Two. Идем спать районе полуночи.
Подробно о своем пути с фокусом на поиск ошибок в мышлении и когнитивных искажениях пишу у себя в блоге - @better_vars, подписывайтесь!
Сообщество для входа и роста в IT
31 год, есть любимая жена и годовалый сын. Сейчас я на позиции tech/team lead, но с акцентом на разработку. Из управленческих задач - ставлю и оцениваю tech-задачи для других команд: рефакторинг, оптимизация, архитектура. Скоро будет найм, появятся джуны/мидлы в прямом подчинении.
Уже год с женой живем в частном доме, недалеко ее родителей, они помогают с ребенком. Квартиру в городе сдаем. Работа удаленная, а за городом отличные условия для работы и воспитания детей: свежий воздух, есть где гулять, нет проблем с парковой, лужайка, баня и мангал прямо за порогом.
Далее о том, как проходит обычный рабочий день.
Встаю около 8, иногда чуть позже. Уже не помню, когда просыпался по будильнику. День начинаю с прогулки с собакой. Это позволяет не забывать выходить из 4 стен. За готовку отвечает супруга, завтракаем около 9, иногда позже (в качестве утреннего перерыва).
День начинаю с проверки дашбордов в Grafana. Если ничего критического нет - смотрю Slack. Там обсуждаем актуальные проблемы/задачи/. Задачи ведем в Monday. На неделе несколько созвонов, максимум - 30 минут. Самый ранний в 9 (1 раз в неделю), самый поздний - в районе обеда.
Далее либо занимаюсь горящими вопросами и проблемами либо разработкой. Беру задачу из спринта, включаю что-нибудь приятное в плеере и начинаю. Полюбил подход написания кода через тесты (Test-driven development), часто новую задачу начинаю с написания тестов.
Обедаем с супругой в диапазоне 12-14 часов. Обед дома дело быстрое так что остается свободное время. Его в течение дня использую на спорт (бег/турник) /прогулку с семьей / время с сыном. Если не укладываюсь по таймингу - доделываю работу вечером.
После обеда делаю таски, провожу код-ревью, собесы (если ведем найм). Летом иногда работаю на летней веранде, но там рабочее место не обустроено да и прямой солнечный свет мешает. Для работы долго подбирал регулируемый стол, кресло, периферию. Получилось не сразу, но результат того стоит.
Заканчиваю обычно во время. Если не прокрастинировать - все успеваю. Но когда я только начинал, приходилось работать по 10 и больше часов. Раз в месяц отвечаю за релиз и раз в неделю делаю правки на платформе. В эти дни к 20 часам возвращаюсь к работе. Обычно это 15 минут, но иногда до часа. Дольше - редко.
Вечером ужинаем, играем с сыном. Около 10 вечера - время детского купания и прогулки с собакой. Затем с супругой смотрим кино или играю в PS5. В последние дни с удовольствием проходим вместе It Takes Two. Идем спать районе полуночи.
Подробно о своем пути с фокусом на поиск ошибок в мышлении и когнитивных искажениях пишу у себя в блоге - @better_vars, подписывайтесь!
Сообщество для входа и роста в IT
Лучшее — враг хорошего, или как я не получил оффер в BigTech (часть 1 из 2)
Хочу рассказать, как пару лет назад проходил многоэтапное собеседование в одну известную большую компанию. Это реальная история, тогда я не был в активном поиске, просто решил по привычке “осмотреться на рынке” — чем стараюсь заниматься раз в квартал.
Несмотря на то, что первую “лычку” senior я получил лет 8 назад — я до сих пор не люблю собеседования. Научился не расстраиваться, научился даже немного ловить фан, но удовольствия они мне до сих пор не приносят.
Особенно не люблю вот эти сухие многоэтапные собесы в BigTech. Сначала тебя встречает HR:
– Почему решили сменить работу?
– Чем занимаетесь сейчас?
– Чего ожидаете от новой компании?
Слава всем фронтовым богам, что ушли в прошлое вопросы типа “где вы видите себя через 5 лет” — а то у меня от них лицо перекошенное становилось, и приходилось обратно домкратом выравнивать.
На самом деле, я тогда просто “приглядывался” к рынку. Но HR-ам такое не нравится — им нужны только "активные кандидаты". Поэтому включил режим "социально одобряемый разработчик":
"Хочу развития",
"Проект уходит в поддержку",
"Ищу вызовы".
Дальше пошли технические вопросы. Где-то 15 штук.
Старался угадывать формулировки, потому что можно ответить по сути правильно, но получить “не засчитано”.
На пару не ответил — например, забыл про stopImmediatePropagation. Проверил после — ни в одном моем проекте за последние годы этого метода не было.
Следующий этап — техническое интервью по JS и React.
Начали с душных задач на this и область видимости, потом пошёл классический Event Loop:
– setTimeout(..., 0)
– Promise.resolve().then(...)
– console.log
И укажи порядок порядок.
💩 Лучей поноса — авторам задач с вложенными ловушками. Такие штуки проверяют не знания, а внимательность в стрессе. А в стрессовом режиме вы в проде не работаете — зачем это ждать от кандидата?
JS-блок прошёл. Но не благодаря опыту, а потому что я готовился. Потому что иначе — никак. Даже сеньорам приходится повторять основы перед собесом.
Дальше — React. Пример с вложенными компонентами. Есть onClick, который меняет state. Спрашивают:
— какие компоненты перерендерятся?
— как это оптимизировать?
Ну там понятно: useMemo, useCallback, memo.
Решил — решил. Но не на автомате, а потому что вспомнил перед собесом.
Хотя на практике я так не пишу. Я уже давно пилю микрофронты на React + MobX. А там observer и так всё мемоизирует. Стейт и методы и так отделены — никаких нужд в useCallback.
Но спрашивают всё равно. Даже если в вакансии написано MobX — спросят про “чистый” React. Спрашиваю в ответ:
— А у вас в проекте MobX и используется useCallback?
— Нет, но это база. 🤷♂️
Последнее задание — сделать input, который отправляет запрос в API.
Важно не забыть:
– обработку ошибок,
– isLoading и индикатор загрузки (да, он называется троббер, и почти никто не знает этого слова),
– и не отправлять запрос на каждый ввод символа → debounce.
Решил, получил хороший фидбек.
В большинстве компаний после этого дали бы оффер.
Но не в этот раз.
👉 В этой компании найм устроен по-другому. У них сильно прокачанный IT HR-бренд, поэтому они могут позволить себе ещё пару этапов.
И какой этап они добавляют чаще всего?
Алгоритмы.
Третий этап. Созвон. Интервьюер говорит:
– Будет 3 задачи максимум.
– Нужно решить хотя бы 1–2.
– Главное — объяснять свои мысли.
Звучит честно. Но я-то знаю, как бывает:
решишь две — получишь “мидл+”
А я ведь хочу “сеньор+” или "техлид”, если у них есть такой грейд отдельный.
Продолжение ниже 👇
Хочу рассказать, как пару лет назад проходил многоэтапное собеседование в одну известную большую компанию. Это реальная история, тогда я не был в активном поиске, просто решил по привычке “осмотреться на рынке” — чем стараюсь заниматься раз в квартал.
Несмотря на то, что первую “лычку” senior я получил лет 8 назад — я до сих пор не люблю собеседования. Научился не расстраиваться, научился даже немного ловить фан, но удовольствия они мне до сих пор не приносят.
Особенно не люблю вот эти сухие многоэтапные собесы в BigTech. Сначала тебя встречает HR:
– Почему решили сменить работу?
– Чем занимаетесь сейчас?
– Чего ожидаете от новой компании?
Слава всем фронтовым богам, что ушли в прошлое вопросы типа “где вы видите себя через 5 лет” — а то у меня от них лицо перекошенное становилось, и приходилось обратно домкратом выравнивать.
На самом деле, я тогда просто “приглядывался” к рынку. Но HR-ам такое не нравится — им нужны только "активные кандидаты". Поэтому включил режим "социально одобряемый разработчик":
"Хочу развития",
"Проект уходит в поддержку",
"Ищу вызовы".
Дальше пошли технические вопросы. Где-то 15 штук.
Старался угадывать формулировки, потому что можно ответить по сути правильно, но получить “не засчитано”.
На пару не ответил — например, забыл про stopImmediatePropagation. Проверил после — ни в одном моем проекте за последние годы этого метода не было.
Следующий этап — техническое интервью по JS и React.
Начали с душных задач на this и область видимости, потом пошёл классический Event Loop:
– setTimeout(..., 0)
– Promise.resolve().then(...)
– console.log
И укажи порядок порядок.
💩 Лучей поноса — авторам задач с вложенными ловушками. Такие штуки проверяют не знания, а внимательность в стрессе. А в стрессовом режиме вы в проде не работаете — зачем это ждать от кандидата?
JS-блок прошёл. Но не благодаря опыту, а потому что я готовился. Потому что иначе — никак. Даже сеньорам приходится повторять основы перед собесом.
Дальше — React. Пример с вложенными компонентами. Есть onClick, который меняет state. Спрашивают:
— какие компоненты перерендерятся?
— как это оптимизировать?
Ну там понятно: useMemo, useCallback, memo.
Решил — решил. Но не на автомате, а потому что вспомнил перед собесом.
Хотя на практике я так не пишу. Я уже давно пилю микрофронты на React + MobX. А там observer и так всё мемоизирует. Стейт и методы и так отделены — никаких нужд в useCallback.
Но спрашивают всё равно. Даже если в вакансии написано MobX — спросят про “чистый” React. Спрашиваю в ответ:
— А у вас в проекте MobX и используется useCallback?
— Нет, но это база. 🤷♂️
Последнее задание — сделать input, который отправляет запрос в API.
Важно не забыть:
– обработку ошибок,
– isLoading и индикатор загрузки (да, он называется троббер, и почти никто не знает этого слова),
– и не отправлять запрос на каждый ввод символа → debounce.
Решил, получил хороший фидбек.
В большинстве компаний после этого дали бы оффер.
Но не в этот раз.
👉 В этой компании найм устроен по-другому. У них сильно прокачанный IT HR-бренд, поэтому они могут позволить себе ещё пару этапов.
И какой этап они добавляют чаще всего?
Алгоритмы.
Третий этап. Созвон. Интервьюер говорит:
– Будет 3 задачи максимум.
– Нужно решить хотя бы 1–2.
– Главное — объяснять свои мысли.
Звучит честно. Но я-то знаю, как бывает:
решишь две — получишь “мидл+”
А я ведь хочу “сеньор+” или "техлид”, если у них есть такой грейд отдельный.
Продолжение ниже 👇
Почему я не получил оффер в BigTech (часть 2 из 2)
Окей. Формат понятен. Онлайн-редактор открыт. Настроение — боевое. В голове уже заранее мысленно прогоняю шаблон:
👉 “уточняем входные данные, обозначаем граничные случаи, набрасываем варианты, сравниваем по памяти и скорости, выбираем лучшее, пишем код, рефакторим, profit”.
Задача 1.
Есть два отсортированных массива.
Нужно вернуть элементы первого, которых нет во втором.
Пример:
diff([1, 2, 3], [2, 4]) → [1, 3]
Предлагаю сначала вариант с Set, потом — с двумя указателями.
Обсуждаем плюсы/минусы, сложность, память.
Даже подискутировали, можно ли считать память O(1), если мы создаём результат. В общем — классический диалог по задачке. Пока знакомились, обсуждали регламент и решили первую задачу, на хронометре - 20 минут. Одна задача решена, ключевые навыки по лайвкодинг задачам продемонстрировал уже, дальше можно уже не повторяться в объяснении основ.
Задача 2.
Реализовать стек с методом getMin.
Это уже чуть интереснее. Обсуждаем:
— Два массива?
— А можно ли в один?
— Что, если удалить текущий минимум?
— Нужно ли возвращать null, если стек пуст?
Показываю решение, параллельно проговариваю все решения.
Мы не просто “пишем код” — мы строим диалог. Показываю, что в реальной жизни я так же обсуждаю архитектуру и решения с командой.
На часах — уже 40+ минут. Чувствую, что время начинает поджимать. Но я старался максимально подробно комментировать решение.
Задача 3.
Классика: “найти длину самой длинной подстроки без повторяющихся символов”.
Пример:
abcabcbb → abc → длина 3
Окей. Тут всё просто — условие знакомое.
Сначала озвучиваю наивное решение: два вложенных цикла, Set внутри. Да, будет O(n^2), но работает.
Потом — оптимальное решение, на “скользящем окне” (тогда я ещё не знал, что оно так называется — просто знал, как работает 😄).
Используем Map, два указателя, обновляем максимальную длину — всё чётко.
Смотрю на часы, с объяснением и решениями пришлось ускориться - время поджимает.
Даю комментарии вида “тут просто проверка, если символ уже был, двигаем левый указатель”,
Периодически спрашиваю интервьюера:
— “Всё понятно? Объяснять подробнее?”
Он отвечает:
— “Да, всё норм, продолжай.”
При этом он что-то печатает в фоне... может, чатится с коллегами, может, инцидент на проде. Кто знает. Я стараюсь не отвлекаться и довести до конца.
Финиш. Спрашиваю пару вещей про компанию, ответ — сухой:
“Проекты интересные. Мне нравится. Надо идти — у меня следующее интервью, уже третье”. Бывает.
Прошло 4 дня. Пишу сам HR:
— Когда следующий этап?
— “По итогам лайвкодинга не готовы продолжать.”
Прошу подробностей. Молчит. Через два дня — снова пишу.
И получаю ответ:
“Вы претендовали на высокий грейд. Эксперт остался недоволен вашими комментариями к последней задаче.”
Комментариями. Не решением.
И тут меня прям переклинило.
Вот список фактов о себе на момент этого собеса:
– занимаюсь программированием с 10 класса
– в IT с 2008 года
– в разработке — с 2011
– Техлид фронта в МТС, после - в Иннотех
– преподавал фронтенд на онлайн-курсе 150+ учеников
– вёл блог, на тот момент — маленький, сейчас — 2к+ подписчиков
– YouTube-канал, который потом вырастет в 5+ млн просмотров.
Я не идеальный кандидат. Я не написал популярный фреймворк.
Но я точно не ноунейм без опыта.
Но отказ — всё равно получил.
Зачем я это рассказываю?
❗️ Не всегда поторопиться и решить всё что дают - выигрышная стратегия.
❗️ Отказ может получить любой. И это не значит, что ты слабый разработчик.
Если было интересно — подписывайся. Я рассказываю про собесы, frontend, React, лайвкодинг, карьеру и реальность в IT:
👉 https://t.me/+hCtbmQOsVjQ0YTFi
Окей. Формат понятен. Онлайн-редактор открыт. Настроение — боевое. В голове уже заранее мысленно прогоняю шаблон:
👉 “уточняем входные данные, обозначаем граничные случаи, набрасываем варианты, сравниваем по памяти и скорости, выбираем лучшее, пишем код, рефакторим, profit”.
Задача 1.
Есть два отсортированных массива.
Нужно вернуть элементы первого, которых нет во втором.
Пример:
diff([1, 2, 3], [2, 4]) → [1, 3]
Предлагаю сначала вариант с Set, потом — с двумя указателями.
Обсуждаем плюсы/минусы, сложность, память.
Даже подискутировали, можно ли считать память O(1), если мы создаём результат. В общем — классический диалог по задачке. Пока знакомились, обсуждали регламент и решили первую задачу, на хронометре - 20 минут. Одна задача решена, ключевые навыки по лайвкодинг задачам продемонстрировал уже, дальше можно уже не повторяться в объяснении основ.
Задача 2.
Реализовать стек с методом getMin.
Это уже чуть интереснее. Обсуждаем:
— Два массива?
— А можно ли в один?
— Что, если удалить текущий минимум?
— Нужно ли возвращать null, если стек пуст?
Показываю решение, параллельно проговариваю все решения.
Мы не просто “пишем код” — мы строим диалог. Показываю, что в реальной жизни я так же обсуждаю архитектуру и решения с командой.
На часах — уже 40+ минут. Чувствую, что время начинает поджимать. Но я старался максимально подробно комментировать решение.
Задача 3.
Классика: “найти длину самой длинной подстроки без повторяющихся символов”.
Пример:
abcabcbb → abc → длина 3
Окей. Тут всё просто — условие знакомое.
Сначала озвучиваю наивное решение: два вложенных цикла, Set внутри. Да, будет O(n^2), но работает.
Потом — оптимальное решение, на “скользящем окне” (тогда я ещё не знал, что оно так называется — просто знал, как работает 😄).
Используем Map, два указателя, обновляем максимальную длину — всё чётко.
Смотрю на часы, с объяснением и решениями пришлось ускориться - время поджимает.
Даю комментарии вида “тут просто проверка, если символ уже был, двигаем левый указатель”,
Периодически спрашиваю интервьюера:
— “Всё понятно? Объяснять подробнее?”
Он отвечает:
— “Да, всё норм, продолжай.”
При этом он что-то печатает в фоне... может, чатится с коллегами, может, инцидент на проде. Кто знает. Я стараюсь не отвлекаться и довести до конца.
Финиш. Спрашиваю пару вещей про компанию, ответ — сухой:
“Проекты интересные. Мне нравится. Надо идти — у меня следующее интервью, уже третье”. Бывает.
Прошло 4 дня. Пишу сам HR:
— Когда следующий этап?
— “По итогам лайвкодинга не готовы продолжать.”
Прошу подробностей. Молчит. Через два дня — снова пишу.
И получаю ответ:
“Вы претендовали на высокий грейд. Эксперт остался недоволен вашими комментариями к последней задаче.”
Комментариями. Не решением.
И тут меня прям переклинило.
Вот список фактов о себе на момент этого собеса:
– занимаюсь программированием с 10 класса
– в IT с 2008 года
– в разработке — с 2011
– Техлид фронта в МТС, после - в Иннотех
– преподавал фронтенд на онлайн-курсе 150+ учеников
– вёл блог, на тот момент — маленький, сейчас — 2к+ подписчиков
– YouTube-канал, который потом вырастет в 5+ млн просмотров.
Я не идеальный кандидат. Я не написал популярный фреймворк.
Но я точно не ноунейм без опыта.
Но отказ — всё равно получил.
Зачем я это рассказываю?
❗️ Не всегда поторопиться и решить всё что дают - выигрышная стратегия.
❗️ Отказ может получить любой. И это не значит, что ты слабый разработчик.
Если было интересно — подписывайся. Я рассказываю про собесы, frontend, React, лайвкодинг, карьеру и реальность в IT:
👉 https://t.me/+hCtbmQOsVjQ0YTFi