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

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

👋Новопришедшие, читайте закрепленный пост
Download Telegram
Однотипные проекты

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

🧑🏻‍💻А ведь есть разработчики, которые стараются переходить из компании в компанию с похожим продуктом. Это круто, ведь если ты занимался сервисом такси в одной фирме, то твой багаж знаний и нюансов позволит тебе довольно легко вникнуть в другой аналогичный проект. Сразу понимаешь детали, которые пришлось бы объяснять разработчику «не в теме». И сразу видишь узкие горлышки, починил и сразу получил повышение. Из раза в раз экспертиза становиться глубже.

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

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

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

- Реализовал фичу доставки товаров на Авито? Круто, давай к нам, а то уже 10 лет не можем сделать такое в Olx.

Интересно послушать такие последовательные истории 🤔
🔥9😁2🤔1
Салем, достар 👋

Вот и закончился первый конкурс в этом канале, который длился аж целый месяц, даже подумать страшно. А еще я вместе с вами решал задачи и это каждый день заставляло находить время на leetcode. 🥳

А вот и итоги:
🥇@YerlanKarakulov
🥇@bakytovnurzhan
🥈@spayev
🥉@just_arsu

Решил, что награжу всех призеров, свяжусь в ближайшее время:
🥇- leetcode premium на 1 месяц.
🥈- курс на udemy по system design.
🥉- 3 месячный абонемент на сервис litres, где можно найти кучу интересных книг, в том числе по программированию.

📊Все результаты можно посмотреть на вкладке "Week 5» https://docs.google.com/spreadsheets/d/1uccEZWtXoEuk-0CGbgm67tp-UeyoZ-OqJEj_lXTNSoc/edit?usp=sharing

☺️Хочу сказать спасибо за участие абсолютно всем, я получил опыт «как стоит запускать контесты» и «что можно улучшить». Были проблемы и косяки и упущения, прошу пенять на меня, как на человека, который этого не предусмотрел.

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

https://forms.gle/R9xoiHgSowwxuiGr7

Спасибо всем, вы молодцы 😉
🔥25👏4👍3
Тимур Тибеев | BigTechDream
Первая рок-звезда 💫 🚖Как попасть в команду, которая вытеснила Яндекс.Такси из Европы? Как пройти собеседование по сложности не уступающее топовым технологическим компаниям? 🥳С радостью сообщаю, что начинаю серию стримов, где опытные разработчики делятся…
Всем привет! 👋

🧑‍💻Напоминаю, что завтра будет онлайн встреча с Диасом Абдраимовым, где можно послушать его опыт и задать интересующие вопросы.

В субботу, 3 декабря.
19:00-20:00 Алматы (GMT+6)
16:00-17:00 Москва (GMT+3)
15:00-16:00 Таллин (GMT+2)

🎥Ссылка на zoom встречу
https://us06web.zoom.us/j/82415874678?pwd=ZU9xbUVKR2hKK1ByMEcrL0FEOHVSZz09

Meeting ID: 824 1587 4678
Passcode: 338101

🔴Запись будет 🙂
👍7🔥2👏1
Куда устроится стажером? Какие технологии изучать?

🚧Иногда бывает так, что возникают вопросы, которые касаются определенного направления - backend, frontend, data science. На такие вопросы трудно ответить одному человеку, но намного легче найти ответы в тематических сообществах.

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

🕵Помимо обычных «технических» вопросов, там иногда публикуются вакансии от разных рекрутеров. Да, HR тоже сидят в этих группах и отлавливают разработчиков. Можно и самому спросить, у кого в компании сейчас нанимают стажеров и джунов, люди довольно отзывчивые.

Советую вступать в такие группы и задавать интересующие вопросы.

🌐Список СНГ сообществ можно в этом канале https://news.1rj.ru/str/it_chats

🇰🇿А вот список казахстанских сообществ:
- Бизнес аналитики https://news.1rj.ru/str/analystbook
- Общая группа разработчиков Казахстана https://news.1rj.ru/str/devkz
- Фронтенд разработка Казахстана https://news.1rj.ru/str/frontendkz
- Бэкенд разработчики https://news.1rj.ru/str/BackendKZ
- ЦАРКА, кибербезопасность https://news.1rj.ru/str/cyberseckz
- Data science/machine learning инженеры, попасть в группу можно через бота https://news.1rj.ru/str/databek_bot
- Java/Kotlin/Scala https://news.1rj.ru/str/astanajug
- PHP https://news.1rj.ru/str/phpdevconf
- Python https://news.1rj.ru/str/python_kz
- Сисадмины и devops инженеры https://news.1rj.ru/str/sysadm_in
- GO https://news.1rj.ru/str/go_kz
- Dart/Flutter https://news.1rj.ru/str/dart_kz
- IOS https://news.1rj.ru/str/iOSDevelopers_KZ
- Android https://news.1rj.ru/str/android_kz

UPD.
Вот еще репозиторий с каналами и группами в КЗ секторе
https://github.com/c0rp-aubakirov/KZ-IT-telegram-list
🔥5👍2
Представьте у вас два предложения о работе 🤔

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

Вторая компания это устойчивый банк, есть проект, которому 10 лет. Его нужно поддерживать, исправлять баги и иногда завозить новые фичи. Старый язык, легаси технологии. Работа - не бей лежачего, но платят в 1.5 больше рынка.

Для лучшего восприятия, на примере мидл разработчика
⁃ в первой зарплата 450тыс тенге
⁃ во второй почти 800тыс

Что выберите вы? Деньги или технологии? И почему?

Можете просто нажать на
- 👍 если первая компания
- 🔥 если вторая компания

и написать свою причину в комментариях или же почему ни ту ни другую
👍42🔥27
Как сгореть от литкода? 🤬

Зачем фронтенд разработчику знать про сортировку куч?
Зачем датасайентисту знать про двоичные сбалансированные деревья?
Зачем DevOps инженеру знать про нахождение палиндрома за константу?

🧑‍💻Прочитал сегодня пост, где парень на протяжении 5 лет решал задачи литкода, проходил платные мок-интервью, получал советы от инженеров Google, но все равно был уволен, разочаровался в своих способностях, расстроился и решил завязать с программированием. 

Посвятить карьеру только алгоритмам и подготовкам к интервью очень рискованная затея. Все потому, что эти знания намного тяжелее монетизировать, чем опыт и hard скиллы. “Решил 1000 задач на Leetcode”, “Участвовал в олимпиадах по программированию” - лишь красивые строчки в резюме. 

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

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

За O(N) лет моей работы, мне приходилось несколько раз использовать навык подсчета сложности и реализовывать сложные алгоритмы. 

👨‍🌾Мое мнение, решать задачки можно в качестве хобби или чтобы поддерживать себя в форме, или если готовитесь к собеседованию. Иначе, лучше потратить время на выращивание в себе сеньора-помидора. 

Решить все задачи на Leetcode - не значит, что вы сильный разработчик. 
И наоборот, не смочь решить ни одной задачи - не значит, что вы слабый. 

Оригинальный пост
https://news.ycombinator.com/item?id=26468248
👍27🔥3👏2
Про layoff в Google 📉

В конце ноября вышла статья на Forbes, в которой утверждается, что компания рассматривает возможность уволить 6% персонала, около 10000 человек, в связи с текущей ситуацией в мире.

До этого года в Google была практика увольнять порядка 2-3% самых неэффективных сотрудников в год. Эффективность определялась по итогам квартальных/годовых ревью. С надвигающимся экономическим кризисом компания решила провести оценку персонала и сказать goodbye в 3 раза больше работникам, чем обычно.

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

Вчера Ержан на своем канале (https://news.1rj.ru/str/hiremegoogle) озвучил правильную мысль. Если не получилось пройти собеседование это не значит, что вы глупый человек, сегодня конкуренция возросла и приходится соревноваться с лучшими из лучших.

Любые кризисы проходят, фоточки в инстаграмм и знания в голове остаются. 😊

Оригинальная статья:
https://www.forbes.com/sites/qai/2022/11/23/google-layoffs-big-tech-continues-downsizing/?sh=8eef8f9400fd
👍5😁21
Как я стала программистом в возрасте далеко за 18 👩‍💼

🦾Мадина работает разработчиков в дублинском офисе Амазона. В прошлом году она получила несколько оферов в MAANG. Мне удалось вместе с ней поработать в Яндексе. Но это не самое главное, что стоит знать про нее.

👨‍👩‍👧Самое интересное, что она начала свою карьеру не со студенческой скамьи как большинство из нас, а намного позже. После 28 лет, с семьей и маленьким ребенком, она решила начать свой путь в IT. История Мадины вдохновляет своим посылом «Никогда не поздно идти за мечтой».

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

🎙Как-нибудь обязательно организую встречу с ней. А пока можно почитать ее статью на хабре https://habr.com/ru/amp/post/444776/ и подписаться на ее новый канал в телеграмм https://news.1rj.ru/str/madina_about_career_and_life.

👩‍💻Канал называется «Женщины и карьера». Тема интересная многим, особенно прекрасной половине человечества, строящим свою карьеру, мамочкам в декрете, желающие заниматься интересным делом и семейным парам, которые хотят увеличить свой доход.

🎁Подписывайтесь и делитесь с теми, кому данная тематика будет интересна.
🔥8👍52👏2
Немного о финансах 💱

🏡Сколько стоит аренда квартиры? Смогу ли я откладывать? Почем картошка?

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

📊Мне в этом плане помогает сервис Numbeo (https://www.numbeo.com/cost-of-living/). Помогает понять приблизительные цены на жилье, продукты, такси и так далее. Он еще обладает полезной фичей, можно сравнивать разные города и понимать на сколько увеличатся расходы по разным категориям.

Но сам по себе Numbeo мало полезен, если не вести учет трат в текущей стране. Какой смысл знать, что рестораны в 2 раза дороже в Москве, если не знаешь сколько тратишь на еду в Алмате.

🧮Я для этого использую приложение Coinkeeper. Каждую трату я фиксирую там и каждые несколько месяцев изучаю средние месячные показатели по разным категориям. Это дает объективную оценку своих финансовых дыр, ведь в голове мы всегда держим оптимистичную оценку. Я так однажды обнаружил, что капучино забирает около 30 тысяч теньге в месяц, хотя думал, что пью мало и трачу чуть больше 10K. Мы склонны забывать и округлять свои траты, что может сильно расходиться с реальным положением дел.

🇦🇺Когда у тебя есть понимание куда уходят деньги и точные цифры, это очень облегчает подсчет стоимости жизни на новом месте. Я так делал перед Москвой, также делал перед Сиднеем.

При переезде в новую страну я более щепетильно отношусь к своим финансам. Записываю каждую копейку, стараюсь местами экономить и по-возможности снижать расходы. После 2-3 месяцев это дает свой плоды, начинаешь видеть реалистичную картину. Это позволяет честно ответить на вопрос “сколько нужно денег, чтобы жить в этой стране” и “сколько остается свободных денег”.

Я пока не стал миллионером на сэкономленных латте, поэтому это просто наблюдение, чем конкретный совет 😉
👍14🔥3
7 навыков высокоэффективных бэкендеров 🙆

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

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

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

Веб Фреймворк:
⁃ Уже давно люди не пишут серверные приложения с нуля, а используют готовые фреймворки, которые за разработчика делают кучу работы под капотом.
⁃ Spring Boot / Spring Framework - для Java/Kotlin
⁃ Django - для Python
⁃ Nodejs - для javanoscript/typenoscript

Протоколы взаимодействия:
⁃ Как фронтенд и бэкенд общаются между собой?
⁃ Grpc, rest, websockets протоколы
⁃ Openapi, protobuf контракты
⁃ Сериализация / десериализация сообщений

Контейнеры:
⁃ Как сделать так, что программа написанная на windows работала на linux?
⁃ Как запустить много сервисов быстро и легко?
⁃ docker, docker-compose, kubernetes
⁃ Docker hub
⁃ Healthcheck - как понять, что ваш сервис умер?

CI/CD:
⁃ Как автоматически тестируются проекты, как собираются и разворачиваются на серверах.
⁃ Как одной кнопкой сделать так, чтобы сервис поднялся в облаке?
⁃ Jenkins, Teamcity, GitlabCI, GitHub Actions.
⁃ Continuous Integration vs Continuous Deployment vs Continuous Delivery

Базы данных:
⁃ В какой базе лучше хранить данные?
⁃ PostgreSQL vs MongoDB. В чем различия?
⁃ ACID, BASE, CAP теоремы
⁃ Шардирование и реплицирование данных
⁃ Транзакции и уровни изоляции
⁃ Индексы

Балансировка запросов:
⁃ Как запрос от пользователя проходит от начала до вашего сервиса?
⁃ Как перераспределяется нагрузка, если часть сервисов перестала работать?
⁃ nginx, haproxy
⁃ DNS записи

Тестирование:
⁃ Как убедиться, что написанное работает?
⁃ Unit тесты, интеграционные тесты, end-to-end тесты
⁃ Почему все используют unit тесты и какая главная проблема с ними?
🔥23👍7💋1
Робот-тренер по Литкоду 🤖

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

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

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

Что он умеет сейчас:
- Показывать твою личную статистику на литкоде
- Выдавать случайную задачку по теме и сложности, которую ты еще не решал
- Каждый день в определенное время публиковать новую задачу
- Поздравлять, когда ты решил выданную задачу 🙃

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

Сейчас бот в режиме тестового полета, с ним можно играться и писать про проблемы мне.

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

https://news.1rj.ru/str/bigtechdreambot
18🔥9👍6
Как встретишь Новый год, так его и проведешь 🎅

Год начинается с увольнений:
- Amazon планирует сократить 18000 персонала
- Salesforce увольняет 8000 сотрудников

Напомню, что в прошлом 2022 году около 1000 компаний по всему миру уволили порядка 150000 человек в связи с надвигающиеся экономической рецессией.

Видимо тренд на увольнение будет сохраняться и даже расти в течении года 😐

https://tech.co/news/tech-companies-layoffs
Please open Telegram to view this post
VIEW IN TELEGRAM
😢14😱3
Душный Сева 🤢

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

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

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

Послушать синьора и пройти путь самому это не одно и то же.

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

Поэтому не стоит торопиться “взрослеть”. Жизнь разработчика не должна превращаться в бесконечное и монотонное перекладывание тикетов из колонки в колонку.

Токсики тут? 🧑‍🎤

#душный_сева
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20😁1🤮1
Увлекательные задачи 🔮

“Что делать, если в университете не было предмета по алгоритмам?”,
“Пока только изучаю программированию, но хочу научиться решать задачи из собеседований”.
“Хочу решить Leetcode, но английский не позволяет”.

В школьные годы я занимался олимпиадным программированием. Если не знакомы с таким понятием, это когда за ограниченное время должен решить задачи, очень похожие на задачи из литкода. Только формулировка зачастую красочнее, вместо “Найдите кратчайшее расстояние между точками A и B”, там написано “Тимур и Бахтияр хотят быстрее попасть домой, помогите им найти кратчайшую дорогу”.

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

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

Где найти такие задачи?

Я не знаю в какой момент времени все подсели на Leetcode, раньше люди решали задачи на codeforces, topcoder и так далее. Олды помнят. 👨‍🦳

https://codeforces.com/problemset имеет огромную базу интересных задач на русском и английском языках, разной сложности.

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

...

Как решать?

- Пробуйте делать A, B задачи, они самые легкие и зачастую не требуют никаких дополнительных знаний, кроме навыка программирования.
- Дайте себе время подумать над задачей, не сдавайтесь сразу. Если все таки не смогли, читайте решения, анализируйте и пытайтесь потом сами по своему пониманию написать код.
- Как почувствуете, что «легкие» становятся легкими, полностью отрубаем и перестаем их делать, начинаем брать средние/сложные. Учим Big O и пытаемся вычислять сложность. Сталкиваемся с проблемой на практике, уходим в лес качать теорию 🌲
- Вот ресурс, к которому я уже более 10 лет периодически обращаюсь, когда мне нужно подтянуть теорию по алгоритмам - https://e-maxx.ru/algo. Там есть все.
- На Codeforces чуть ли не каждую неделю проходят соревнования, можно поучаствовать, хорошо тренирует мышление в стрессовых ситуациях, заставляет быстрее соображать.


🟢 Если тема не раскрыта или есть другие вопросы, пожалуйста пишите мне, буду раскрывать подробнее с примерами. 🧑‍🏫
👍15🔥41
Мой план подготовки к интервью 🎯

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

Цель:
До конца года хочу пройти 10 собеседований и получить как минимум один офер из любой bigtech компании на уровень staff и выше (L6 в Google/Netflix, L7 Amazon). Сразу оговорюсь, что менять работу пока планов нет, закрываю свой студенческий гештальт.

Я придерживаюсь позиции “чтобы стать синьором - нужно быть синьором”, поэтому буду целиться стать стафом на текущем месте работы и продать свою экспертность на новом месте.

Ниже мой черновой план по подготовке:

Algorithms and Data structures:
Я чувствую, что это моя самая сильная сторона.
Тут все просто, решать каждый день задачи, чтобы рука не забывала, для этого я и сделал бота (https://news.1rj.ru/str/bigtechdreambot).
За пару недель до первого интервью пройдусь по теории и должно быть норм.

System design:
Тут ощущаю небольшую потребность в обучении. Планирую вновь пройти https://www.educative.io/courses/grokking-modern-system-design-interview-for-engineers-managers или любой аналогичный курс.
Из книг хочу опять пролистать кабанчика - ‘Высоконагруженные приложения. Программирование, масштабирование, поддержка | Клеппман Мартин.”
Раз в неделю решать задачи на доске.

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

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

По книгам:
- Договориться можно обо всем! Как добиваться максимума в любых переговорах. Гэвин Кеннеди
- Гарвардский метод переговоров. Как всегда добиваться своего. Роджер Фишер, Брюс Паттон, Уильям Юри
- The Staff Engineer's Path: A Guide For Individual Contributors Navigating Growth and Change. Tanya Reilly
- Staff Engineer: Leadership Beyond the Management Track. Will Larson
- The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change. Camill Fournier

Mock interview:
Ближе к лету закончится мой испытательный период в Canva и я смогу начать проводить собеседования. Это поможет преодолеть языковой барьер.

Также планирую пройти курс для интервьюеров https://www.udemy.com/course/advanced-interviewer-training/, чтобы лучше понимать, что хочет от меня собеседующий.

Рассматриваю возможность купить пару моков с инженерами Google в https://interviewing.io/ или https://www.tryexponent.com/.

По времени:
С января по август - активная подготовка.
июль - август - mock-interview, пробные собеседования
сентябрь - октябрь - первые собеседования в bigtech
октябрь - декабрь - собеседования в MAANG компании и аналогичные.

Еще планы:
Я знаю, что тут есть люди, которые хотят понять, как проходить собеседования в бигтеках.
Я буду стремиться полностью раскрывать каждый свой опыт и делиться с вами всеми инсайтами/инсайдами.
🟢В моих планах также есть организовать базовые курсы по Алгоритмам и по Дизайну систем, чтобы дать понимание необходимой базы и чего ожидать на интервью.

Буду публиковать свой путь тут, под тэгом #roadtostaff
👍37🔥192🤩1🏆1
Кодинг секция - как нас оценивают и какие самые частые ошибки 🧑‍🚒

Холодная статистика говорит, что каждый этап собеседования в Google успешно проходят лишь 15-20% кандидатов. Это значит, что есть шанс в 80% завалить кодинг. Как не проволить этап с задачками и на что смотрит интервьюер?

На секции с алгоритмами есть 4-5 критерия оценки кандидата, в зависимости от компании они могут меняться, но основные обычно одни и те же. По каждому критерию, после собеседования интервьюер ставит отметку: от «Горячий пирожок» до «Гнать в шею».

Так какие же есть критерии?


Алгоритмы 💭
Здесь интервьюер пытается понять, насколько хорошо кандидат умеет придумывать решения.
Сюда же входят оценка сложности, плюсы и минусы разных подходов.
Проверяется теоретическая часть по структурам данных и алгоритмам.

Многие торопятся быстрее пройти эту стадию и начать писать код, "поспешишь - Яндексоида рассмешишь".
Начинаем с глупого решения и приходим к самому оптимальному, попутно объясняя плюсы и минусы.


Написание кода 👩‍💻
Здесь проверяют на умение писать код. Чистый и опрятный код, желательно придерживаться кодстайла выбранного языка.

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

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


Коммуникация 🤬
Интервьюер тут оценивает, как легко уследить за ходом мыслей. Есть ли очевидные проблемы в общении. Адекват или неадекват 🙃. Рассуждает ли кандидат вслух или подолгу молчит. Насколько вы последовательны и понятны.

Можно попросить подумать пару минут в тишине. Можно попросить подсказку. Можно шутить, если конечно умеете.

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


Тестирование 🚴
Как кандидат будет проверить работоспособность своего кода. Умеет ли выявлять угловые случаи. Как будет дебажить и сможет ли самостоятельно найти ошибки.

Самая распространенное заблуждение, которое я видел - изначально предполагать, что ваш код работает. Например бесконечный цикл for (int i = 0; i > 100; i++) и кандидат будет слепо пропускать ошибку, концентрируясь на основной логике. Забудьте, что это вы написали, теперь вы компилятор и впервые увидели код 🤖. Дебажим каждую точку с запятой, не предполагаем, а тупо исполняем программу.


Сохраните, чтобы не потерять и использовать при подготовке к интервью 😉
🔥21👍92
Образование против ТикТока или этичность в Aйти 👮‍♂️

🏫Школы Сиэтла подали иск в суд на TikTok, Instagram, Facebook, SnapChat, Youtube. Их обвиняют в том, что те подсаживают молодых людей на зависимость от соц сетей, так что учебные учреждения не справляются и не могут вовлечь учеников в образование. Также у студентов наблюдается тревожность, депрессия и прочие психологические отклонения.

😈Иногда я слышу, как плохо работать на Яндекс и платить налоги в РФ, как vkontakte продались государству и помогают следить за гражданами, как BTSDigital пытается закрыть интернет и сделать свой wechat, как Kazdream это контора КНБ и так далее. Складывается ощущение, что big tech за пределами СНГ чистый и непорочный, как новый проект в Intellij Idea.

Вопрос такой, ушли бы вы из Google, если узнали, что компания причастна к детским суицидам или же продает данные пользователей или же подкупает политиков?
А остались ли бы вы в Казахстанской фирме, которая сливает данные пользователей товарищу майору? А если компания выиграла тендер нечестным путем?

👾Вот люди, которые программируют боевых дронов. Они же ведь тоже профессионалы своего дела и гордятся своей работой. Есть синьоры, есть карьерный рост и есть печеньки на кухне.
Или разработчики разного рода лохотронов, онлайн-казино и микрозаймов, где люди просаживают все свои сбережения. Наверняка там тоже обсуждают нагрузку, узкие горлышки, рисуют схемы на досках, решают литкоды.
И у каждой компании есть своя «правильная» миссия, которая озвучивается на каждом собрании - защитить граждан, помочь заработать, вылезти из долгов и так далее. И каждый программист сладко спит по ночам.

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

Или же моя хата с краю, я просто пишу код, я часть эксперимента Милгрэма?

Оригинальная новость тут:
https://www.bloomberg.com/news/articles/2023-01-07/seattle-schools-sue-big-tech-over-youth-mental-health-crisis-lcm59k1s
❤‍🔥16🤔7👍6
Не трать мое время, пес! 🐩

🧑‍💻Минут 5 как интервью уже началось, но кроме тебя в зуме никого. Подключается интервьюер, формально извиняется и начинает проводить собеседование. Собеседник говорит, что у него мало времени и просит отвечать кратко и емко. Ты пытаешься наполнить рассказ важными деталями, но собеседующий хородно перебивает тебя фразой «не стоит тратить время, давай к сути». Такая тактика работает и вот ты уже говоришь быстро, лишь бы дать максимальное количество ответов до окончания собеседования. Манера общения, интонация и жесты словно говорят - «мой час слишком ценен, чтобы его так тратить».

Знакомо это неприятное послевкуские звонка? 

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

Давайте разберем, кто на самом деле чье время тратит, кандидат или интервьюер? 

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

С другой стороны кандидат. Вспомните, чего нам стоит собеседование в новую компанию?

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

🏡Что насчет созвониться после работы? Это час, который кандидат мог бы провести с семьей, сходить в кино, попить пиво, поиграть в ps5 или просто поспать. Риск - не поиграть с ребенком лишний час кажется не таким уж критичным, но как часто придется идти на такие жертвы, и какие долгосрочные последствия таких решений. Это личное время человека, за которое не получает деньги, поработав лишний час бесплатно, стоимость разработчика снижается (капитан неочевидность).

⚖️При любом раскладе кандидат рискует большим, чем интервьер. Кандидату нужно искать и выкраивать часы из личного/рабочего времени, интервьюер же просто выбирает любое удобное время в рабочем календаре. Кандидат может лишиться текущей работы, а интервьюер нет. Попросите собеседующего созвониться в его/ее/их личное время и услышите тираду о work-life-balance. 

🟢Вы квалифицированный специалист, в котором нуждается рынок. Ваше рабочее время ценно, а личное время еще ценней. Собеседование это взаимовыгодные переговоры, а не односторонние ультиматумы. Только ваше время может потрачено впустую, но никак не наоборот.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍10❤‍🔥21
Топ 5 лучших языков программирования в 2022 🏆

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

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

Что чаще ищут в Google (индекс PYPL)
1. Python 27%
2. Java 16%
3. Javanoscript 9%
4. C# 7%
5. C/C++ 7%

По количеству вакансий на рынке:
1. Javanoscript/Typenoscript 31%
2. Pyton 20%
3. Java 17%
4. C# 12%
5. PHP 9%

За что больше платят:
1. Ruby $93k
2. Scala $92k
3. Go $89k
4. Rust $87k
5. Objective C $83k

Какие выводы:
- Желающих изучить Python стало заметно больше, чем изучающих Java и тренд продолжает расти.
- Самые высокие зарплаты на языках, которые реже встречаются в вакансиях. Меньше предложений, более востребованы специалисты.
- Rust и Go явно стремятся вытеснить Java и C# из бэкенда, прогнозирую что популярность будет только расти. Можно к ним присмотреться.
- Typenoscript явный фаворит джаваскриптовых потомков, тут все понятно.
- Kotlin сдает позиции в популярности, среди бэкендеров меньше восторга, чем это было года 2-3 назад, возможно для андроидщиков также.

Ссылки на рейтинги:
https://www.devjobsscanner.com/blog/top-8-most-demanded-languages-in-2022/
https://pypl.github.io/PYPL.html
https://survey.stackoverflow.co/2022
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤‍🔥1