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

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

👋Новопришедшие, читайте закрепленный пост
Download Telegram
Тимур Тибеев | BigTechDream
Как расти в IT? 🆒 Мне всегда нравится общаться с HR специалистами. Они знают, как нас привлечь, как удержать и как мотивировать нас на подвиги. В каком-то смысле, они понимают нас лучше, чем мы сами. Поэтому 🥁 барабанная дробь 🥁 На следующей неделе у нас…
Всем привет! 👋

Напоминаю, что сегодня в 18:00 по Астане, у нас будет трансляция с HR менеджером Ириной Посоховой

Поговорим про джуниор разработчиков, как расти разработчикам и как проходить собеседования.
Оставим время на вопросы/ответы ❗️

Трансляция будет на этом канале
Увидимся через 1.5 часа 😉

🔴 UPD: контакты Иры можно найти в https://t.me/bigtechdream/174
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6🔥4👍3
Live stream finished (1 hour)
Много недель спустя 🌒

Провел в первый раз курс по алгоритмам, готовлюсь стать собеседующим в Канве и продолжаю идти к МААНГу.

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

Результат меня порадовал по нескольким причинам.
- У ребят получилось осилить материал и перейти к средним задачам на литкоде - собственно это и была цель.
- Выявились мои слабые точки и пробелы в знаниях.
- Понял, как сделать курс еще интереснее, более комфортным и в разы качественнее.

Я морально и материально готовлюсь вскоре еще раз запускать курс по алгоритмам. Stay tuned.

👩‍💻Problem solving:

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

🧑‍🏫 System design:

Читаю кабанчика “Designing Data-Intensive Applications”. Стараюсь раз в неделю находить время, чтобы рисовать схемы.

Заметил за собой такой грешок. Берешь задачу, по всем правилам решаешь ее, рисуешь схему, все дела. А потом читаешь решение, оказывается ты чересчур погрузился там, где и так все понятно и наоборот, не раскрыл там, где обрисовал поверхностно.

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

👩‍💼Behavioural:

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

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

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

Как у вас дела с подготовкой? Планируете ли в этом году подавать в MAANG?

#roadtostaff
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥152👌1
🪬 Закон равноценного обмена: если ты хочешь что-то получить, отдай что-то равное взамен

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

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

Отсюда следующий вывод, когда ты откликаешься на вакансию, у тебя меньше рычагов давления. Тяжело прогнуть компанию на зарплату, близкую к потолку. А как договориться на зарплату выше рынка? Никак😐
Ведь не ты, так другой заполнит кресло у экрана. Если нет разницы, зачем платить больше?

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

Как это сделать? Вот пару идей:

- Побеждать на IT конкурсах, олимпиадах и хакатонах. Победителей любят все и за них борются.
- Выступать на конференциях, записывать лекции, писать статьи, а может даже и книги. Широкоизвестный в узких кругах.
- Стать специалистом в нише, где мало специалистов. Вдруг кто-то захочет переписать программу с Fortran на Kotlin, а все толковые программисты уже вымерли.
- Писать opensource проекты и надеятся, что компании легче будет нанять тебя, чем писать свой “Hello World”.
- Избавиться от конкурентов.
- upd. Завести блог и писать псевдоэкcпертные мысли

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

Есть идеи?
Please open Telegram to view this post
VIEW IN TELEGRAM
😁15🔥4👍3
👍 Как заработать 54 миллиона долларов на Лиге Легенд?

Интересная новость, которая последнюю неделю не покидает интернет.

35-летний разработчик по имени Jean-Nicholas продал свою компанию Wargraphs за 54 миллиона долларов. Компании принадлежат вспомогательные инструменты для игры League of Legends. Эти инструменты популярны среди игроков, количество уникальных пользователей за сутки (Daily Active Users) переваливает за миллион.

Что же в этом такого, спросите вы. Мало ли таких стартапов, которые продаются каждый день.

Дело в том, что компания состоит только из одного сотрудника, самого Jean-Nicholas. Один в поле воин. Судя по статье, компании почти 10 лет, возможно инструменты Jean-Nicholas написал еще раньше. Он самостоятельно запустил фирму и до сих пор управляет ей, и довольно успешно выручка в прошлом году составила 12млн евро.

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

Золотая пора опенсорс проектов? 🪙

Статья тут:
https://techcrunch.com/2023/06/15/wargraphs-a-gaming-startup-with-only-one-employee-and-no-outside-funding-sells-for-54m/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍3
AI забирает работу 📺

🗞Немецкий таблоид Bild, между прочим самая продающиеся газета в Европе, недавно анонсировала решение заменить часть персонала искусственным интеллектом. Планируется уволить около 200 сотрудников и эта цифра может вырасти. Из письма издателя к персоналу - «к сожалению, мы вынуждены расстаться с коллегами, работа которых в цифровом мире выполняются с помощью ИИ и / или автоматизированных процессов». Если кратко - робот делает дешевле и быстрее.

📝Наверное это закономерно, что первыми под удар генеративного AI попали именно те, кто связан с написанием текстов. При помощи AI компании стремятся снизить расходы на труд и ускорить производство контента. Так например стартап https://www.copy.ai/ получивший 13 млн инвестиций, помогает генерировать текста для писем и для блогов на основе ChatGPT 3.

🎨 Можно предположить, что следующими на очереди будут дизайнеры. Инструменты на подобии https://www.midjourney.com/ уже начинают конкурировать с фриланс площадками, такими как https://www.fiverr.com/. Чтобы выбрали вы 5$ долларов за 1 дизайн от человека или же 10$ за 200 дизайнов от AI. Canva и Photoshop тоже усиленно работают над генерацией картинок из описания.

🎷Музыкальная премия Грэмми изменила правила участия в 2024 году - "Только человеки могут номинированы на премию". Это своего рода тоже звоночек, что и в музыкальной индустрии ИИ начинает конкурировать с человеком.

🦆Значит ли это, что мы получим кучу увольнений - несомненно. Но это также и означает, что появятся новые специальности и профессии, которые мы сейчас не можем представить. ИИ заменит собой посредственность и заставит людей подняться на новый уровень, туда, где робот еще не в силах конкурировать. Шахматы для человека не закончились после проигрыша Каспарова движку Deep Blue, даже наоборот, они популярны как никогда и шахматисты сильнее как никогда.

Вообщем, дивный новый мир 🌏

Картинка для этого поста вежливо сгенерирована https://stablediffusionweb.com/.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3😱21
“Этот самый тщательный и самый подробный гайд по FAANG собеседованиям, потому что он единственный, сделанный интервьюерами для кандидатов — мы потратили сотни часов, разговаривая с десятками нынешних и бывших интервьюеров FAANG об их процессах.” Заманчиво? 🙂

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

- 5 - магическое число. Большинство кандидатов провалило 4-5 онсайт-собеседований, прежде чем получить оффер.
- Перенести собеседование, если вы не готовы - это нормальная практика. Для компании дата имеет не такое важное значение, как имеет для кандидата.
- Facebook - наименее хаотична, так как уделяет много времени обучению собеседующих, дает меньше свободы в выборе задачек, все стандартизировано и регламентировано. Apple и Netflix в свою очередь имеют больше непредсказуемости, на успех влияет не только сам кандидат, но и какой собеседующий попадется, какие задачки выберет и какие вопросы задаст. От самого хаотичного до менее - Apple, Netflix, Microsoft, Amazon, Google, Meta.
- На HR Screening встрече не стоит озвучивать желаемую зарплату рекрутеру, также где параллельно собеседуютесь и на каких стадиях параллельные интервью . Все эти инструменты должны использоваться, чтобы поднять офер, который вам не нравится, но не раньше, можно наоборот себе навредить.

💡 Делитесь с друзьями и сохраните себе на будущее, точно пригодится, когда будете готовиться к реальному собеседованию

Ссылка на статью:
https://interviewing.io/guides/hiring-process
Please open Telegram to view this post
VIEW IN TELEGRAM
👍154🔥4
Читать - не значит развиваться 📚

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

🗂 Работа подскажет

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

Приведу пример. Если я каждый день работаю с Java, мне есть смысл глубже изучить как устроена память, как работает многопоточность в джаве и так далее. Но мне нет смысла изучать как работает Garbage Collector на андроиде, как javascript хранит данные в браузере, чем одна ML моделька отличается от другой.

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

Я лучше буду знать мало, но углебленно, чем много и поверхностно.

Иллюзия развития

Украл эту фразу у Брина. Суть в том, что конференции, лекции, книги, обсуждения на кухне - все это дает ложное ощущение прогресса. Проблема в том, что можно прочитать 100 книг и так и не стать экспертом.

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

💡 Как определить стоит изучать или не стоит?

Чеклист:
- Поможет ли это знание эффективнее делать мою работу?
- Поможет ли это знание вырасти по карьерной лестнице?
- Станет ли это знание обязательным в моей области в ближайший 1 - 1.5 года?
- Позволит ли это знание попасть в компанию моей мечты?

Если хотя бы на один из этих вопросов ответ «Да», то однозначно стоит.

Как часто вы покупаете курс / книгу / лекции с надеждой, что это повлияет на вашу жизнь, а спустя время думаете, что лучше бы эти деньги вложил куда-нибудь?
Я например каждые полгода закупаюсь курсами и книгами, а потом верю, что завтрашний Тимур их прочитает 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍93
Threads 👍😍

Возможно кто-то из вас пропустил эту новость (хотя как можно ее пропустить).

Meta, разрешенная организация в Австралии, запустила новый сервис, аналог твиттера.

Пока не ясно, убьет ли он собой твиттер или его постигнет судьба клабхауза, но сейчас там прям тусовка в разгаре.
Там порядка 1 миллиона регистраций в час - настоящий high load 💻😱

Если вы там есть, подписывайтесь https://www.threads.net/@timurtibeyev, я подпишусь в ответ, будем обсуждать айти и собеседования. 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9👍5
Какие вопросы задавать на интервью? 🍃

С большим удовольствием читаю канал Владимира Меркушева про продуктовую разработку. Недавно у Владимира вышел пост на тему, какие вопросы стоит задавать на интервью. Ниже скину ссылку.

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

Про компанию
- Какие крупные цели на ближайшие два-три года?
- Компания зарабатывает сама или живет на инвестициях?
- Сколько пользователей у продукта, MAU, DAU?
- Как устроена орг структура, сколько команд разработки, кто чем занят?
- График работы, часовой пояс, со сколько до скольки?

Про команду
- Какую методологию используете, scrum waterfall extreme?
- Жизненный цикл задач, как обсуждается, кто принимает решения, когда попадает на стол разработчику?
- Если есть дежурства, то как устроен процесс?
- Какие самые большие проблемы есть сейчас, которые хотелось бы устранить?
- Как обстоят дела с техдолгом?
- Чего ожидают от моей роли?

Про технологии
- Какой стэк технологий используете?
- Какую нагрузку держите сейчас и к чему стремитесь?
- Есть ли CI/CD?
- Релизный цикл, как изменение попадает к пользователю? Как часто? Какие этапы?
- Какие виды тестирование есть в продукте?
- Почему решили выбрать технологию XYZ вместо ABC?

✔️ Лучше иметь готовый список, чем сочинять вопросы на ходу. Сохраните на случай важных переговоров.

Вот ссылка на пост Владимира, подписывайтесь:
https://t.me/vladimir_merkushev/1873
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍62
Чему пожарные научили нас? 🛡

Что делать если упал ваш сервис? Кто его должен чинить? А что если у вас уже закончился рабочий день? А если виновата не ваша команда, а соседняя? Можно ли будить ночью тимлида? Можно ли уже паниковать?

Немного истории 📝

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

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

Чтобы решить эти проблемы, люди придумали систему управления инцидентами ICS (Incident Command System). Это система позволяла гибко реагировать на инциденты и быстро масштабироваться, сохраняя вертикаль власти.

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

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

Как это использовать для своей карьеры? 🪲

Попробуйте внедрить что-то похожее у себя в компании.

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

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

1️⃣ Вот публикаця про ICS (Incident Command System):
https://www.usda.gov/sites/default/files/documents/ICS100.pdf

2️⃣ Вот хорошая статья от Google, почему важно управлять процессом инцидентов:
https://sre.google/sre-book/managing-incidents/

3️⃣ Вот инструкции от Attlassian, как они управляют инцидентами:
https://www.atlassian.com/incident-management
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3
Глупые вопросы на собеседовании 🧑‍💻

Сколько в городе настройщиков пианино? Сколько мячиков для гольфа поместится в самолет? Если сжать вас до размера монетки и бросить в блендер, как вы выберетесь?

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

И все компании копировали такие вопросы в свои процессы интервью. Я помню, как в 2012-2013 годах, еще будучи студентом, собеседовался в Алматинский офис KCell. Там был ряд простых технических вопросов и один вопрос из серии, сколько бензоколонок в Алмате? Помню даже, что пытался как-то подсчитать по районам и населению.

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

И как ни странно, некоторые компании продолжают задавать такие вопросы. Пару лет назад, когда я собеседовался в Яндекс, параллельно еще проходил интервью в Райфайзен Банке. На одной из финальных встреч с менеджерами, мне задали такой вопрос “Круглый стол, два игрока, каждый по очереди ставит монетку на свободное место. Проигрывает тот, кто не может поставить монетку. Монеты одинаковые, стол ровный, соперник играет оптимально, вы начинаете, как победить?”.

Сможете найти ответ 🙂

Я его не смог найти, но это никак не повлияло на офер. Сейчас же я бы воспринял такие вопросы, как признак некомпетентности интервьюера, мол “Я что буду головоломки решать на работе?”

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

Будет ли такое, что в один момент круг замкнется и нас опять начнут закидывать обычными вопросами. Например, в чем разница между Java и Javascript? 🙂

https://qz.com/378228/google-is-over-those-ridiculous-brainteasers-but-some-employees-didnt-get-the-memo
Please open Telegram to view this post
VIEW IN TELEGRAM
👍153
Как работает CPU? 🪲

Если у вас туманное представление о внутренностях CPU, тогда спешу поделиться полезным ресурсом.

Сегодня набрел на интересный ресурс https://cpu.land/, который подробно и понятно объясняет как работает процессор в наших компьютерах. Это по сути небольшая онлайн книжка из 6 глав (страниц). Почитайте, интересно и доступно, но на английском.

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

В продолжении темы, вот еще один популярный и важный инструмент, если непонятно, чем так усердно занятно ваше CPU. Широкоизвестный в узких кругах бэкенд разработки - https://github.com/async-profiler/async-profiler

✔️ Сохраните себе на случай возможных инцидентов с CPU
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥9
Чем отличается situational interview от behavioural interview? 🎭

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

👨‍🎨 Situational interview или ситуационное интервью

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

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

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

👷 Behavioural interview или поведенческое интервью

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

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

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

🤔 В чем проблема?

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

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

✔️ Вообщем, не упускайте возможность, превратить рабочий момент в хорошую историю для поведенческого интервью.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥42
Падение и взлет Stackoverflow 🎲

На прошлой неделе были две интересные новости, связанных с Stackoverflow.

1️⃣ Первая новость - это метрики Stackoverflow, которые показывают падение примерно на 35% процентов с начала этого года. Просмотры страниц упали с 15 млн в день до 10 млн, публикации с 16K в день до 10K, голосования с 2K в день до 1.3K. То есть, люди стали меньше пользоваться Stackoverflow. Возможно это связано с всплеском интереса к ChatGPT, Github Copilot и других чат-ботов, которые теперь в некоторым смысле заменяют собой Stackoverflow.

2️⃣ Вторая новость - это анонс Overflow AI. По задумке это будет новый генеративный AI, который хотят внедрить в публичную платформу Stackoverflow и в решение для бизнеса Stack Overflow for Teams. Также компания планирует интегрировать его с IDE, чтобы разработчики могли находить ответы, не отходя от кассы. Для генерации точных ответов чат-бот Overflow AI будет использовать накопленные знания на Stackoverflow, там порядка 58 млн вопросов и ответов.

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

💬 Метрики Stackoverflow:
https://observablehq.com/@ayhanfuat/the-fall-of-stack-overflow

💬 Анонc Overflow AI:
https://stackoverflow.blog/2023/07/27/announcing-overflowai
Please open Telegram to view this post
VIEW IN TELEGRAM
👍174🤔3🔥2
⚙️ Какая сложность хорошо, а какая плохо?

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

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

Но давайте попробуем привязать количество операций к секундам.

Одна секунда это сколько операций?

Немного математики. Процессор в нашем компьютере выполняет где-то 1 млрд тактов в секунду. Одна команда языка программирования верхнего уровня траслируется в множество команд машинного языка. То есть, большинство современных языков программирования выполняют где-то 10-30 млн операций в секунду. Это все приблизительно, но давайте возьмем за ориентир, что 1 секунда равна 20 млн операций.

Ограничения это подсказка это авторов задач

Допустим в условии задачи говорится, что N может быть 100 000. Я знаю, что обычно программа должна работать не больше 1 секунды, это значит у меня есть ~20 млн операций. Вместо того, чтобы сразу придумывать решение, я могу вначале подсчитать сложность, а потом подобрать решение.

Для N = 100 000, я пытаюсь найти такую сложность, чтобы она уложилась в 20 млн операций. Например, если взять N^2 это будет 10 млрд операций, что превышает 20 млн. Но если возьмем N log N, то это будет примерно 1.7 млн операций.

Авторы задач часто подбирают ограничения под единственно правильное решение. Теперь когда я знаю, что мое решение должно укладываться в O(N log N), я могу подобрать алгоритмы и структуры данных под эту сложность.

Когда я вижу N = 20, я сразу понимаю, что автор задачи хочет, чтобы я решил ее за 2^N. Когда я вижу N = 1000, я понимаю сразу, что решение где-то за O(N^2).

Что выполняется за 1 секунду?
- O(N!), где N <= 11
- O(2^N), где N <= 24
- O(N^4), где N <= 100
- O(N^3), где N <= 500
- O(N^2), где N <= 5000
- O(N*logN), где N <= 100000
- O(N), где N <= 10000000
- O(logn), где N <= 1000000000000000000

✔️ Сохраните себе, чтобы не потерять.
Please open Telegram to view this post
VIEW IN TELEGRAM
24👍11🔥4
5 сервисов для прожарки будущей компании 🔥

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

В этом посте представлены 5 сервисов, которые помогут раздобыть дополнительную информацию о будущем работодателе.

LinkedIn (www.linkedin.com): Всем известный LinkedIn. Тут можно найти сотрудников компании, посмотреть их навыки и карьерный путь. Есть также информация по главным новостям компании, планах, запусках, а также кого они ищут.

Glassdoor (www.glassdoor.com): Популярная платформа, где можно найти информацию о культуре внутри компании, отзывы сотрудников и зарплаты, а также описание интервью процессов и опыт прохождения собеседований.

Crunchbase (www.crunchbase.com): Онлайн база данных о финансовой стороне организаций. Здесь можно найти информацию привлекала ли компания инвестиции и сколько, кто ключевые сотрдуники, а также насколько соотвествует тренду по индустрии. Вообщем тут можно накопать, как компания чувствует себя по деньгам и какое имеет положение среди конкурентов.

TeamBlind (www.teamblind.com): Анонимная платформа отзывов сотрудников. Тут можно найти много честных, негативных, а местами вовсе токсичных комментариев по поводу компании. Интересно почитать.

Levels (www.levels.fyi): Платформа, где можно узнать зарплатные вилки, узнать грейды, а также сравнить разные компании между собой.

✔️ Сохрани на случай важных расследований
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥42
Быстрые код-ревью 🚀

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

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

1️⃣ Перед тем как отдать код на ревью, можно самостоятельно его просмотреть. Лишняя строка или ненужный импорт легко выявляются невооруженным глазом. Это сэкономит объем кода и соотвественно время на ревью.

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

Например шаблон может быть таким:

#What?
Какую проблему пытаемся решить

#How?
Каким образом решаем проблему

#Testing
Как проводилось тестирование, где можно посмотреть результаты.

#Anything else?
Все дополнительные тексты и ссылки


3️⃣ Бывает так, что разработчик не знает как лучше, или же решение имеет свои плюсы и минусы. В таких случаях можно добавить комментарии к своему коду и обосновать свой выбор. Не придется тратить дополнительное время, если ревьюер захочет узнать причину такого выбора.

4️⃣ Изменения больше, чем на 400 строк лучше дробить на маленькие. Несколько маленьких пулл реквестов лучше, чем один огромный. Исследование Cisco показывает, что если изменений больше чем на 400 строк кода, то шансы пропустить ошибку существенно увеличиваются. Плюс к этому, когда видишь пулл реквест на 50 файлов и на 500 строк кода, хочется сделать вид, что его не заметил. Маленькие изменения ревьюят быстрее.

Есть полезная утилита, чтобы дробить код на несколько PR и связывать их между собой https://github.com/realyze/pr-train

5️⃣ Обсуждение пробелов и скобок является моветоном среди разработчиков. Чтобы избегать ненужной дискуссии по поводу стиля кода, лучше предварительно отформатировать его. А еще лучше внедрить автоматическую проверку и исправление кода.

Нельзя заставить кого-то апрувнуть ваш пулл реквест, но можно увеличить шансы. 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍4
Гайды от рекрутера Гугла ⌨️

Когда в прошлом году я проходил собеседование в Швейцарский офис Google, я познакомился с рекрутером по имени Timo Gunia.

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

Так вот, недавно он совместно с пару инженерами Google/Microsoft запустил собственный проект, который помогает кандидатам лучше готовиться к собеседованиям. Сейчас на его платформе 2 гайда по подготовке: один по техническим собеседованиям и один по составлению резюме.

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

🛍 Timo вежливо предоставил нам 50% скидку по промокоду BigTechDream. Стоят гайды по 10$, с промокодом по 5$.

♠️ Гайд по подготовке к техническим интервью (Алгоритмы и Дизайн систем)
Темы, которые нужно знать
Ресурсы для подготовки
Задачи и их решения
Советы по прохождению и типичные ошибки
https://timogunia.gumroad.com/l/sweguide/BigTechDream

🍃 Гайд по резюме + шаблоны
Как правильно составить свою резюме
Какие ошибки стоит избегать
Пример резюме и шаблон для собственного заполнения
https://timogunia.gumroad.com/l/craftingaswecv/BigTechDream

✔️ Проходите по ссылкам, покупайте и пользуйтесь для удачной подготовки!
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍3🔥2😱1