Тимур Тибеев | BigTechDream – Telegram
Тимур Тибеев | BigTechDream
2.15K subscribers
99 photos
5 videos
1 file
337 links
Senior Backend Engineer @ Canva
Бывший Яндексоид

🧑🏻‍💻Пишу про карьерный рост в IT
📚Делюсь советами, как пройти собеседования в MAANG
👨‍🏫Обучаю алгоритмам и структурам данных

👋Новопришедшие, читайте закрепленный пост
Download Telegram
👔 Как джуны представляют синьоров

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

Список романтизированых джунироских ожиданий и суровых синьорских реальностей.

Есть на все ответ

• Ожидание: Я смогу чинить любые баги и устранять проблемы в считанные минуты!
• Реальность: Чем больше я изучаю, тем больше понимаю, как мало я знаю.

Самые передовые технологии

• Ожидание: Когда я стану синьором, я буду играться с новыми языками и фреймворками, и на них создавать крутые проекты!
• Реальность: Легаси код как был, так и остался, прям как я. Нужно еще починить баг, который стреляет каждое полнолуние.

Никаких скучных задач

• Ожидание: Стану синьором и прощай скучные и неинтересные задачи.
• Реальность: Бесконечные встречи, чтение дизайн доков и ревью кода. А еще и дебажить код 20-летней давности в пятницу вечером.

Весомый вклад

• Ожидание: В голове миллион идей как изменить компанию. Давайте все улучшать!
• Реальность: Понимает, что ничего не сдвинется с места без апрува руководства и необходимого бюджета

Время для отдыха

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

Сам решу, что делать

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

Незаменимый

• Ожидание: Как только я стану синьором, никто не сможет меня уволить или заменить
• Реальность: Хоть бы новая волна увольнений не коснулась меня

➡️Ссылка на статью
https://vadimkravcenko.com/shorts/falsehoods-junior-developers-believe-about-becoming-senior

⁉️Какие у вас были или есть ожидания от синьорства?
Please open Telegram to view this post
VIEW IN TELEGRAM
15😢7💔42💯2🤣2
🥩 Прожарка компании #2

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

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

Это дополнение к предыдущему посту https://news.1rj.ru/str/bigtechdream/195.

🏛Легальность

• Есть ли проблемы с законом, о которых я должен знать?
• Есть ли какие-либо юридические риски, которые могут нанести вред бизнесу в будущем?
• Есть ли открытые судебные разбирательства?
• Как справляются конкуренты с подобными юридическими проблемами?

Полезные ресурсы:
• Судебные реестры (https://pacer.uscourts.gov/)
• Новости (https://techcrunch.com/, https://www.businessinsider.com/tech)

💰Финансы

• Может ли стартап себя обеспечивать?
• Придется ли им уволнять сотрудников в обозримом будущем?
• Растет ли рынок?
• Сможет ли оценка бизнеса расти дальше?

Финансирование и оценка - стоит понять сколько инвестиций поднял стартап и какова вероятность, что компания продолжит привлекать деньги.

Полезные ресурсы:
• О компании и привлеченных инвестициях (https://www.crunchbase.com/)
• Новости (https://techcrunch.com/, https://www.businessinsider.com/tech)
• Пресс релизы компании (https://www.canva.com/newsroom/news/, https://ir.yandex.ru/press-releases?year=2024)

Бизнес модель - стоит понять, каким образом зарабатывает или планирует зарабатывать стартап. Сходится ли юнит экономика, как планируют расти, какие каналы продаж.

Полезные ресурсы:
• Количество загрузок и скачиваний (https://play.google.com/store/apps/details?id=com.canva.editor&hl=en&gl=US)
• Поисковые запросы (https://trends.google.com/trends/)
• Финансовые отчеты компании (https://abc.xyz/investor/)

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

Полезные ресурсы:
• Публичные иследования по индустрии (https://cyberleninka.ru/)
• Рост акций конкурентов, индустрии (https://finance.yahoo.com/)
• Новости (https://techcrunch.com/, https://www.businessinsider.com/tech)

🗿Культура

• То ли это место, где я хочу работать?
• Есть ли явные проблемы, о которых я могу узнать из отзывов?
• Справедливо ли платят за работу?

Полезные ресурсы:
• Отзывы о зарплатах, собеседованиях и культуре (https://www.glassdoor.com)
• Анонимные отзывы сотрудников (https://www.teamblind.com)

➡️Ссылки по тематике
https://www.careerfair.io/background-check
https://www.linkedin.com/pulse/research-future-employers-elite-pathways/

✔️Поставь лайк и сохрани себе на всякий случай
Please open Telegram to view this post
VIEW IN TELEGRAM
👍186
🤾‍♀️ Чистый код на интервью: важно или нет?

Приходишь на собеседование, тебе интевьюер говорит «пиши желательно чисто и без багов». Но тут же добавляет «главное чтобы решение работало».

И в голове кандидата могут появится две мысли:
• Главное решить задачи, чистота второстепенна
• Если что, потом вернусь и сделаю косметические исправления

Проблема в том, что потом на исправления не хватает времени, никогда не хватает. Второй момент, что чистота и читаемость кода все равно оценивается и попадает в отчет.

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

Главные принципы

• Грязный и работающий код лучше, чем чистый и неработающий.
• Чистый и работающий лучше, чем грязный и работающий.
• Простой и читаемый лучше, чем продвинутый и масштабируемый код.

Про чистый код

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

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

📗Что входит в чистый код
• Отступы и пробелы
• Фигурные скобки везде раставлены одинаково, или на той же строке или на следующей
• Cyclomatic complexity - чем меньше вложенных структур, тем лучше
• Boolean Double Negation Law - если получается упростить условие, нужно упрощать

📕Что менее важно (или вообще не важно)
• Названия переменных - не стоит называть их супер подробно «counterOfConsecutiveElements», лучше одна буква или одно слово «counter»
• Бизнес логика - кидать кастомные exception, оборачивать в try-catch, логировать - у нас нет пользователей и нет продуктовых задач, поэтому не паримся
• Документировать код - для чего?
• SOLID - не стоит писать масштабируемый код. На время интервью стоит забыть про интерфейсы, наследования, абстракции. Не пишите много методов и отдельных классов. Не стоит также использовать разные design patterns.

Писать чисто сразу

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

Ставь 😈, если чистый код это для нежных и избалованных инженеров, а тру-инженеры не боятся грязи.
😈1693👍3
«Кривыми ручками предыдущих разработчиков строится лестница к вашему повышению»

Как вам пословица? придумал сегодня
Anonymous Poll
62%
Норм, глубоко капнул 👌
12%
Слишком сложно 😞
26%
Где нормальные посты 😒
🔥7
🧑‍⚕️HR Screening

- Почему вы откликнулись на нашу вакансию?
- Тимур сказал, что нужно собеседоваться


После того вы каким-то чудесным образом пройдете фильтр, под названием CV Screening, начинается следующий этап, HR Screening.

HR Screening - это название для 15-45 минутного созвона с рекрутером из компании. За это время рекрутер хочет собрать максимальное количество информации по следующим вопросам:
• Узнать мотивацию кандидата. Почему человек хочет уйти? Что он ищет в новой компании?
• Узнать, умеет ли кандидат адекватно общаться? Нет ли красных флагов при коммуникации?
• Задать общие, фильтрующие вопросы про предыдущий опыт и пару технических вопросов
• Узнать зарплатные ожидания и есть ли параллельные процессы в другие компании. Можно ли кандидата дешево взять или придется поторговаться?

Чтобы пройти эту секцию, нужно
• Общаться вежливо и дружелюбно
• Показать искренний интерес к компании и к роли, задавать уточняющие вопросов
• Подготовить 1-2 истории про свои проекты: сколько было пользователей, какая нагрузка, какова ваша роль и тд. Можно по модели STAR.

Чего лучше не делать?
• Не стоит говорить про зарплатные ожидания. Лучше всего получить от них офер и на основе него пытаться торговаться. (пример ответа будет ниже)
• Не стоит раскрывать куда еще собеседуетесь. Еще один козырь, лучше оставить его для финальных переговоров.
• Не стоит плохо отзываться о предыдущих коллегах.
• Не стоит нарушать NDA.
• Если сомневаетесь в чем-то, то лучше взять паузу на подумать, не стоит отвечать сразу.

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

👇Приведу примеры, как я отвечаю на вопросы

- Расскажите про свой последний проект
- Это высоконагруженное приложение, которое обрабатывало несколько тысяч запросов в секунду и обслуживало несколько миллионов пользователей в месяц. К сожалению, многие детали не могу раскрывать из-за NDA, если у вас конкретные вопросы, то попробую ответить.

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

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

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


#interview_process
Please open Telegram to view this post
VIEW IN TELEGRAM
👍185🔥2🤣1
🦧 Как торговаться с Meta + Шаблон письма для переговоров

На фоне всех увольнений, Meta в буквальном смысле монополист по найму среди MAANG компаний. Найм вырос в 10x по сравнению с прошлым январем.

Самое неприятное, что они это прекрасно понимают и более жестко ведут переговоры с кандидатами. Как это происходит?

Попробуют просадить по уровню

Рано или поздно вы услышите, что вам захотят предложить ступень пониже. Часто рекрутер будет цитировать фидбек по систем дизайн интервью или по поведенческим вопросам, мол не очень хорошо себя показал. По статистике платформы interviewing.io порядка 55% всех кандидатов получают оферы на ступень ниже.

Сделают не самое привлекательное предложение и дадут всего пару дней на обдумывание

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

Даже не будут пытаться торговаться, если нет других оферов

Рекрутер скорее всего скажет: «Если вы хотите увеличить офер, я могу передать это в комитет по найму, но мне нужна веская причина [т. е. другое предложение]».

Извинятся, если будут другие предложения

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

Как торговаться?
• Не раскрывайте много деталей рекрутеру (об этом говорили вчера)
• Имейте несколько оферов в запасе
• Тяните время, чтобы успеть пособеседоваться в других компаниях и получить офер примерно в одно время
• Постарайтесь подружиться с хайринг менеджером, обменяйтесь почтовыми ящиками

🍃Шаблон письма для переговоров

Hey [Recruiter name],

Thank you so much for the offer, for working with me throughout this process, and for all your help with team matching. I wanted to share some details with you. I currently have offers from {Company 1}, {Company 2}, and {Company 3}.

{Company 1} has offered me a significantly higher base salary of $220k. {Company 2} has a comparable base but has offered me significantly more equity: $500k. I know {Company 2} is a startup, but they’re late stage and handing out RSUs. Those RSUs are as valuable to me as public company equity.

Finally, {Company 3} has thrown in a meaningful signing bonus, and their performance bonus is actually at 25%, not 15%.

I’m very excited about the opportunity to work at Meta and about the team. {Insert some authentic reasons why you’re excited about the company, the team, your new boss, etc.} It’d be great to see a meaningful increase in compensation to make my decision easier.

Thank you, and I look forward to hearing from you.


➡️Ссылка на оригинальную статью
https://interviewing.io/blog/how-to-negotiate-with-meta

✔️ Супер полезный шаблон, сохраните пост в избранное, чтобы не потерять

━━━━━━━━━━━━━━

Интересны два момента

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

Меня еще веселит (немного бесит), когда кандидатов необоснованно понижают в грейде. Чувак синьор, но это стартап, давайте дадим ему мидла. По себе знаю, что любой down-leveled офер неслабо бьет по самооценке.

Ставь 🫡 чтобы поддержать всех братьев и сестер, которых даун-грейднули
Please open Telegram to view this post
VIEW IN TELEGRAM
🫡42👍85
🎭Хорошие причины для плохого лидера

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

5 правильных причин стремиться к лидерской роли

Делать значимый вклад

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

Возможность прокачать другой набор навыков

Лидеры должны уметь - общаться со сложными людьми, давать конструктивную обратную связь, оказывать влияние на стейкхолдеров. Такие навыки тяжело развить будучи individual contributor.

Помогать расти команде

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

Улучшать все вокруг

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

Образец для подражания

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

3 неправильные причины стремиться к лидерской роли

Ради денег

Деньги платят не просто за название роли, но и за дополнительную отвественность. Поработать все равно придется.

Ради власти

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

Ради славы

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

➡️Ссылка на статью
https://leaddev.com/skills-new-managers/reasons-step-leadership-role-and-reasons-not

━━━━━━━━━

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

⁉️А какая у вас причина быть погонщиком?
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7🔥53👍2
🏎 Highway To Big Tech

На просторах линкедина познакомился с интересным человеком, зовут ее Юля, она разработчик и работает в Польском офисе Netflix, а также ведет свой канал про Big Tech (ссылка будет ниже).

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

Три поста с канала Юли, которые мне больше всех понравились:

3 важных момента, про которые не стоит забывать при написании CV
https://news.1rj.ru/str/highwaytobigtech/26

Потому что опыт пет-проектов не продается
https://news.1rj.ru/str/highwaytobigtech/28

3 истории, которые у меня всегда готовы к интервью
https://news.1rj.ru/str/highwaytobigtech/42

✔️ Подписывайтесь, ставьте лайки и задавайте вопросы про Netflix и Варшаву 🇵🇱 .

➡️Ссылка на канал
https://news.1rj.ru/str/highwaytobigtech
Please open Telegram to view this post
VIEW IN TELEGRAM
👍132🔥2
😨Этично ли проходить собеседования для практики?

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

Я с таким аргументом в корне не согласен и приведу пару причин.

Это я трачу свое время

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

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

Бесконечный хайринг

В более менее крупных компаниях поток кандидатов бесконечен. Среди них огромное количество студентов, слабых кандидатов и таких же ребят, которые практикуются.

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

Тест-драйв не значит покупка

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

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

Это только бизнес

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

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

Что если я не могу заставить себя проходить собеседования для практики?

Я делаю так, мысленно прикидываю, что буду там работать. Тогда мне становится интересно, смогут ли они предложить то, чего у меня сейчас нет.
• Интересно, смогу ли пройти так собеседование, чтобы получить офер на стаффа?
• Интересно, смогу ли я выбить себе зарплату в 1.5-2 раза больше текущей?
• Интересно, смогу ли выторговать себе позицию тех лида?
Это больше не страх, а вызов.

Стоит ли обманывать рекрутеров?

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

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

✔️ Поделись с другом или коллегой, который считает аморальным так практиковаться.
Please open Telegram to view this post
VIEW IN TELEGRAM
💯27👍75
Please open Telegram to view this post
VIEW IN TELEGRAM
👍266🔥3
📱Офис TikTok

На прошлой неделе мне удалось попасть на мероприятие от TikTok «TikTok Data Trust & Safety Networking Event».

Офис распологается примерно на 21 этаже небоскреба Salesforce Tower, одно из самых высоких зданий в Сиднее. Вид с окон просто шикарный, на две достопримечательности Harbour Bridge и на Sydney Opera House. Сам райончик очень оживленный и шумный, чем-то похож на Арбат, мне нравится там гулять, но не хотел бы каждый день пробираться через толпу в офис.

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

Что интересного? Я узнал, что основной ЯП на бэкенде это Golang. Есть еще python, kotlin, java - но они не так общеприняты. У TikTok есть свои датацентры, они не используют AWS, GCP, Azure. Целые инфраструктурные команды обслуживают датацентры в Америке, Европе и Азии. Интересные инженерные проблемы, бэкенд лид рассказал, что им нужно обслуживать трафик в 100K QPS.

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

Я остался доволен (там был фуршет). Пообщался с интересными людьми. Получил небольшой мерч. По итогу у меня появились два потенциальных реферала в компанию 😬

Теперь хочу в другие офисы попасть.

⁉️Хотите в ТикТок?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3215👍98
🧑‍🎓Про менторство

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

Я считаю, что карьерный рост и мотивация это дело самого утопающего. То есть, если молодой разработчик растет, то это его/ее заслуга и только отчасти его лида/ментора. Точнее так, ментор лишь коректирует рост и помогает преололеть бюрократический процесс. Джуниор разработчик с горящими глазами это 80-90% успеха.

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

⁉️Мне нужна ваша помощь, поделитесь в комментариях:
• Если вы ментор/лид/менеджер, какая книга, курс или просто совет помог вам стать лучше?
• Если вы студент, выпускник, джуниор, чего вам больше всего не хватает от вашего ментора?
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔62
🦾 Продвинутый Git

Всегда относился к Git как к чему-то простому и понятному. Но недавно посмотрел доклад одного из основателей GitHub, Скотта Чакона. Открыл для себя пару интерсных команд.

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

Полезные команды

Сделать свой алиас
$ git config --global alias.staash ‘stash --all’
$ git staash

Запустить свой скрипт
$ git config --global alias.bb !better-branch.sh
$ git bb

Blame файла от и до определенной строки
$ git blame -L 15,26 path/to/file

История кода от и до определенной строки
$ git log -L 15,26:path/to/file

История функции или класса
$ git log -L :MyController:path/to/file

Игнорировать пустые строки
$ git blame -w

Игнорировать движение функции внутри одного коммита (перенесли код с одного класса в другой).
$ git blame -C

Более агрессивное определение движения кода
$ git blame -C -С
$ git blame -C -С -С

Отфильтровать git log по регулярному выражению. Например все, что содержит определенную строку
$ git log -S MyController -p

Показать разницу в словах, вместо строк
$ git diff --word-diff

Reuse Record Resolution - git запоминает как вы решили merge conflict и если он повторится, то git автоматически решит его также.
$ git config --global rerere.enabled true

Показать ветки в виде колонок
$ git branch --column
$ git config --global column.ui auto

Сортировать ветки по дате последнего коммита
$ git config --global branch.sort -committerdate

Безопасный форс пуш (compare and set)
$ git push --force-with-lease

Запускает задачу на заднем фоне, которая автоматически оптимизирует репозиторий
$ git maintenance start

Ускорить git status, checkout только определенные директории
$ git sparse-checkout set folderA folderB

✔️ Сохрани, чтобы потом попробовать на досуге

➡️Ссылка на доклад
https://blog.gitbutler.com/git-tips-and-tricks/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🤷‍♂32🔥2👨‍💻1
📞 Phone interview

- На phone интервью вам не понадобится телефон
- Как нам доверять друг другу после этого?


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

Первым из таких техническим собеседований идет Phone Screening, … или Phone Interview, …. или Technical Phone Screen, … или First Round. Короче как его только не называют, но суть одна, это первый технический фильтр перед тем, как начнутся серьезные испытания.

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

Пример, Yandex просит решить несколько простых алгоритмических задач. Atlassian на phone interview половину времени гоняет по систем дизайн вопросам, а половину времени заставляет решать задачу по алгоритмам. AWS большую часть времени посвящает алгоритмам и небольшую часть времени поведенческим вопросам.

В некоторых компаниях, кандидата просят подготовить пустой проект и показывать свой экран. В других компаниях используют онлайн редактор с подстветкой синтаксиса. А бывает и обычный Google Docs.

Зачем вообще нужен этот этап?

Финальные этапы - дорогие: 4-5 собеседований + встреча для определения финального уровня кандидата. Technical Phone Screen - это возможность отфильтровать явных слабых кандидатов, не тратя на это много времени.

Как оценивают кандидата?

Также как и на других стадиях:
• Как общается и какие вопросы задает?
• Как придумывает решения и как определяет плюсы/минусы?
• Как пишет код и как его проверяет?

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

Пару советов

• Зайдите на Glassdoor и подсмотрите примерные вопросы, которые могут вам задать. Немаленькая вероятность, что именно они вам и попадутся.
• Цена ошибки на этом интервью высока. Стараемся показать себя хорошо по максимуму. Не паникуем и не сдаемся.
• Улыбаемся и общаемся дружелюбно. Если интервьюер будет сомневаться, он должен вспомнить ваши шутки и пропустить дальше.

✔️ Еще есть полезный старый пост тут https://news.1rj.ru/str/bigtechdream/123 и подарочный гайд тут https://news.1rj.ru/str/bigtechdream/317.

✔️ Поставь лайк, сделай репост и следующий твой phone будет супер легким 🙃

#interview_process
Please open Telegram to view this post
VIEW IN TELEGRAM
👍154
👩‍💻 BigTech Weekly #2

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

🚀 Посты канала

Как я сходил в офис TikTok
Хочу стать хорошим ментором
Продвинутый Git: от основателя GitHub
Этапы собеседований: Phone interview

💻 Инженерные блоги

• [Canva] Как реализовано рисование в Canva?
• [Uber] Как Uber обслуживает 40 миллионов read запросов в секунду при помощи встроенного кэша
• [ByteByteGo] Погружение в архитектуру Amazon DynamoDB
• [Google] Безопасность на всех стадиях в Google

🌐 Новости

TikTok готовит "TikTok Photos", конкурента Instagram
Devin, первый AI инженер-программист
Ubicloud планирует запустить опенсорс альтернативу AWS
Сотрудники Dell могут работать из дома, но тогда не получат повышения

✔️ Поставь лайк и сохрани обзор, чтобы почитать в свободное время!
✔️ Поделись обзором с друзьями и коллегами!

#bigtech_weekly
Please open Telegram to view this post
VIEW IN TELEGRAM
👍145
😰На меня пожаловались

- Тимур, у тебя есть время? На тебя поступил фидбек от одного из кандидатов.

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

Мы созвонились с рекрутером и оказалось, что кандидат, которому я проводил первичный phone interview и которого не пропустил дальше, написал на меня обратную связь. В сообщении говорилось, что я действовал как робот, не проявлял эмпатии, не был заинтересован в кандидате, не давал время подумать, перебивал и как-будто все читал по бумажке.

Да, это вполне могло быть правдой. Я не слежу за своей мимикой 100% времени, могло быть так, что во время собеседования я сидел с угрюмым лицом. Мой английский не идеален. И вовремя интервью для меня важнее получить сильные сигналы, чем быть эмпатичным. Короче стал себя накручивать, что это моя вина.

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

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

Несколько очевидных мыслей, которые я переосознал:
• Я представляю компанию для всех инженеров во внешнем мире. Я один из первых инженеров, с кем познакомится потенциальный работник. Нужно быть всегда на высоте.
• Для кого-то, я человек, который загубит их путь в компанию мечты. Они это запомнят. Нужно быть готовым к негативным отзывам.
• Стоит периодически пересматривать свои собеседования и думать, что мог бы сделать лучше.

⁉️ Жаловались ли на вас кандидаты?
⁉️ Или жаловались ли вы на собеседующих и почему?
Please open Telegram to view this post
VIEW IN TELEGRAM
42🔥6
👻 Проклятие синьоров

«Ты только пойми, что бывают расклады, когда ты играешь. А бывают наоборот — когда играют тебя»

Нашел интересную статью «The Curse of the Senior Software Engineer». Хочу поделиться с вами.

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

Проклятые синьор инженеры, это разработчики, которые были синьорами слишком долго и поэтому, когда они ищут новую работу, то попадают в ловушку:
• Из-за большого опыта и высоких зарплатных ожиданий они не подходят под синьорскую позицию
• У них не было опыта управления командой или его было очень мало, поэтому они не подходят под лидерские позиции (tech lead, staff, principal, team lead, eng manager).

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

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

Как этого избежать?

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

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

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

➡️Ссылка на статью
https://www.yieldcode.blog/post/the-curse-of-the-senior-engineer

━━━━━━━━━

Пару моих личных мыслей

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

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

Синьор - это не терминальная стадия, а временная остановка. Согласны? 👍 🙅
Please open Telegram to view this post
VIEW IN TELEGRAM
464👍32💯1