Если кратко, в текущем состоянии это просто инстумент в помощь разрабу, но не замена. Но есть перспективы на замену. Для этого нужно совершить ряд архитектурных и принципиальных прорывов. И у меня есть сомнения, что следуюшая версия ChatGPT сделала эти прорывы.
👍24💘4💯2
Собеседовал противоречивого кандидата

Он PhD graduate, на позицию ресечера. Открыл резюме - там 4 страницы. Из опыта 3 стажировки, включая Microsoft. Также преподавание в универе. Причем по программированию, архитектуре, ML.
Остальное - учеба и PhD. Он туда вставил все свои статьи, грамоты от бабушки и т.д.
На собесе был тип, на вид лет 40. Хотя я ожидал, что будет лет 25. Может просто плохо сохранился.

На собесе не смог решить ниодной задачи. Даже не смог написать без подсказок просто обход дерева(это 3 строки кода). И неправильно назвал алгоритмическую сложность обхода дерева. Часто не реагировал на подсказки и наводящие вопросы.
Мне интересно, как он в Майкрософт попал. Или резюме фейковое.
😁9👍8😱7👀2
Стоит ли собеседоваться в BigTech/FAANG если вы только начали готовиться/планируете начать или в процессе подготовки?

Краткий ответ: да.

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

Но если я завалю собес, меня же больше не позовут на собес?

Вас позовут снова или вы сами можете податься. В одну и ту же компанию можно собеседоваться раз в 6-12 месяцев. Плюс подобных компаний с десяток.

Возможно, вам стоит отложить собес, если вы уже давно готовитесь и уже близки к завершению подготовки и вам надо еще 1-3 месяца. В таком случае имеет смысл завершить подготовку и пробовать уже после.
👍2711
Стоит ли поступать в 2025 году в технические вузы c целью стать программистом?

Краткий ответ: да.

В мире до AI:
1) Наличие высшего технического образования в резюме является плюсом и/или критерием отбора, особенно на начальных стадиях карьеры (стажер, junior). Если у вас нет опыта работы в IT и вы в поисках своей первой работы, то при отборе по резюме отдадут предпочтение тому, у кого такое образование есть и его позовут на собес в первую очередь. Особенно, это является преимуществом в современных условия российского рынка труда программистов, где число выпускников курсов без образования очень много. Поэтому при отборе по резюме, наличие технического вуза будет большим плюсом.
2) В BigTech/FAANG и в другие топовые компании, наличие диплома бакалавра прямо указывается в требованиях вакансий программистов. Поэтому отсутствие образования для некоторых позиций будет блокером.
3) В BigTech/FAANG основной отбор по резюме (кого позвать на собес) ведется на основе названий компаний, где вы работали и вузов, где вы учились. Отсутствие топового вуза, можно компенсировать наличием топовой компании вашей страны. Но наличие вуза (желательно топового) повышает ваши шансы попаданий на собесы и без топовых компаний в резюме.
4) В технических вузах можно получить фундаментальное образование. Оно может быть разного качества, но все же. Это не изучение текущего тех стека, который меняется раз в 3-5 лет (это можно изучить самостоятельно или на курсах такое преподают). А это изучение алгоритмов и структур данных, архитектуры компьютера, операционные системы, ассемблер, основы баз данных, устройства сетей, системное программирование, компиляторы и т.д. Даже если вы это не будете использовать на практике, то это сформирует более глубокое понимание того, как на самом фундаментальном уровне все работает.

В мире в AI:
Когда я начинал работать программистом 18 лет назад, то в России программисты уже были, но их было на порядок меньше чем сейчас. Вузов, факультетов, которые бы выпускали программистов было очень мало. Поэтому за основу брали выпускников технических вузов (математика, физика, инженерия и т.д.) Предполагалось, что нужный склад ума у них уже есть и в процессе работы они изучат что надо самостоятельно. Я не учился на программиста и никогда не планировал им стать. Я учился на физика/инженерию. Но появилась новая область (программирование), в которую начали брать людей с таким образованием.
Аналогично, что если AI сильно изменит или трансформирует программирование или его заменит полностью или частично, то появятся другие отрасли. В эти отрасли на первых этапах не будет специализированного образования, поэтому будут брать выпускников технических вузов. Просто потому что у них есть нужный склад ума.
Большинство выпускников технических вузов не работает по прямой специальности. Поэтому, когда вы поступаете на инженерные специальности, или что-то связанное с физикой, математикой или химией, то вы не обязательно будете этим заниматься. Поэтому не надо рассматривать вуз как способ получения конкретных знаний для применения. Это просто показывает, что вы можете пройти какой-то отбор (поступить), и обучение физике, математике, computer science развивает в вас техническое мышление и умение быстро, много учиться в технических областях.

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

И на последок еще один миф, что топовые IT предприниматели нигде не учились и создали свой бизнес без универа. Большинство из них поступили в топовые вузы мира, и некоторые их бросили, т.к. параллельно с учебой создали свои бизнесы. Т.е. они сумели пройти туда отбор, что говорит об их интеллекте и подготовке. Если бы они не создали свои бизнесы будучи студентами, то они бы закончили эти топовые вузы и не бедствовали в любом случае.
👍346
Примеры:
1) Марк Цукерберг (Facebook) - Гарвард.
2) Сергей Брин, Ларри Пейдж (Google) - Cтэнфорд.
3) Безос (Амазон) - Принстон.
4) Бил Гейтс (Майкрософт) - Гарвард.
5) Сэм Альтман (Open ai) - Стэнфорд.
6) Николай Дуров (Вконтакте, Телеграм) - СпбГУ
7) Николай Сторонский (Revolut) - МФТИ
8) Skyeng - основатели из МФТИ и Бауманки
👍16
Типичный кандидат с литкод подготовкой

Сегодня собеседовал кандидата с типичной хорошей литкод подготовкой.
Задачи решил оптимально. Были небольшие ошибки в коде. Во время verification ручная проверка давалась тяжело, сам нашел только часть ошибок. Набор тест кейсов назвал неполный. Также неправильно оценил space и time complexity. Из-за этого оценка по verification и problem solving будут ниже, чем могли бы быть.
Это достаточно типично для современной литкод подготовки. Т.к. литкод сам проверяет ваш код, вы написали примерный вариант, засабмитили, посмотрели, когда не работает, починили, засабмитили еще раз и т.д. также литкод не спрашивает space & time complexity.
👍255
Andrej Karpathy выпустил новое видео с разбором того, как работает ChatGPT

Andrej Karpathy это один из основателей Open AI и был директором в Tesla AI по разработке автопилота.

Видео: https://youtu.be/7xTGNNLPyMI?si=pKZtOYql3Z4DQTns

P.S. Другие его видео:
Создание GPT с нуля
Создание GPT-2
👍14🔥4
😁12👍6😐1
Среди сотрудников FAANG/Big Tech сейчас популярен выход на пенсию до 40

Несколько моих коллег так сделали.
Вот типичный пример: к 39 накопил $3.5 миллиона. В Калифорнии или Нью Йорке это стоимость дома среднего класса. Поэтому он решил жить на $185k в год в Дубае. Это примерно 5% от сбережений, что можно покрыть доходами от инвестиций в индексы типа S&P 500, акции крупных команий и депозиты в банках.

https://youtu.be/L-9BYcc6--A?si=tCjrL9wVU_zX6KWk
👍23🔥21
Рейтинг городов по уровню преступности

Уровень преступности взят с сайта https://www.numbeo.com.

Взял популярные города среди программистов. Чем меньше рейтинг, тем безопасней. Дубай - самый безопасный.

1) Дубай, ОАЭ – 16.12
2) Мюнхен, Германия – 20.6
3) Цюрих, Швейцария - 23.3
4) Сеул, Южная Корея – 24.2
5) Прага, Чехия – 24.5
6) Токио, Япония – 24.7
7) Варшава, Польша – 25.5
8) Амстердам, Нидерланды – 28.4
9) Люксембург, Люксембург – 28.7
10) Лиссабон, Португалия - 31.3
11) Веллингтон, Новая Зеландия – 32.9
12) Валенсия, Испания – 33
13) Сидней, Австралия – 34.1
14) Москва, Россия – 35.6
15) Дюссельдорф, Германия – 35.7
16) Бостон, США – 39.7
17) Остин, США – 42.1
18) Ванкувер, Канада – 43
19) Торонто, Канада – 43.4
20) Берлин, Германия – 44.6
21) Франкфурт, Германия – 46.1
22) Окленд, Новая Зеландия – 50.1
23) Нью-Йорк, США – 50.7
24) Барселона, Испания – 51.7
25) Сиэтл, США – 53.9
26) Лондон, Великобритания – 55.1
27) Париж, Франция – 58
28) Сан-Франциско, США – 61.5
👍15🔥5🤣3
Плюсы жизни в Люксембурге

Я прожил в Люксембурге 3.5 года.

Плюсы, по моему мнению:

1) Распространенность английского языка. Большинство местных жителей говорят на трех языках: английском, французском и немецком. Таких проблем с языком, как в других станах Европы, у вас будет сильно меньше. Достаточно знать английского, чтобы нормально там жить.
2) Безопасность. Это одна из самых безопасных стран мира.
3) Там очень тихо и спокойно. Население столицы - чуть больше ста тысяч человек. Днем, в будние дни, население сильно увеличивается, т.к. на работу приезжают люди из Франции и Германии. Но вечером в спальных районах очень тихо, спокойно и безопасно.
4) Хорошая медицина. Можно легко записаться к любому врачу в ближайшее время. Необязательно проходить через GP (терапевта). Высокое качество медицинских услуг.
5) Бесплатный общественный транспорт. Весь общественный транспорт, кроме такси, в стране бесплатные (автобусы, трамвай и т.д.)
6) Близость к Франции и Германии. На машине или общественном транспорте занимает всего один час, чтобы добраться до соседних стран. Многие даже ездят за покупками в другие страны (т.к. там дешевле). До Парижа ехать всего 2 часа на скоростном поезде.
7) Живя там, у вас есть blue card, которая позволяет ездить по всему Шенгену без виз.
8) Низкие процентные ставки по ипотеке. Когда я там жил, это было что-то типа 1%, сейчас 3%.
9) Это очень красивая страна. Много замков, красивой архитектуры, холмы, природа. Первое время кажется, что живешь в диснеевской сказке.
10) Налоги высокие, но меньше чем во многих европейский странах.
11) Наличие аэропорта. Несмотря на то, что страна маленькая, есть свой хороший международный аэропорт. Хоть в нем нет прямых рейсов во все страны, но есть рейсы с пересадкой в Париже и Франкфурте.
12) Наличие крупного офиса Амазона. Есть много позиций как в разработке так и в менеджменте.
13) Сауны. Там очень распространен такой вид отдыха как сауны. Их много по стране. Есть даже целый курорт из саун - Мондорф.
14) Много ресторанов высокого уровня (в том числе мишленовские).
15) Легко обменять права РФ на местные. Не надо сдавать экзамен, просто меняешь одни на другие.
16) Можно подать на гражданство после 5 лет жизни (не обязательно подряд, можно уехать, потом прожить еще. Нужно в сумме 5 лет).
17) Очень развитая инфраструктура. Хоть город и маленький, но есть все необходимое. Сочетание проживания в маленьком и тихом городке с инфраструктурой развитого мегаполиса.
18) Наличие посольства РФ. Если надо получить новый загран и еще что-то, все можно сделать в этом же маленьком городке.
👍35🔥98
Минусы жизни в Люксембурге

Плюсы жизни в Люксембурге

Минусы, по моему мнению:

1) Мало опций для работы программистом. Из крупных работодателей, которые платят хорошо программистам и для работы нужен только английский, там только Амазон. Был еще микроофис Майкрософта, но не уверен, что он еще не закрылся. Остальные компании или меньше платят или еще требуют знание других языков (французский, например). Поэтому с большой вероятностью при смене работы вы потеряете в зп.
2) Мало разнообразия. Этот минус вытекает из того, что город и стана маленькие. Первые пару лет вам будет, что посмотреть и чем позаниматься. Далее все начнет приедаться и вы будете ходить в одни и теже заведения, посещать одни и теже ярмарки, спортзалы, магазины, кинотеатры и т.д. Если вам критично разнообразие, то это быстро надоест.
3) Дорогое жилье. Цены на недвигу большие, по сравнению с другими европейскими странами. Сравнимы с ценами на недвигу в Лондоне. Поэтому придется брать ипотеку на большие сроки (лет 25). Хотя из-за того, что ставка по ипотеке небольшая, месячный платеж будет не сильно больше арендной платы.
4) Хоть английский язык присутствует, его меньше, чем в Англии, США или Австралии. Вы все равно будете натыкаться на людей, которые не говорят на английском. Это могут быть коммунальные службы, например. Для получения гражданства, вам надо будет сдать экзамен по люксембургскому языку. Это что-то среднее между французским и немецким. Поучить годим вам его придется.
5) Рельеф. Город очень холмистый. По факту, в нем два уровня. Между ними есть лифт или крутой спуск/подьем. Поэтому приходится часто подниматься в гору, что достаточно утомительно, особенно, если тебе нужно в ближайший магазин и приходится делать для этого кардио.
👍222
Дожили, Meta открыла офис в Индии

Сейчас пошли кандидаты из Индии, которых собеседуют в новый офис Мета в Индии. Прособеседовал несколько таких кандидатов подряд.
😁30👍7🔥3😱3🎄1
Гайд по выживанию массовых сокращений(layoffs) в Meta

Я пережил 3 массовых сокращений в Meta. За три волны сокращений уволили 25%-35% сотрудников.

Вот мои рекомендации, которые могут помочь пережить массовые сокращения:

1) Работайте над наиболее приоритетными направлениями в компаниями. Обычно, компания публикует свои приоритетные направления, в которые она будет инвестировать в ближайшее время. В первые две волны сокращения сильнее задели менее приоритетные направления разработки. В FAANG компаниях достаточно распространённая практика смены команды, поэтому если вы чувствуете, что ваша область стала менее приоритетной для компании - меняйте команду.
2) Поддерживайте хорошие отношения с менеджером. Третья волна сокращений была по перфомансу. Ваша оценка очень сильно зависит от вашего менеджера. Предварительную оценку выставляет он, таже он подготавливает ваш пакет документов, представляет ваш пакет и отстаивает вашу оценку. Если у вас плохие отношения, то желания отстаивать вашу оценку у него будет меньше. Речь тут не про неформальные отношения или дружбу, а про продуктивные рабочие отношения и мнения менеджера о вас, как о сотруднике.
3) Реагируйте на actionable feedback от менеджера. Если на ваших регулярных 1:1 менеджер дает вам конструктивный фидбек и говорит конкретные действия, которые нужно сделать для исправления - рассматривайте это как ваш самый важный текущий приоритет. Если менеджер дал конструктивную критику, нужно собраться и показать, что вы среагировали и сделали, чтобы это исправить и показали результаты менеджеру на последующих 1:1.
4) Делайте, что говорит ваш менеджер. Менеджеры в фангах это не тех лиды. Если они что-то говорят, что вам нужно сделать - обычно это значит, что к ним кто-то пришел, убедил, что это супер важное, а вы по тем или иным причинам это не делаете или не рассматриваете это как ваш главный приоритет.
5) Перед началом работы над задачей или проектом спросите себя, какой будет импакт от этой работы? Выясните, как численно можно измерить результат работы до того, как к ней приступить. Сделайте метрики (засетапьте пайплайны, дашборды), которые покажут, как было и как стало. Я называю это Impact Driven Development по аналогии с TDD. Только тут вначале нужно сделать метрики и работать над их улучшением. Этот подход помогает приоритезировать проекты и быть уверенным, что вы его можете измерить и показать результат другим людям.
6) Повышайте свою визибилити для скипов. На калибровках будет не только ваш менеджер, но и скипы (менеджеры вашего менеджера). Нужно быть уверенным, что ваши скипы знают про вас и про вашу работу. Старайтесь посещать митинги, где есть скипы, презентовать свою работу и работу вашей команды, задавайте вопросы, показывайте свою квалификацию вашими ответами и экспертизой перед скипами.
7) Документируйте обсуждения, алайменты, договоренности с другими людьми и командами. Пишите документы, посты, отправляйте письма и сообщения с результатами обсуждений. Убедитесь, что эти доки, письма, посты видят ваш менеджер и ваш скип. Если вам надо что-то обсудить с человеком из другой команды/орга, подготовьте заранее док с вопросами для обсуждения. По результат обсуждения дополните его митинг ноутсами и описанием решения или промежуточными результатами, открытыми вопросами и следующими шагами. Добавьте для визибилити свой менеджмент и менеджмент второй стороны.
8) Пишите и публикуйте дизайн доки. Все технические решения документируйте в виде дизайн дока, публикуйте это в виде поста, сообщения или письма. Добавьте туда для визибилити свой менеджмент.
9) Собеседуйте, будьте ментором, интерн менеджером и т.д. Одна из осей на перфоманс ревью - people. Чтобы получить хорошую оценку по этой оси можно много собеседовать людей, стать ментором, bootcamp ментором или ментором для стажеров.
👍2010🔥8❤‍🔥3🤔1
10) Овните sev. Sev - это серьезный инцидент. Старайтесь овнить хотя бы 1-2 сева за 6 месяцев. Напишите хороший sev review и презентуйте его. Часто на этих ревью будет ваш скип. Даже если вы были причиной этого sev, если вы напишете хороший sev report, и презентуете его перед скипом - это будет вам в плюс к оси Engineering Excellence.
11) Старайтесь не быть в хвосте по числу изменений кода в команде/орге. Напрямую это не влияет, но нахождение в хвосте будет вызывать вопросы у менежера, а работаете ли вы вообще и насколько интенсивно. Он у вас начнет спрашивать, вы начнете оправдываться, что текущая работа не подразумевает написание кода, но осадок в подсознании у менеджера останется. Поэтому если сильно код менять не надо в текущий момент, делайте время от времени косметические изменения в коде.
12) Бегите от менеджера, который не умеет/не хочет отстаивать оценки своих подопечных. Это вы можете узнать у своих коллег и на своем личном опыте после первого перфоманс ревью. Часто, бывшие программисты, которые стали менеджерами, не умеют в калибровки и отстаивание своих сотрудников. Но не всегда. Если это ваш случай, то с большой вероятностью, на сокращениях он не будет упираться и отстаивать вас, когда сверху спустили цифры и нужно кого-то найти. Другие менеджеры будут вас отстаивать, а каким-то менеджерам будет пофиг. Тогда из его команды и найдут, кого уволить.
👍207🔥4❤‍🔥3🤔1🤗1
Задача с собеседования в Google: Maximal Square

Задача:
Дан двумерный массив, состоящий из нулей и единиц. Нужно найти площадь квадрата максимального размера, состоящий только из единиц.
Пример:

{"1","0","1","0","0"},
{"1","0","1","1","1"},
{"1","1","1","1","1"},
{"1","0","0","1","0"}

Ответ: 4. Тут есть несколько квадратов со стороной 1 и 2 клетки. Есть два квадрата со стороной 2 клетки. Т.е. размер стороны квадрата, максимального размера - 2. Площадь максимального квадрата - 4.

Ссылка на leetcode: https://leetcode.com/problems/maximal-square/description/

Решение. Описал тут: Задача с собеседования в Google: Максимальный Квадрат
👍9🔥61
Логическая задача с собеседования

В FAANG/BigTech давным давно спрашивали логические задачи, сейчас уже нет.
Но в другие компании все еще спрашивают.
Я помню в Яндекс лет 10 назад мне загадывали загадки(я не отгадал), не знаю как сейчас.

Вот задача, которую у меня спросили на собесе в крупный инвест банк лет 10 назад (если что я решил и прошел собес).

Задача следующая: есть 25 лошадей. На ипподроме 5 дорожек. Надо определить 3 самые быстрые лошади за минимальное число заездов. Время замерять нельзя. Мы только знаем, кто в каком порядке финиширует. Можно считать, что время за которое каждая лошадь пробегает дистанцию не меняется от заезда к заезду.

Пишите ваши решения в комментариях.
👍111
Написал численную симуляцию и проверку решения задачи про забеги лошадей

Задача: https://t.me/faangmaster/555

Код проверки выложил тут: Численная проверка решения головоломки про топ 3 из 25 лошадей
Сделал 2 почти одинаковых варианта. В первом - время забега - случайное целое уникальное среди всех лошадей. Вторая - вещественное случайное.

Если вы считаете, что у вас есть контрпример - можете вернуть его в методе Horses.init() и проверить на нем.

Пишите в комментариях, если есть ошибки в коде.
👍12🔥3
Попросил ChatGPT нарисовать бокал вина, наполненный до краев. Но что-то пошло не так...
🤣37😁121👎1🤯1