iOS makes me hate @iosmakesmehate Channel on Telegram

iOS makes me hate

@iosmakesmehate


Авторский канал. Представитель маргинальной творческой интеллигенции. Арка самураев.

Самое большое закрытое сообщество iOSников с премиум контентом: https://boosty.to/lionbond/

Автор: @lvbond

https://t.me/iosmmcresources

iOS makes me hate (Russian)

Очень часто владельцы устройств Apple сталкиваются с непониманием и сложностями в работе с iOS. Но теперь у вас есть место, где вы сможете разделить свой опыт и узнать много нового. Добро пожаловать на канал "iOS makes me hate"!

Этот канал - авторский, посвященный всем, кто сталкивается с проблемами в работе с iOS и мечтает о карьере в FAANG компаниях. Вас ждет самое большое закрытое сообщество iOSников с премиум контентом, который поможет вам освоить все тонкости и возможности операционной системы Apple. Присоединяйтесь к нам на https://boosty.to/lionbond/

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

Не упустите возможность получить доступ к эксклюзивному контенту, который поможет вам стать профессионалом в работе с iOS. Присоединяйтесь к нам прямо сейчас на https://t.me/iosmmcresources и откройте для себя мир Apple во всей его красе и возможностях!

iOS makes me hate

12 Feb, 15:44


BDUI-инженеры

Помните я проводил опрос на канале по первому авторскому ролику в ютубе? Там выиграла тема роадмапа для iOS 2025.

Я даже начал делать видос, но почти забросил по двум причинам:
- слишком большой объем для первого ролика
- мой звук и голос заговнили в чате, когда я скинул демку

Но я напишу статью. Надеюсь скоро. И в ней не будет тупых сравнений SUI vs UIKit, GCD vs SC. Забудьте сразу что коммерческий иос инженер это просто кнопкокрас.

Мы разберем множество ветвей развития.

Одна из них — это будущая новая профессия. И называется она BDUI-разработчик.

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

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

Берут полный цикл разработки фичи. Собственно поэтому ору когда какой-то канал пишет «решайте сложные задачи» и учит как делать анимашки на SUI. Ща бы анимашки поделать в 2к25🙂🙂🙂

Инженер будет оцениваться не по анимашкам. А по импакту.

Мобильный инженер это не тот, кто знает только одну платформу.

iOS makes me hate

12 Feb, 12:05


Модульная архитектура с SPM

Доклад Либранера Сантоса, автора популярных книг, рассказал:
🟣Какие проблемы они решали
🟣Как модульная архитектура помогла с тестированием и переиспользованием
🟣Почему выбрали SPM

Отдельный кайф про упоминание выбранных принципов и критериев "хорошой модуляризации". А также, что не стали избирать избыточных UI архитектурных паттернов как VIPER/TCA.

iOS makes me hate

12 Feb, 08:52


))

iOS makes me hate

12 Feb, 05:15


Можно ли запилить свой Xcode?

На днях Apple открыла исходный код swift-build. Движка, используемого для билда Xcode.

Многие каналы побежали дезинформировать людей, что теперь ЛЮБОЙ может написать свой Xcode.

Забавно, что эти каналы называют себя практиками… на деле же 99% их контента просто копипасты или редиректы чужих статей.

Наш любимый БРАТ Астемир сделал углубленный ресерч и прочитал исходники.

И спойлер, нет. Вы не можете сделать свой Xcode.

Как там говорится, формируйте свое мнение?

iOS makes me hate

11 Feb, 10:59


Шаблон для собеседований № 1

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

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

Первый шаблон будет на платформу. В нем:
🟣Порешаем задачи на рефакторинг
🟣Пройдемся теорией и практикой на память
🟣Решим задачу на UIKit
🟣Поищем ошибки в коде

Это хороший шаблон, который сэкономит время обоим сторонам.

💰 Поддержать или получить доступ к материалам можно в бусти
⭐️ Или в боте трибьюта если вы не из СНГ (рекомендовано, так дешевле)

iOS makes me hate

11 Feb, 05:47


Коллекции с слабыми ссылками

По умолчанию все базовые (Array, Set, Dictionary) коллекции Swift'а хранят элементы как сильные ссылки. И если мы хотим использовать слабые ссылки, то обычно применяли обертки Weak<T>.

Для каких задач это полезно? Например, года два назад я писал фичу с мультипрофилем. Где у наблюдателя (observer'а) есть множество подписчиков (subscriber'ов). Похожую задачу мы разбирали, когда писали свой NotificationCenter.

Но можно не писать дополнительную обертку и использовать готовые коллекции:

🟣NSPointerArray. Позволяет создавать массивы, которые хранят элементы как слабые ссылки (например, с помощью NSPointerArray.weakObjects()).

🟣NSHashTable. Эта коллекция представляет собой хэш-таблицу, которая может быть настроена на хранение слабых (или неуправляемых) ссылок. В отличие от NSPointerArray, NSHashTable не гарантирует порядок элементов

🟣NSMapTable. Словарь, позволяет использовать слабые ссылки как для ключей, так и для значений. Он полезен, когда нужно создавать ассоциативные структуры данных с особым управлением памятью (например, кеши или реализации обратных связей между объектами).

Разберем примеры в картинка.

iOS makes me hate

10 Feb, 11:26


Как с помощью Cursor была ускорена работа приложения в 2 раза

Краткая история как слить всю кодовую базу банка.
UPD: там есть privacy mode

Но вообще, тема AI инструментов становится всё интереснее. Присылайте свои кейсы. Сделаем потом детальный анализ

iOS makes me hate

10 Feb, 07:10


Простенькая задача в пн

iOS makes me hate

10 Feb, 05:07


🍫Читеры, синьоры, AI

Предлагаю интересное обсуждение, которое уже какое-то время у меня в голове.

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

🔸Титулы

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

В статье “The 70% problem: Hard truths about AI-assisted coding” приводится гипотеза 70% / 30%. Инженеры, которые используют AI для решения рабочих проблем проходят 70% очень быстро. Оставшиеся 30% это исправление кривого кода, написание тестов, переписывание и тд. Так вот, эти 30% как раз и будут отличать синьора от мидла.

➡️https://addyo.substack.com/p/the-70-problem-hard-truths-about

🔸Хард скиллы

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

Но как говорил Мэтт Мёрдок “когда теряешь одно чувство, другие усиливаются”.

Увеличится важность следующих навыков:

- Умение правильно промпить и находить нужные ответы быстрее
- Быть более эффективным в работе, используя разные AI тулзы
- Быстро понимать концепции, не углубляясь в имплементацию

🔸Читеры

Следующий момент это читерство на собеседованиях. Сервисы подобные https://www.parakeet-ai.com/ и различные браузерные расширения становятся реальной угрозой качеству найма.

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

Компании придумывают разные способы: кто-то возвращает офисные собеседования, кто-то маскирует задачи, что их не распознали AI инструменты, кто-то наоборот поощряет.

➡️https://news.ycombinator.com/item?id=42909166

Интересная получается ситуация, нужно усидеть на трех стульях:

- Как проверить, что кандидат имеет базовые навыки?
- Как проверить, что кандидат умеет пользоваться разными LLMs для работы?
- Как понять, что кандидат не читерит?

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

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

🔸Что это все значит, Тимур?

У меня одна мысль в голове, на 1-2 недели постарайтесь внедрить в свою работу AI инструменты. Заставьте себя их использовать, сделайте себя адептом LLM моделей.

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

Посвятите 2025 год личной и командной эффективности при помощи AI.

✔️ Вроде бы ничего нового, но свои мысли привел в порядок, спасибо 🙂

iOS makes me hate

09 Feb, 07:08


Old School vs. New School Tech

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

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

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

Тут появляются разные школы:

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

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

Тут часто возникает конфликт и споры: нужна ли база или алгосы? В чем суть инженерности? Какие существуют ветки дохода?

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

iOS makes me hate

08 Feb, 12:44


Авитовцы, ставьте лайк, если тоже впервые видите эту задачу.

Походу надо тоже придумывать рандомные задачи, говоря что они из {{companyName}} компании

iOS makes me hate

08 Feb, 05:21


Почему фидбэк кандидату важен и что ожидается от хорошего интервьюера

Моя жопа дико сгорела, когда мне скинули фидбэки компании на букву Y. И ладно было бы это сразу, когда я прошел собес. Но это было спустя 2-3 года, абсолютно случайно. Каждые фидбэки за все время прохождения. И знаете что? Никто их мне не донес раньше! Ни рекрутер, ни интервьюеры. Мне просто скинул бывший коллега, уходя из компании, когда я у него спросил "Сорри чел, как ты думаешь, почему я так херово прохожу собесы в вашу компанию? Вот ты говоришь что я изи должен пройти, а на самом деле чет мне не очень успешно это получается".

Я не сгорел с содержания фидбэков. Я сгорел с того, что мне их не донесли раньше через официальные каналы. Например, почти в 30% фидбэках было про "его сложно понять, я ничего не понял". Ну так во-первых, ты ведь можешь переспросить или попросить сделать речь проще? Я за опыт проведения 300 собесов в разных компаниях ни разу не поставил оценку потому что "плохо понимаю". Если я чего-то не понял, то я задаю вопросы, уточняю, прошу переформулировать. А не делаю молчаливое лицо и будто я все понимаю. Боясь показаться глупым.

Если ты молчишь на интервью, то кандидат не понимает твоей реакции и думает что всё идет хорошо. Дай реакции и комментарии прям на собесе.

Во-вторых. Разве ваши рекрутеры не обязаны давать фидбэки, которые помогут мне не допускать тех "ошибок", которые вы засчитали? НИРАЗУ мне не дали тот фидбэк, который написан в вашей админке. Его либо вообще не было, либо он был отформатирован рекрутером и убраны все "острые" темы.

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

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

Вся суть образования — уметь доносить оценку и фидбэки, а не только ожидать, что вам будут объяснять понятно то, что вы хотите услышать. Уметь давать оценку и круто аргументировать её — это тоже навык, который ожидается от работы интервьюера, ментора, учителя. Оставляйте фидбэк кандидатам и не душите. Давайте им обратную связь, которая будет лучше и эффективнее всяких "сливов".

Собеседование — это тоже инструмент образования.

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

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

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

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

iOS makes me hate

07 Feb, 14:17


Единственный, кто должен вас понимать — это AI-ассистент

Ждем компании-единороги с одним человеком

iOS makes me hate

07 Feb, 11:39


короче, холиварный вопрос.

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

В последних собесах мне давали такой фидбэк "отлично отвечает на то, что знает. Но начинает выдумывать и домысливать ответы, вместо того чтобы сказать что не знает".

помогите разгадать эту загадку. Что от меня хотят?

upd: вообще забавных приколов очень много. Можете поделиться также своими

iOS makes me hate

07 Feb, 06:44


Проводим идеальное собеседование разработчика. Советы от практика с тысячей собеседований за спиной

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

Мягко скажем спорные советы, но для знакомства с разными спорными методами полезно почитать статью

Идеальная статья как узнать, что твой будущий работадатель арбузер

UPD: пост вроде как рофл. Заскамили

iOS makes me hate

06 Feb, 12:09


знали что в фигме можно так общаться?

iOS makes me hate

06 Feb, 07:36


Подборка книг от Essential Developer

Я не смог купить их курс по архитектурам и сис.дизу. Но куплю позже. Пока буду изучать открытые и слитые старые материалы.

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

iOS makes me hate

05 Feb, 12:45


🧬 100 задач по управлению памятью (с 10 по 20 задачи)

Продолжаю дополнять сборник задачами. Добавил в сборник еще 10 задач на управление памятью, очень похожих на эту.

В нем вы узнаете:
🟣Как захватываются ссылки
🟣как работает lazy var с weak self
🟣когда происходит утечка и др

Самое то для марафона на месяц. Впереди детальный разбор ownership и учимся считать в голове RefCount 🥲

💰 Поддержать или получить доступ к материалам можно в бусти
⭐️ Или в боте трибьюта если вы не из СНГ (рекомендовано, так дешевле)

iOS makes me hate

02 Feb, 07:50


Тебе не дадут дополнительную ответственность, если ты не выполняешь хорошо основную

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

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

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

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

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

iOS makes me hate

01 Feb, 08:58


🧬 Flow: выход из цикла. Конструктивная жизненная система

Преобразование порядка из хаоса — величайшая черта образования.

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

Представьте мальчика. Рожденный в этот мир он полон наивности и веры. Но сталкиваясь с трудностями он становится циником.

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

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

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

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

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

В этом и есть ключевое отличие потока от цикла.

iOS makes me hate

01 Feb, 07:45


Сборка задач с собеседований в Apple

iOS makes me hate

31 Jan, 11:00


🧬 100 задач по управлению памятью

Составив 100 вопросов по управлении памятью я понял, что теория < практики. Она полезна для оценки понимания, но всегда важнее практика. Так я начал амбициозную задачу составить 100 задач по каждой теме (память, многопоточка и тп).

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

Формат включает себя:
🟣Условие задачи
🟣Уточняющие вопросы
🟣Ожидаемый ответ

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

А я потихоньку практикуюсь для будущего видеоконтента. Музон для задротов конференций Apple.

💰 Поддержать или получить доступ к материалам можно в бусти
⭐️ Или в боте трибьюта если вы не из СНГ (рекомендовано, так дешевле)

iOS makes me hate

30 Jan, 17:26


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

iOS makes me hate

30 Jan, 08:50


Ваш главный канал демотивации идти в ит

iOS makes me hate

30 Jan, 06:22


Есть ли в структурах deinit?

Это один из старых вопросов на собесах. Он показывал насколько кандидат разбирается в памяти. Ответ на этот вопрос был: нет. В структурах нет deinit.

Пропозал SE-0390 вводит концепцию структур и enum'ов, которые нельзя скопировать. А вместо этого позволяет использовать один экземпляр во многих местах.

Появляется новый синтаксис ~Copyable, который означает, что тип не может быть скопирован. Все это, вкупе с borrowing & consuming довольно мощные концепции и сильно помогут в работе. Позже разберем детально.

Есть ли в структурах deinit? Бывает.

Подробнее тут:
- WWDC24: Consume noncopyable types in Swift | Apple
- Noncopyable types in documentation
- Copyable

💰 В ноушене сделал обзор на borrowing, consuming и ~Copyable. А также разобрал частые задачи. Они правда топовые.

iOS makes me hate

29 Jan, 06:10


💎 Почему на собеседованиях в FAANG не спрашивают про технологии?

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

Если вы когда-либо проходили интервью в крупных IT-компаниях (Google, Facebook, Amazon и другие), то наверняка заметили, что вместо вопросов о языках программирования и фреймворках кандидаты получают задачи на алгоритмы. Нужно, например, найти кратчайший путь между точками, развернуть бинарное дерево или удалить нули из массива. Но почему именно так?

Компании стремятся к беспристрастной оценке кандидатов. Они считают, что умный инженер сможет освоить любой язык или технологию при необходимости. Опыт, конечно, играет важную роль, но он оценивается в вопросах по проектированию систем (system design) и поведенческому интервью (behavioral interview).

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

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

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

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

Поэтому и мы на канале стараемся разбирать не только знание фреймворков и особенностей платформы, но и базу.

iOS makes me hate

28 Jan, 15:11


Бесславные ублюдки — настольная книга вычислять накрутчиков

iOS makes me hate

28 Jan, 06:11


Why You Should Leave Your FAANG Job

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

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

iOS makes me hate

28 Jan, 03:59


Две истории, одна суть

iOS makes me hate

26 Jan, 15:02


Шпаргалки для подготовки к System Design

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

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

Ну и немного кринжа. Твой накрученный опыт или скиллы будут бросаться в глаза как паленные вещи абибас. А выдуманная "сеньорность" легко палится. О чем говорить, если даже можно банально зайти в ютуб с накрученным мок-собесом. Где зритель жалуется, что "данные знания не соответствуют сеньорным". Как же тогда у вас получится обмануть интервьюера, если даже не получается аудиторию?

Я все же сторонник прозрачного и честного роста впервую очередь перед самим собой. Живя в парадигме "как бы кого обмануть" ты становишься экспертом только в подделках, но не в оригиналах. Главное правило любого развития — честные показатели. Казаться научит любой ментор или даже чатгпт, заготовив методичку. А вот быть нужно регулярным трудом самому.

Мы за регулярный рост. Я собрал уже две статьи:
🟣Как и какие собирать требования к задаче
🟣Что такое DI и как его выбирать
В будущем буду обновлять темы (масштабирование, архитектура, модуляризация, тесты и тп)

💎 Поддержать или получить доступ к материалам можно в бусти
🧬 И в боте трибьюта если вы не из СНГ (рекомендовано)

iOS makes me hate

22 Jan, 05:58


UIKit: viewIsAppearing

Изучать UIKit в 2к25 кажется уже для скуфов, но он продолжает развиваться и далеко не скоро уйдет с радаров.

Для тех, кто пропустил. Еще в 2023 году в iOS 17 был добавлен новый метод viewIsAppearing.

Чем отличаются viewWillAppear от viewIsAppearing и для чего же он нужен? Этот метод вызывается после viewWillAppear, но до viewDidAppear.

Ранее в viewWillAppear вьюха еще не была добавлена в иерархию и поэтому его размеры и свойства могли быть неточны. А viewDidAppear уже слишком поздный метод.

viewIsAppear дает же нам более точный метод для внесения изменений прям перед самой отрисовкой.

Разберем на примерах

iOS makes me hate

21 Jan, 09:59


Что вы знаете про Perfomance Review?

iOS makes me hate

21 Jan, 05:51


Насколько глубоко надо зарываться

Иногда в чате мы прям пытаемся глубоко зарываться и тут нужны прям артбитры, которые разрулят. Например, Глеб Лукьянец, разработчик из JetBrains, наваливает базы о языке Swift. А кто как не он лучше всего разбирается в памяти и языках.

Вчера, составляя очередную подборку с задачами на память, я наткнулся на вопрос "Как связаны классы и структуры с диспетчеризацией (final/dynamic)". Пытался углубиться, связать кучу со стэком и диспетчеризацию (не просто рассказав о табличных методах диспетчеризации), но тут нам все объяснили в нашем чате на пальцах.

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

iOS makes me hate

20 Jan, 06:50


😏 Самая популярная задача на управление памятью

Начнем понедельник с разминки.

После 100 вопросов на управлении памятью (это только первая часть) есть амбициозная задача сделать 100 задач на управление памятью. Кстати, этот сборник помог все же мне сократить содержание будущей книги на две: одна техническая, а другая профессиональная

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

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

Скидывайте свои любимые задачи

iOS makes me hate

20 Jan, 05:19


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

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

iOS makes me hate

20 Jan, 05:07


🐰Почему вы должны уйти из MAANG?

- Не пытайся стать синьором, Нео. Это невозможно. Вместо этого просто попробуй осознать истину.
- Какую истину?
- Уровней не существует

Я в последнее время начал больше интересоваться стартапами и разными тусовками. У YCombinator есть серия лекций, под названием “Startup School”. Я бы сказал, что это обширные, но не очень глубокие лекции.

Так вот, одна из лекций называется “Why You Should Leave Your FAANG Job”. Мне прям понравился взгляд на big tech компенсации со стороны. Интересные мнения, а не эти ваши Тимуры и почему стоит идти в BigTech.

🔸Первый инсайт. Всевозможные титулы Junior/Middle/Senior/Staff и это способ вовлечь нас в игру, в бесконечную погоню за следующим уровнем. Игра никогда не кончается, меняются условия квеста.

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

🔸Третий инсайт. “Работать у нас это единственный способ получить опыт работы над высоконагруженными системами“ - это маркетинговый ход MAANG компаний, чтобы привлечь новых сотрудников. Интервью процесс тоже отчасти является частью промо-компании.

🔸Четвертый инсайт - по сути очевидный. Работая в MAANG компаниях, нередко приходится заниматься очень незначительными задачами - перекрашивать пиксели, переписывать сервисы. В стартапах разработчики растут быстрее по хард скиллам.

⁉️А часто ли у вас возникает ощущение, что вы участвуете в бесконечных крысиных бегах в погоне за карьерой? И засыпаете ли вы с мыслью, что живете не той жизнью, какой хотели бы?

➡️Ссылка на лекцию
https://www.startupschool.org/curriculum/why-you-should-leave-your-faang-job

iOS makes me hate

18 Jan, 10:30


Инженер ли ты? Или какой главный навык оценивают на собесе

Даже правильный ответ на собесе не гарантирует успех.

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

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

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

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

Инженер может проанализировать A, B, C, D решения. Оценить их самостоятельно. Вычленить, разбить на атомы и собрать заново. Ему интересен процесс. В этом его разница от нейросети. Он может понимать контекс и делать ВЫБОР. А также нести ответственность за свое решение.

Ключевые черты инженера:
🟣 Любопытство и желание постоянно учиться. Способность анализировать проблемы и находить эффективные решения. Готовность адаптироваться к изменениям и новым условиям.
🟣Стремление к созданию новых решений, которые упрощают сложные задачи или улучшают существующие системы. Любой код можно улучшить и сделать вторую версию, привести к редизайну.
🟣Умение задавать вопросы, проверять предположения и рассматривать проблему с разных точек зрения.
🟣Теоретические знания должны всегда быть связаны с реальными задачами и их решениями. Если большинство знаний кандидата основано на чужом опыте, то это плохие навыки. Подробнее можно изучить в таксономии Блума
🟣Постоянное совершенствование. Развитие навыков, поиск новых инструментов и методов для повышения своей эффективности.

Именно это — ядро той самой мифической "инженерности". Без которого все наши навыки и знания сильно упадут в цене.

iOS makes me hate

17 Jan, 06:29


кстати, скоро разберем как работает лимбическая система и неокортекс. Как это влияет на работу/обучение/жизнь

iOS makes me hate

16 Jan, 06:15


Карьерный фреймворк от Dropbox

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

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

Интересные особенности фреймворка:

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

iOS makes me hate

15 Jan, 16:28


🧬 Поток и самурайская философия

Я не случайно выбрал 2025 аркой самураев и начал с книги потока. Ведь эти две темы имеют очень много точек пересечений. Да и вообще вся эстетика японских самураев очень часто находит реинкарнации в массовой культуре: от корней киберпанка до проработки главного супергероя комиксов — бэтмена.

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

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

Основные характеристики Потока:
🔘Полное сосредоточение на задаче.
🔘Исчезновение ощущения времени.
🔘Чувство контроля и уверенности.
🔘Гармония между сложностью задачи и уровнем навыков.
Пример: художник настолько увлечён рисованием, что забывает про всё вокруг.

⚔️ Самурайская философия, основанная на кодексе Бусидо, подчёркивает дисциплину, уважение, мастерство и осознанность. Самураи стремились не только к физическому совершенству, но и к внутреннему равновесию.

Основные принципы:
🔘Сосредоточенность: Полное присутствие в моменте.
🔘Осознанность: Понимание своих действий и их последствий.
🔘Мастерство: Постоянное стремление к улучшению.
🔘Гармония с окружающим миром: Действия с учётом природы и других людей.

Пример: воин, упражняясь в фехтовании, полностью сосредоточен на движении, как на медитации.

Выбрав любой из путей можно прокачивать навыки:
- Глубокой концентрации
- Удовольствие от процесса
- Улучшение памяти и понимания
- Развитие навыков решения проблем
- Экономия временем

iOS makes me hate

15 Jan, 08:54


🧬 Техники решения задач: Fast and slow pointers

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

Fast and Slow Pointers — это техника работы с двумя указателями, которая:
🟣 Могут начинать с разных позиций.
🟣Двигаться с разной скоростью (обычно один на 1 шаг, другой на 2 шага за итерацию).
🟣Используются для решения задач с линейными структурами данных (например, связанные списки).

Эта техника позволяет эффективно решать задачи за O(n) времени и O(1) памяти.

Разберем на примере задач в скриншотах.

iOS makes me hate

05 Jan, 10:40


🧬Большая статья про техники решения алгоритмических задач: Sliding window

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

Эта статья поможет:
🟣Разобраться в технике
🟣Изучите важные обязательные формулы по поиску окна и его построению
🟣Прорешаете ключевые задачи для закрепления

💎 Поддержать или получить доступ к материалам можно в бусти по скидке.
И в боте трибьюта если вы не из СНГ (рекомендовано)

iOS makes me hate

05 Jan, 09:00


какой год, такой и цвет

ps выглядит прикольно кста. Фраза «из 💩 конфетку» прозвучала по-новому

iOS makes me hate

04 Jan, 09:59


🧬Mobile Podcast: Анатомия процессов собеседований

Вышло в открытый доступ на ютубе

Позвали Сашу помочь разобраться нам, обычным работягам, в этом вопросе. Саша — руководитель Яндекс Go, эксперт в KTS, был одним из соавторов VIPER’а, косвенно повлиял на создание этого канала. 

Тема процессов собеседований — всегда актуальная. В интернетах вокруг нее много мифов. Даже многие интервьюеры, эксперты или менеджеры не всегда видят всю картину целиком. Не говоря уже о блогерах или hr.

Он рассказал о многих интересных вещах:
🟣Что такое грейды и как их определяют
🟣Чем отличаются джуны, мидлы, сеньоры
🟣Что такое перфоманс ревью и как к нему готовиться
🟣Как устроены процессы собеседований
🟣Как и зачем оценивают менеджеры
🟣Зачем нужны систем дизайн, алгоритмы
🟣Важна ли вышка
🟣Есть ли красные флаги у яндекса
🟣Как развиваться инженерам
🟣И многое другое

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

Подписаться на него можно тут: @headOfMobile

iOS makes me hate

03 Jan, 17:00


Статистика что юзает Apple под капотом

Убийца UIKit пока занимает только 6% в эпловских бинарниках (а на деле ещё меньше)

iOS makes me hate

03 Jan, 09:30


🧬 FLOW: инструмент оптимизации ресурсов

Прежде чем ворваться в рабочие дни 2025 мы немного поднастроим мозг. Каждый, кто меня чему-то обучал или обучает говорит что 50% успеха — это менталка. Тренер рассказывает как менталка влияет на соревнования. Руководители на перфревью. Менторы на собесы. Психолог на жизнь.

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

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

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

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

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

Статьи и исследования как состояние потока помогает в жизни, профессии и карьере:
- 6 Flow Activities & Training: How to Achieve a Flow State
- The best learning goes with the flow: The work of Mihaly Csikszentmihalyi
- Что такое состояние потока и как использовать его в обучении

iOS makes me hate

02 Jan, 15:14


Кринж

iOS makes me hate

02 Jan, 11:40


Также будьте аккуратны, когда потребляете какой-то контент.

Чатгпт в руках непрофессионалов — граната у обезьяны.

Вопрос, заменит ли он программистов? Уж точно не скоро. Он хороший ассистент, но все равно нужна работа.

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

Программист нужен будет чтоб как минимум валидировать, фильтровать, корректировать и проверять

iOS makes me hate

02 Jan, 07:28


Тренды на образование в 2025

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

🟣Курсы

Тема курсов в текущем медиа поле кажется самой недооцененной. Когда я был автором контента в Яндекс.Грейде и Практикуме, то я видел всю кухню производство изнутри. И там в одном блоке учавствовало от 5 до 10 людей в производстве. Производства курса качественней чем любой контент любого блогера, тк за курсом стоит огромная команда. Суть курсов — дать структурированный материал на долгую дистанцию для самообучения. Лучше такого формата до сих пор рынок не придумал и чтоб 3-6 месяцев усердно пахать не поможет ни ментор, ни книги, ни доки. Курс — это сборка лучших материалов, задач. Например, недавний курс по алгоритмам от литкода меня сильно впечатлил и я не находил ничего лучше по балансировке задач ни в книгах, ни в статьях. Образование — это всегда долгая история и в ней нет быстрых результатов. Курсы как раз и нужны для развития.

Когда брать курсы: Когда хотите комплексно подтянуть знания и сформировать комплексную картину из разных фрагментов

🔘Менторство

Я считаю менторство самой перехайпленной нишей. В этой нише многое можно автоматизировать. Текущие истории менторов вообще не про образование, а про развитие навыков презентации. Это больше похоже на услугу репетитора, который готовит вас к экзамену. Он не может вас обучить, он только немного координирует. Также не понимаю критику курсов от менторов. Тк эти два инструмента дают абсолютно два разных навыка. Где те же менторы ведут себя немного лицемерно, критикуя курсы. Но в своих "уникальных методиках" дают ссылки на курсы от Стэндфорда, литкода и других западных ресурсов. Кажется, это либо от непонимания целей, либо специальная критика чужих продуктов, чтобы дороже продать свою услугу. Причем среди менторов, на мой взгляд, гораздо больше некачественных услуг, чем через курсы.

Да и продать накрученный опыт != оформить презентабельно уже существующий

Когда ходить к ментору: Когда собрались менять работу (но лучше поискать ментора в своей компании)

🔘AI

Искусственный интеллект порешает все методы. Если вы сейчас не развиваетесь с помощью ИИ, то вы уже отстаете. Многие некачественные курсы могут быть просто набором отрывков из чатгпт. А многие "уникальные программы" менторов легко заменяются промтами. Мне кажется, в 2025 будет очередная революция и в сфере ed.tech никто не совместил еще пока качественно AI и курсы.

Например, есть уже курсы, где обучающийся проходит весь цикл подготовки: от обучения, мок-собесов и оформеления резюме. От 3 до 6 месяцев он регулярно обучается, где АI адаптируется под его запросы, дает фидбэки и корректирует программу. Такие инструменты выглядят по-настоящему эффективно и к ним больше доверия. А еше дешевле и быстрее приводят к результату.

Когда использовать AI: уже сейчас

Кстати, насчет последнего будет много контента. А может быть и свой прототип 🙂

iOS makes me hate

01 Jan, 18:33


Я напоминаю, что до конца январских действует скидка на контент

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

Из интересного за год:

мок-собесы
- час собеседования по Swift Concurrency
- секции систем дизайна
- все о собесах и грейдах с руководителем из яндекса
- интервью с разработчицей из Apple
- мок-интервью модуляризация с Tuist в реальный проект

Техничка
- подборка ~350 вопросов для подготовки к собеседованиям
- разбор популярных задач по систем дизану (скоро будут видосы)
- разбор алгоритмов и платного закрытого курса из литкода

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

А также многое другое

💎 Поддержать или получить доступ к материалам можно в бусти по скидке
🧬 И в боте трибьюта если вы не из СНГ (рекомендовано)

Также самая выгодная подписка — через трибьют на год

iOS makes me hate

31 Dec, 19:00


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

Пока все пишут про НАЙМ мы будем писать о том, о чем не пишет никто. Об ОБРАЗОВАНИИ. Впереди более серьезный контент.

Желаю всем вам только положительных образований, а негативные — нахер.

Будьте с близкими🖤

iOS makes me hate

31 Dec, 06:46


С наступающим 🧝

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

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

Следующий год я объявляю в канале — годом любви и свободы. С годами я все больше понимаю их ценность. Любите близких. Любите свое дело. Любите себя.

Именно любовь дает нам силу, свободу, вдохновение и желание творить. Она требует смелости и мужества, чести и достоинства. Она не приходит просто так — её нужно завоевать.

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

Любовь — лучший фильтр в жизни. Она помогает отделить важное от ненужного, истинное от фальшивого.

Пусть в вашей жизни будет много любви и свободы.

iOS makes me hate

30 Dec, 07:21


🎬 Подборка мотивирующих историй любви к творчеству: кино

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

Кто знает меня времен 2015-2019 года, тот помнит ту жизнь. Тогда я был киноманом. Смотрел сотни фильмов, знал историю каждого режиссера. Писал десятки рецензий. Был настоящим задротом, который зарывался в творчестве. До сих пор я не могу найти человека в IT, кто знает больше и глубже меня о кино. Эта любовь познакомила меня с творческим коллективом сценаристов и режиссеров, который сейчас довольно популярен в узких кругах. Наша любовь к искусству временно объединила нас. Так я снимал короткометражки (которые даже что-то выигрывали), меня звали вести лекции, писал сценарии и даже делал игру для Элджея (кек).

Но любовь к программированию и большие зпшки итшки меня пересилала. Программирование — лучшее искусство, но об этом когда-нибудь потом. Так я ушел из творческих тусовок и нашел иосразрботку, которую до сих пор считаю выбором творчестких, чем меркантильных. Став относительно финансово свободным, вспыли те чувства, когда я искал островок свободы. Искал чувство настоящего творческого процесса, когда ты не задумывался о кассовых сборах, а только об эмоциях зрителя. Что забирало весь твой фокус и силы. Настоящие творческие — наркоманы эмоций и кроме них не думают ни о чем.

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

Эта подборка истории о людях, которые объяты такой же любовью к своему делу и стали великими.

1. Как снимает Кристофер Нолан. Потому что один из любимых популярных режиссеров.

2. Правда ли Дэниэл Дэй-Льюис — лучший актер в мире. Потому что правда

3. Почему «Атака титанов» — главный сериал мира прямо сейчас. Потому что в топе аниме.

4. Как снимает Дени Вильнёв и чем хороша «Дюна». Потому что фильмы Вильнева — одни из лучших.

iOS makes me hate

29 Dec, 09:22


Подборка мотивирующих историй любви к творчеству

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

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

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

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

Я вырос на журналах игромании, книгах и кино. Первая подборка будет об играх:

1. История Dead Space. Если вы не слышали о самом качественном хорроре, который взял все самое лучшее из жанров, то пора знакомиться с этой серией роликов. Эта монументальная серия роликов, которая расскажет о захватывающем творческом процессе игры, которая поменяет жанр. Раз в год пересматриваю.

2. Как создать лучшую RPG. Трудный путь Larian. Лучшая игра 2023 прошла один из сложный путей и сделало то, что не смогли другие.

3. «АРКЕЙН» НЕ ДОЛЖЕН БЫЛ СУЩЕСТВОВАТЬ. Пронзительная история создания одного из лучших анимационных сериалов по играм. Как благодаря фанатам своего дела создали лучший продукт в своей нише.

4. БЕЗУМНАЯ ИСТОРИЯ СОЗДАТЕЛЕЙ HELLDIVERS. История лучшего кооператива последних 10 лет. Как пара гиков перевернула индустрию.

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

iOS makes me hate

29 Dec, 05:49


Подборка книг на январские праздники

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

Книги — лучший инструмент для мозга.

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

💎 Проектирование и систем дизайн:
- «Mobile System Design». Tjeerd in ’t Veen
-
A philosophy of software design” Джон Оустерхаут

🧬Инженерный рост
- The Software Engineer's Guidebook
- «думай как математик». Барбара Оакли

💎Дизайн
- «Дизайн привычных вещей». Дональд Артур Норман
- «Эстетический интеллект». Полин Браун

🧬Искусство
- «Персонаж». Роберт Макки
- «Эстетика». Вольтер

🧬Самообразование
- «Как читать книги». Мортимер Адлер

💎AI
- «Искусственный разум и новая эра человечества». Г. Киссинджер
- «Быть человеком». Д. Стивенс

💎Эмоции
- «Эмоциональная устойчивость». Дэниел Гоулман

iOS makes me hate

28 Dec, 05:40


Пробы успеха или запах денег

Результаты опроса выше показывают интересные результаты. Бабки не являются ключевым показателем привлекательности.

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

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

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

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

Именно поэтому многие хотят отмыть свои деньги и очистить репутацию. Получается у них плохо.

Кстати, в СНГ говорят, что нет института репутации. Но мы уже сделали опрос и подтвердили, что он есть

iOS makes me hate

27 Dec, 09:27


👨‍🦱 Подборка иcследований и обсуждений как помогает литкод

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

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

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

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

3. Problem Solving as a Predictor of Programming Performance. Исследование, где было определенно, что студенты с навыками problem solving'а — лучше обучаются.

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

Также не нужно сильно закапываться с колличеством задач и искать очень узкие кейсы. Для лучшего эффекта — 500 задач является серединой.

iOS makes me hate

26 Dec, 09:48


💎 Расширенный материал управление памятью: MRC/MRR, ARC, Auto Release, Memory Leaks

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

Сейчас мы обзорно прошлись по пунктам, каждый из которых заслуживает отдельной статьи:
🟣Что было до ARC
🟣Чем отличается MRC vs MRR vs Autorelease Pool
🟣Когда внедрили ARC
🟣На каких этапах работает ARC
🟣Какие виды утечек памяти существуют

И многое другое. Оказывается, вокруг этой темы куча мифов и заблуждений.

Прошлая статья:
Управление памятью в iOS: Stack, Heap, RAM

💎 Поддержать и получить доступ к материалам можно тут по скидке и тут

iOS makes me hate

26 Dec, 05:01


Все HR, кто лайкнул этот видос, вы лучшие

*Instagram запрещенная соц.сеть в рф

iOS makes me hate

25 Dec, 12:58


Топ книг, сериалов, игр 2025

Еще один традиционный топ моих рекомендаций за год.

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

🥇1. The Hollow Knight — потому что лучший саундтрек и атмосфера
🥈2. PoE 2 — потому что новый жанр дьябло + соулсов
🥉3. The Elden Ring — потому что лучшее дарк фэнтези

*Отдельного упоминания заслуживают шахматы.

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

🥇"Segun" — потому что красиво и интересно
🥈"Пингвин" — потому что интересно
🥉"Land Man" — потому что охеренное кино про обычных работяг

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

🥇"The Software Enginner's Guidebook" — потому что вдохновила на свою книгу
🥈 "Быть, а не казаться" Кови — потому что отличная книга для саморефлексии
🥉"От нуля к единице" — потому что любимая книга Илона Маска

Делитесь своим топом.

iOS makes me hate

25 Dec, 06:38


Советы по подготовке к перфоманс ревью

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

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

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

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

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

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

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

🟣 Сила привычек
Регулярно отслеживать свои достижения с помощью рабочего журнала. Поддерживать продуктивность на протяжении всего периода оценки.

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

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

Практические советы

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

🔘Регулярная документация работы:
Ведение журнала выполненных задач помогает лучше подготовиться к обзору и упрощает сбор данных.

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

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

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

В будущих постах разберем эту тему подробнее.

iOS makes me hate

24 Dec, 15:07


🍏Итоги года и скидки на подписку на январские праздники

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

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

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

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

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

Я люблю свою работу и мне хочется окружать себя теми, кто также нашел себя. Все мое служение себе — это найти самые качественные и совершенные техники, технологии и продукты. Они улучшат нашу жизнь и сделаю ее ярче. Не зря мы все любим iOS 😂

Уж если и жить жизнь, то выбирать лучшие пути.

Поддержать или получить доступ к материалам можно тут по скидке и тут

iOS makes me hate

23 Dec, 15:13


Делимся своим вайбом на 2025

iOS makes me hate

21 Dec, 16:13


Про шаблонизацию

Я не сторонник строгих шаблонов вопросов/ответов на интервью. Сейчас это все легко хакается.

Саша предложил свое виденье как хорошо оценить кандидата. Умеет ли он хорошо проходить собесы или хорошо выполнять задачи?

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

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

iOS makes me hate

05 Dec, 09:32


Подборка ред флагов от рекрутеров фаанга и не только

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

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

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

Ссылки:
- Recruiters: what are some non-obvious candidate red flags
- Candidate Red Flags: What Recruiters Should Watch Out For
- Ред-флаги в резюме ИТ-специалистов: топ ошибок глазами рекрутеров

iOS makes me hate

04 Dec, 06:19


Новые форматы собесов System Design. Что не так с текущими собесами в снг?

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

Сейчас многие процессы собесов выглядят так:
- созвон с рекрутером
- опциональный скрининг
- дают задачу на лайфкодинг, рефакторинг и проектирование
- финал

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

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

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

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

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

🟣задач должно быть больше. У некоторых компаний всего 3-4 задачи в базе, которые легко опять же сливаются всякими паровозиками и разбираются рейдами буквально за пару недель. Добавьте в базу 10-15 задач

🟣минимализация повторов. В каждой задаче должно быть по 2-3 варианта для вариативности. Так сложнее зазубрить. Яндекс и FAANG'и также делает с алгоритмами. Вроде задача из литкода, но немного изменена. Это очень эффективная защита.

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

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

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

iOS makes me hate

03 Dec, 06:30


Сосредоточьтесь не на задаче, а на проблеме, стоящей за задачей

Мы продолжаем копать в сторону Software Engineer'инга.

Bruno Rocha из Spotify поднял популярную тему постановки задач. Как найти виноватого между инженером и продактом?

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

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

Хороший инженер должен быть не просто кодером, но и консультантом, который подсветит неэффективные решения.

iOS makes me hate

02 Dec, 18:28


☝🏻💂🏻

Не курим бамбук

iOS makes me hate

02 Dec, 05:59


Сертификаты после прохождения курсов — вредят

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

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

В статье рассказывается:
- указание сертификатов после курсов снижает конверсию откликов
- образование Computer Sience дисциплине повышает
- рекрутеры смотрят на твою родословную и опыт в крупных компаниях сильно помогает в устройстве

Все это довольно очевидно, что многие смотрят на реальный опыт, а не суррогатный.

iOS makes me hate

01 Dec, 09:23


Большая подборка вопросов и задач на хештаблицы

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

В подборке:
🟣Какие структуры данных в Swift используют хештаблицы
🟣Как Swift помогает решить проблему коллизий: Hashable, Equatable, hasher, hashValue
🟣Решение задач в реальной практике и на собесах
🟣Как сделать кастомную хештаблицу

💎 Получить доступ можно на бусти и в телеграмм.

iOS makes me hate

30 Nov, 16:43


кста, главный навык, который я открыл для себя с чатгпт — это чтение чужого кода. Особенно это помогает с чтением открытых библиотек или исходников Apple.

Ты просто скидываешь ссылку на код и просишь объяснить что и за что отвечает. Очень удобно для понимания.

Понятное дело, что есть ошибки, но общая картина выстраивается хорошо

iOS makes me hate

30 Nov, 14:29


Лучшие способы улучшить собесы и что будет с рынком образования

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

Сейчас вижу, как многие компании улучшают или изменяют собесы. Т-Банк, Авито, Яндекс, ВК. У многих компаний уже или скоро будут новые процессы, я и сам активно топлю за это в своей компании. Например, почти у всех уйдут однотипные вопросы на теорию, которую все и так зазубрили или разобрали в чатах или на ютубе, решают через чатгпт. Уйду популярные задачи.

Мотивация простая: все хотят реальных экспертов, а не фейковых. Ну и большой удар по hr бренду, когда твоя компания, даже в неформальной обстановке, имеет репутацию "дырявой". А конкуренты легко сливают в твою компанию вредных и менее эффективных работников. Ты бы сам хотел работать в такой?

Почти все внедряют лайфкодинг+рефакторинг. Это сильно оценивает современный скиллсет, где тебе нужно не просто хорошо писать код, но и быть вдумчивым и осознанным при его написании. Хотят оценить практические навыки кандидата: как он пишет, думает, какие у него стандарты качества, как он может найти ошибку или какие решения предлагает в зависимости от требований и условий. Устные собеседования почти вымрут и оцениваться будут реальные навыки. Станет ли проще? Я сомневаюсь. Критерий и линеек оценок станет еще больше, но процесс точно станет эффективнее и лучше будет отбирать кандидатов с реальным опытом, а не накрученным.

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

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

Что будет с рынком? Я считаю, если все компании сделают по 100-200 уникальных задач, да хотяб 30-40, то вся эта ниша «менторов после курсов», которые через бэкдоры и рефералки зовут нечестных кандидатов сильно просядет. Качество услуг среди них увеличится, так останутся только реальные спецы:
1) Многим менторам самим понадобится время на практику, чтобы подготовиться хотяб к одной компании
2) Не все смогут эффективно подготовить других, тк потребуется по-настоящему сильные навыки педагогики и менторства. А не просто спам мок-собесов и подготовки легенды за пару созвонов.

Ниша сильно поредеет, как риелторы при ставке 30%.

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

В целом, мы станем рынком ит для ФААНГов времен 2015-2019 года, когда для подготовки к интервью понадобится много времени.

А вы как думаете? Какие бы улучшения в собесах предложили?

iOS makes me hate

30 Nov, 05:22


Иван Воробей про будущее iOS в России, джунов и рынок рекламы / ЧТУК

Это не реклама и мне никто не платил

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

В нем обсуждают как сделать свое приложение, монетизацию, про джунов, собесы, кроссплатформу, SwiftUI, Астемира, как Иван заколлабился с Apple и всякие другие разные темы.

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

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

Очень разделяю любовь Ивана к продуктам Apple и прям присоединяюсь к словам напутствия джунам. Лучше и не скажешь

iOS makes me hate

29 Nov, 13:04


Пятничный мотивационный

Закиньте еще голоса на канал

https://t.me/boost/iosmakesmehate

iOS makes me hate

29 Nov, 09:48


💎 Большая статья про хэштаблицы

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

Я вычитал все платные статьи в медиуме, все хабр статьи, книги, доку и исходники, чтобы сделать эту статью. В ней мы разберемся:
🟣Что такое хэштаблицы
🟣Какие проблемы решает
🟣Что такое колизии и к чему приводит
🟣Как Swift решает проблему коллизий
🟣Создаем хештаблицу с нуля
🟣Разбор исходников
🟣Задачи для закрепления

Эта инфа точно пригодится вам в работе и на собеседованиях.

💎 Получить доступ можно на бусти и в телеграмм.

⚠️ Сегодня последний день скидок ⚠️

iOS makes me hate

28 Nov, 10:40


Полезные ссылки про хэштаблицы:

1. Hash Tables - CS50 Shorts
2. HashTable.swift
3. Hashable Doc
4. Hasher
5. How Hashable works in Swift
6. Hashable Enhancements
7. Swift Example HashTable Impl 1
8. Hash Functions in Swift
9. Hash Table
10. Hashing in Computer Science

iOS makes me hate

27 Nov, 09:47


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

База программиста от Влад Тен
@tenfoundation

https://youtu.be/fW_imcrTA_c?si=KU0S22DZzgvLN9Dd


Computer Systems
https://www.youtube.com/watch?v=Keducx5bp-g&list=PL0j-r-omG7i0-mnsxN5T4UcVS1Di0isqf&index=17

https://www.nand2tetris.org

OS
https://pages.cs.wisc.edu/~remzi/OSTEP/

https://pages.cs.wisc.edu/~remzi/Classes/537/Fall2021/

https://pdos.csail.mit.edu/6.S081/2021/schedule.html

Algo
https://www.youtube.com/watch?v=oFVYVzlvk9c&list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY&index=13

https://boosty.to/vladtenishe/purchase/2940916?ssource=DIRECT&share=subscription_link

Math
https://www.3blue1brown.com/#lessons

https://ocw.mit.edu/course-lists/scholar-courses/

https://www.khanacademy.org

https://mathacademy.com/adult-students

Networking

http://gaia.cs.umass.edu/kurose_ross/wireshark.php

https://www.youtube.com/playlist?list=PLoCMsyE1cvdWKsLVyf6cPwCLDIZnOj0NS

DB
https://15445.courses.cs.cmu.edu/fall2024/assignments.html

https://www.youtube.com/watch?v=niLwbfE3V9Q&list=PLSE8ODhjZXjYDBpQnSymaectKjxCy6BYq&index=20

Distributed Systems
https://pdos.csail.mit.edu/6.824/schedule.html

https://www.youtube.com/watch?v=UEAMfLPZZhE&list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB

Security
https://web.stanford.edu/class/cs253/

https://61600.csail.mit.edu/2023/

iOS makes me hate

26 Nov, 06:03


Техники устранения коллизий в разных языках программирования

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

Computer Sience — это масштабная и глубокая наука. Она объясняет нам как работают привычные инструменты. Чем шире и глубже кругозор, тем лучше и крепче знания для решения рабочих задач. Даже вчера, созваниваясь со своим менти, он рассказал, что изучив работу управления памятью в Rust'е он лучше стал понимать как работает память в Swift'е.

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

Для нас хэштаблицы это магическое место, куда можно складывать элементы и брать оттуда за единицу времени. Есть некая хэш функция, которая вычисляет номер ячейки, но бывает так, что для нескольких разных объектов хэш функция вернет одно и тоже число. Если у вас 100 попугаев и 80 клеток, значит в какой-то клетке будет несколько попугаев. Это и называется коллизия.

🔗 Separate chaining

В данном подходе используется вместо одной ячейки используется двухсвязанный список. Соотвественно когда добавляется элемент, высчитывается номер ячейки, находится соответствующий список и добавляется в конец объект. Такой подход используется во многих языках программирования, в том числе в Java, Go, C++.

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

Посчитает ассимптотику по времени.
🟣Поиск элемента: в среднем O(1), в худшем случае O(N)
🟣Добавление элемента: в среднем O(1), в худшем случае O(N)
🟣Удаление элемента: в среднем O(1), в худшем случае O(N)

В Java есть оптимизация, если список разрастается и становится больше определенного количество элементов, то список превращается в сбалансированное двоичное дерево. Соотвественно сложность уменьшается до O(log N)

📂 Open addressing

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

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

Сложность по времени.
🔘Поиск элемента: в среднем O(1), в худшем случае O(N)
🔘Добавление элемента: в среднем O(1), в худшем случае O(N)
🔘Удаление элемента: в среднем O(1), в худшем случае O(N)

Такой подход тоже находит свою реализация в языках программирования, таких как Python, Ruby, Rust.

iOS makes me hate

25 Nov, 13:45


Ну и одна из задач в догонку

iOS makes me hate

25 Nov, 10:31


🧬 Задачи для собеседований: Управление памятью и Capture List

Самая главная тема в управлении памятью — захват ссылок. Нет ни одной другой практической темы. Мне всегда казалось очень странным, что кандидат рассказал про всякие кишки: sidetable, unsafe pointer, WeakObject, жизненный цикл объекта. Но не смог решить простую задачу с захватом ссылок. Прошлый квиз подтвердил, что эта тема требует отдельного разбора.

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

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

В этой подборке с ответами и комментариями я собрал:
🟣популярные классические задачи на захват Reference & Value типов, которые часто дают на собесах
🟣уникальные авторские задачи с комментариями, которые мы придумали лично
🟣практические задачи, которые встречаются в реальной жизни.

💎 Получить доступ можно на бусти и в телеграмм.

iOS makes me hate

24 Nov, 06:00


Список задач с объяснением решений

Месяцев 10 назад я находил то ли ролик, то ли пост создателя Neetcode. Там он делился эффективным методом решения алгозадач. Быстрый ликбез: бывший сотрудник гугла создал свою платформу-задачник, который помогает лучше подготовиться к алгосекциями. Платформа дает самые релевантные задачи и создает роадмапы. Проект стал настолько успешным, что его доход приносит ему 1 лям $ в месяц. Очевидно, он ушел из гугла и начал развивать свой проект. Это снова отличный пример, когда страсть к чему-то и потребность рынка можно монетизировать.

Суть же в том, что его подходы помогают быстрее обучаться другим. Один из таких подходов "не запоминай код — запоминай решение". Множество разработчиков, которые ищут быстрые пути, чаще выходят на самые долгие. Они бездумно и без подготовки сразу идут в практику, прорешивают всё без структуры или еще хуже, тупо пытаются запомнить код. Это все ленивые методы, которые в итоге приводят к огромной потери времени на поздних стадиях. Как в стратегиях и мобах, где ты допустил критическую ошибку в прокачке билда, а лейтгейм уже был проигран из-за ошибки на начальных этапах. Фарм опыта чаще важнее, чем голды.

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

Список будет обновляться.

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

iOS makes me hate

23 Nov, 06:07


Ставь перед собой амбициозные цели

Я рад, что мой канал притягивает тех людей, кого я ищу.

Талантливых, целеустремленных, честных, амбициозных. Такие создают самую плодородную почву. Самую вайбовую атмосферу. Они не привыкли обвинять кого-то в своих неудачах и делают работу до конца. Они вдохновляют, помогают, развивают. Верят в свои силы и не видят невыполнимых задач. Их самооценка всегда на высоком уровне, что не позволяет пользоваться грязными приемами. Для них слова честь и репутация не пустой звук для прогревов и манипуляций. Своим уровнем работы над собой создают новые уровни вдохновения.

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

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

Эта энергия передается и мне. Заряжает и наполняет. Создает четкие границы и фильтры куда нужно смотреть, а на что не стоит тратить время.

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

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

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

iOS makes me hate

20 Nov, 14:22


Плотность таланта бьет массу таланта

На днях услышал интересную “физическую” вариацию небезызвестной цитаты Стива Джобса о том, что “Игроки уровня А нанимают игроков уровня А+. B-игроки нанимают C-игроков, а C-игроки нанимают D-игроков”. Эту мысль сформулировал Дарио Амодеи (CEO, Anthropic) в интервью Лексу Фридману. Он предложил следующий мысленный эксперимент.

Представьте, что есть 2 команды. Первая команда состоит из 100 человек и все 100 являются А-игроками: невероятно умны, высокомотивированы и на 100% заряжены миссией компании. Вторая команда состоит из 1000 человек, из которых 200 супер умных и мотивированных А-игроков, а 800 - случайная выборка из BigTech. Первая команда имеет большую плотность. Вторая команда имеет большую массу. Какую команду Вы выберете?

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

iOS makes me hate

20 Nov, 11:01


Вопросы для собеседований: RunLoop | ч. 1

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

🟣Что такое RunLoop?
🟣Какие основные задачи решает RunLoop?
🟣Как работают таймеры?
🟣Как RunLoop взаимодействует с очередями?
🟣И другие вопросы

💎 Получить доступ по скидкам можно тут или тут

iOS makes me hate

20 Nov, 06:12


Ресурсы для подготовки к system design интервью

Курсы:
https://www.udemy.com/course/system-design-interview-prep/
https://www.educative.io/courses/grokking-the-system-design-interview
https://www.coursera.org/specializations/software-design-architecture
https://www.udemy.com/course/system-design-a-comprehensive-guide/
https://www.educative.io/courses/web-application-software-architecture-101

Бесплатные материалы:
https://github.com/donnemartin/system-design-primer
https://github.com/karanpratapsingh/system-design

Вопросы:
https://medium.com/double-pointer/top-25-system-design-interview-questions-c468e025b370
https://www.educative.io/courses/grokking-the-system-design-interview

По процессу прохождения:
https://habr.com/ru/company/piter/blog/650785/
https://habr.com/ru/company/getmatch/blog/516718/
https://hackernoon.com/anatomy-of-a-system-design-interview-4cb57d75a53f

iOS makes me hate

19 Nov, 18:18


Почему чем сеньорней инженер, тем сложнее ему менять работу

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

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

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

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

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

🟣прыгать каждые 1-2 года по работам простительно новичкам, но для сеньора это уже редфлаг

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

🟣прежде чем увольняться подумайте какие задачи вы сделали после себя. Создание платформ и запуск продукта обычно занимает годы. Одна из причин, почему менеджеры и инженеры становятся более востребованы — они видят несколько этапов роста и могу продать этот опыт в другом месте

🟣автор поговорил с многими инженерами из бигтеха и многие из них приобрели бесценный опыт понимая как решения разыгрываются в большие временные рамки

🟣чем сеньорнее ты, тем сложнее получить повышение.

iOS makes me hate

19 Nov, 13:33


Алгоритмические методы для нахождения решений

Бу, испугался? Это снова пост про алгоритмы. Не бойся.

В нем мы быстро перечислим методы нахождения разных решений. Для меня, как и для многих, есть только одно название решения — brute force. Но, чем глубже погружаешься в эстетику и красоту математики, тем ярче видишь другие решения и их необходимость.

Вот методы, которые помогают найти решения в жизни или коде:
- Переборные методы: туда входит метод полного перебора, а также метод ветвей и границ
- Жадные алгоритмы: Алгоритм Дейкстры и алгоритм размена монет
- Динамическое программирование: задача о рюкзаке
- Эвристические методы: Tabu Search
- Поиск в пространстве состояний: BFS и DFS
- А также: Метод разбиения и завоевания, Методы имитации, Интерактивные методы и др

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

iOS makes me hate

19 Nov, 04:53


📺 Подборка книг и статей по управлению памятью

Когда-то я читал книгу Стивена Кинга "Как писать книги". Главное, что там мне запомнилось, кроме истории как он подтерся ядовитым плющем — это мысль, что хороший писатель делает постоянно две вещи: много читает и много пишет.

Эта мысль отражает весь цикл развития любого эксперта — впитывание и генерация знаний. Для производства хорошего продукта — нужно много впитывать. Это затрагивает любую область. Поэтому, помимо базы знаний, я собираюсь изучить множество книг и других источников. Заглянуть в каждый угол. Собрать сборник лучших источников и переварить их, чтобы дать апгрейд. Собрал интересные статьи и книги по теме "Управление памятью":

🟣ARC Documentation. Забавно, как мы игнорируем доку. Возможно, из-за ее сложности или неполности, но банальные примеры или информации из документаций, многих разрабов вгоняют в ступор.

🟣Исходники Swift'а. Конечно же, главный навык определять сеньора — это умение читать исходники. Зачем нам пересказы, если мы можем изучить первоисточники?

🟣Advanced Memory Management Programming Guide. Знать историю — важно. Для этого есть старая дока, которая для многих даже лучше, чем современная.

🟣Секции WWDC. Видео-формат дает дополнительное закрепление и фиксацию знаний.

🟣Блог Mike Ash'а. Наверное, самое громкое имя, на которое ссылаются все авторы статей про память. Это он рассказал миру про side table, memory layout и многое другое, за что вы не любите собесы

iOS makes me hate

18 Nov, 15:41


Ищу докладчиков для подкастов:
- разработчиков, кто делает BDUI
- экспертов в проектировании всего
- разработчиков, кто улучшал процессы найма
- эксперт metal/GPU

ну и всяких крутых штук. Пишите, если есть интересные темы

Скоро будет интервью с разработчицей из эпл, а впереди еще куча всяких приколов

iOS makes me hate

18 Nov, 04:16


Раздел «про накрутку опыта»

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

Это не будут просто «мнения», но и для любителей пруфов наполню множеством исследований и аналитикой. Посмотрим экспертизу от практикующих экспертов СНГ и запада. Не углубляясь, но оставляя за собой сильную аргументацию на основе практикующих экспертов, а не безработных блогеров.

Вот например мне нравится как Виталий Шароватов сделал крутой пост с разными исследованиями как накрутка опыта ухудшает условия всем.

Вкратце: «чем больше отдельные граждане накручивают опыт (или врут иным образом), тем хуже весь рынок, тем хуже в том числе и этим отдельным гражданам»

Аналитика и пруфы от таких практикующих авторитетов разбивают любую оппозицию.

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

iOS makes me hate

16 Nov, 11:07


BDUI реальность

iOS makes me hate

15 Nov, 11:58


Многопоточность: Делаем свой Runloop с нуля

Пару лет назад я обещал сделать статью с реализацией своего RunLoop’а. Пришло самое время.

Понимания RunLoop'а — ключевая вещь для понимания всей многопоточности.

Я начинаю готовить цикл статей с постепенным погружением в кишки многопоточности.

В этой статье мы сделаем первую версию RunLoop'а, которую будем постепенно улучшать.

В статье:
🟣Что такое RunLoop
🟣Делаем свой RunLoop с нуля
🟣Задачи для закрепления

💎 Получить доступ к статье можно тут

iOS makes me hate

15 Nov, 10:02


🙀🙀🙀 СЛИВЫ АЛГОЗАДАЧ ЯНДЕКСА!

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

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

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

Яндекс и так сделал больше всего работы, чтобы его собесы успешней проходили:
- создал аналог литкода coderun
- уже 5 лет ведет тренировки по алгоритмам
- сделал крутой хэндбук по алгосам
- открыто дает задачник для подготовки

Помогут ли сливы и ХАКНУТЬ СИСТЕМУ? Конечно же нет, ведь открытых материалов еще больше для изучения. Вопрос, хватит ли дисциплины и навыков этот материал изучить.

Мы в чате уже 10 месяцев регулярно решаем задачи. Делаем свой марафон задач для мобилки?

iOS makes me hate

14 Nov, 08:37


Презентация доклада "Анатомия Thread"

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

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

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

iOS makes me hate

13 Nov, 09:19


Как опыт спортивного программирования помогает в работе

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

Я уже решал 365(280) дней алгоритмов и кидал видос про как изменилось мышление у инженера с решением регулярных задач. Разбирали крутой канал, который стал открытием года, а теперь время небольшой практики.

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

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

iOS makes me hate

13 Nov, 04:10


Лучшая реклама Яндекса

Сегодня утром я проснулся с чувством огромного желания работать в Яндексе.

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

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

Даже ребята из Apple, Google, Jetbrains в нашем чате говорят, что лучшие российские программисты — это выходцы из Яндекса.

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

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

В интернете легче обвинить других, чем найти точки роста в себе. Не приняли сеньором? Назовем всех скуфом. Не зовут на конференции? Скажем что конференции не нужны, а если не сработает попросимся со стендом. Не принимают на работу? Скажем что сломан фильтр. Обвиняют во лжи? Скажем, что понятия репутации нет, но вспомним о ней как только нам удобно. Критикуют за дело? Скажем нас просто неправильно поняли и все остальные гейткиперы. Как в том самом меме с Волан-Де-Мортом: «намеков было достаточно, мой скользкий друг»

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

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

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

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

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

Лучший способ не бояться фильтров и собеседований — честный труд и развитие.

iOS makes me hate

12 Nov, 12:40


Основы синхронизации в многопоточности

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

Теперь структура такая:
🟣Для кого статья: начальный, средний, продвинутый
🟣Вводная информация
🟣Краткие выводы
🟣Практические задачи
🟣Квиз

Этой структуре нас долго обучали в разных школах по контекту (яндекс практикум/грейд и тп). Так после многих исследований выяснилось, что такой формат лучше закрепляет информацию. В книге я его чуть улучшу.

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

iOS makes me hate

12 Nov, 06:46


Инкапсуляция и композиция — одни из главных навыков в жизни

Одна из главных идей, которая меня смотивировала писать книгу — инкапсуляция и фильтрация знаний. Это пришло мне в голову, когда я пользовался чатгпт. Качество ответов и уровень информации зависит напрямую от нашей компетенции, образования. Чем умнее и скиллованней человек, тем умнее сама ИИ. Тем она лучше поддается дрессировке.

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

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

Как говорится, Youtube detected — opinion rejected. Я верю, что скоро придумают новое молодожное слово для тех, кто образовывается только по видео из ютуба и тиктока, кто застрял в сериалах и играх.

Искажения, пересказы, домыслы.

Образование только по интернету — тупиковый путь. Буквально на начальных этапах оно дает множество побочных эффектов. Слишком много фрагментов и слухов. Клиповое мышление и эпидемия "СДВГ". Хотя еще в одной из самых крутых книг года говорится, что главный навык программиста — это фокусировка и усидчивость.

Этой книгой я сделаю марафон по усидчивости и фокусировки. Соберу все фрагменты в одну картину. Это будет самолечение.

iOS makes me hate

11 Nov, 11:11


Как использовать ChatGPT для самообучения

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

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

iOS makes me hate

09 Nov, 06:50


Рецензия на любимую книгу Илона Маска

Дочитал книгу «от нуля к единице: как создать стартап, который изменит мир». Мне о ней многие говорили: пара бывших руководителей считали ее одной из любимых. Ребята из сообщества ее также рекомендовали. И не без основательно. Ее автор создатель PayPall и близкий друг Илона Маска, с которым они вместе делали одни из лучших продуктов.

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

Я разберу несколько острых глав:

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

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

3. Рекрутинг — важнейший навык компании. Есть много заблуждений в интернете, что ИИ убьет рекрутинг или хантинг. Что это вредная профессия или абсолютно ненужная. Чаще это пишут люди уже очень далекие от реальности. Смотря сейчас что происходит с рынком США, где хороший рекрутер может получать 20к$, то мы можем понять что эта профессия только стоит перед активным развитием.

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

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

6. Не забывайте о рекламе. Большая проблема инженеров — считать бессмыслицей рекламу и продажи. Ставя реальный труд руками выше грязного маркетинга. Обвиняя маркетологов в переоценке своего труда. Но чаще же работу инженеров и ученых переоценивают

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

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

iOS makes me hate

08 Nov, 14:02


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

Ближайшее мероприятие:

• 30 ноября – 1 декабря — для Android- и iOS-разработчиков, офер за 2 дня в команды Карт и Рекламы.

Зарегистрироваться

iOS makes me hate

08 Nov, 07:46


Управление памятью в ассемблере для Apple Silicon

Все знают насколько тема об управлении памятью популярная. Вокруг нее много холливаров насколько глубоко и широко рядовой разраб должен ее знать. Как часто, кроме собесов и споров в чатах, нужно рассказать чем отличается unownend(safe) от unowned(unsafe)? Насколько детально нужно помнить про жизненный цикл RefObject и этапы создания SideTable? Как правильно считать байты с помощью MemoryLayout?

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

Автор залез еще глубже и разобрал управление памятью в iOS с помощью ассемблера. Мем стал реальностью

iOS makes me hate

08 Nov, 06:59


🌟 Подборка задач на Swift Concurrency

Ну и заканчиваем эту неделю разборами Swift Concurrency подборкой задач.

В них собрал все задачи, которые мы разбирали в комьюнити за последнюю неделю, а также что встречались на созвоне:
- Задача на понимание работы async/await
- Задача на группировку тасок
- Задача на отмену тасок
- И другие

💎 Бонусом сделал скидки в честь черной пятницы

iOS makes me hate

07 Nov, 07:26


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

Первое рабочее название iOS Engineer Story.

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

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

Я настроен крайне воинственно. Это будет мой опус магнум, после которой я почувствую себя свободнее

iOS makes me hate

06 Nov, 06:51


Для чего нужна своя FIFO очередь

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

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

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

iOS makes me hate

05 Nov, 07:04


База знаний по Swift Concurrency

В закрытом канале мы уже поделились полезными ссылками и задачами по Swift Concurrency от Сергея. В этом списке мне понравился один авторский репозиторий.

Здесь собраны интересные материалы, где можно узнать всю базу и не только, по теме. Я как раз собираюсь углубленно изучать Swift Concurrency, так как Сергей поделился как ускорил производительность синхронизации чата своего приложения из 15 минут в 3 секунды. Но тут главное быть осторожным, а то можно наоборот все ухудшить.

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

iOS makes me hate

04 Nov, 13:52


iOS-разработчикам, которые хотят прокачать свои навыки работы с многопоточностью – совсем скоро стартует Podlodka iOS Crew!

С 11 по 15 ноября лучшие эксперты разберут многопоточность, Swift Concurrency и алгоритмы в формате удобных онлайн-сессий.

В программе:

🔹 Александр Андрюхин проведёт нас через особенности Swift Concurrency, которых ты точно не знал
🔹 Swift 6 глазами Александра Априамашвили – как переход на новую версию поможет в повседневной работе.
🔹 Антон Марченко расскажет, как async в алгоритмах делает их быстрее.
🔹 Александр Сычев раскроет механизмы работы Thread и объяснит, как это важно для работы с многопоточностью.

Здесь только прикладная польза, реальные примеры и свежий опыт.

Присоединяйтесь 👉 https://podlodka.io/ioscrew

А промокод ios_crew_14_MwdnTN сообщества даёт скидку в 500 руб🥳

iOS makes me hate

03 Nov, 12:42


Ну и кстати про важность окружения.

В завирусившийся статье про призеров Нобелевской премии были интересные анализы — 702 из 736 нобелиатов были в одной тусовке и знали друг друга. Они либо учились в одних университетах с другими лауреатами, либо были знакомы друг с другом.

О чем это говорит? Как минимум одна из версий правильная:
- Люди делятся знаниями только для членов своего сообщества
- Связи и среда обитания решают больше чем талант и трудолюбие
- Награды дарят только своим
- Умные люди учат умных
- Сильные наставники взращивают сильных инженеров

Окружаем себя только реальными экспертами, а не накрученными?

iOS makes me hate

03 Nov, 07:52


Короче, вдохновившись "the software engineer's guidebook" у меня появилась гениальная (бредовая) идея НАПИСАТЬ СВОЮ КНИГУ.

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

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

Впереди новый цикл развития контента.

iOS makes me hate

02 Nov, 09:52


Об ИПР и карьерном росте

Опять же читаю книгу "the software engineer's guidebook" и дошел до советов по карьерному росту. Я как раз делал недавно новый ИПР и хочу тоже прокомментировать некоторые советы из книги, вперемешку со своими личными.

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

Иногда рост по карьере может сильно отличаться от профессионального развития, это писали при чтении книге "Growing As a Mobile Engineer". Поэтому есть много важных действий, которые необходимы к ускорению

Эти комменты могут быть полезны и вам:

🟣Иди по лестнице последовательно

Одна из моих ошибок, что смотря на следующий грейд, я думал так: "Ага, для след. грейда нужно написать статью или выступить с докладом. Слишком легко. Сделаю конференцию и там будет три доклада" или "Нужно улучшить компоненты компании. Ага, я создам новый стрим с юнит-тестами". Но этот подход не очень помогает оценить твой дифф между текущим уровнем и следующим. А также требует хорошей защиты. Для карьерного роста гораздо лучше идти последовательно к целям 1, 2, 3, 4, 5. А не пытаться прыгать 1, 3, 2, 5, 4. Лучше делать небольшие иттеративные шаги, чем прыгая вперед на два шага, а потом назад один. Это как качаться в качалке с разными весами каждый день и не иметь четкую последовательность, режим.

🟣Не игнорируй маленькие задачи

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

Маленькие задачи могут приносить большой эффект.

🟣Планируй outcome'ы на старте

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

Например, внедрение технологии BDUI помогло нам повысить метрики по качеству или выручки на 3-4%. А благодаря КМП мы ускорили разработки фичи на 30% сторипоинтов.

Иначе, без метрик или четких доказательств, все задачи будут busywork'ами.

🟣Веди логи все время

Очень многое зависит от того, как ты оформишь свой лист с перфоманс ревью. Почти как с резюме. У меня часто бывало, что когда я только начинал писать, то почти все забыл. И думал, что толком ничего не сделал, даже листа не наберу. Потом я тратил много времени собирая все свои output'ы и outcome'ы. Где в итоге, на последнем перфревью, вышло аж 15 листов (конечно, с комментами и другими артефактами)

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

А так хоть самому потом проще собирать для ревью информацию

Делитесь своими советами.

iOS makes me hate

01 Nov, 13:26


💎 БУМ! Воркшоп по собеседованию на тему Swift Concurrency

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

Меня немного прособесил Сергей, где он целый час делился задачами на мидла/сеньора, которые бы задавал разработчику.

Сергей делает сложный мессенджер, где на практике использовал всю мощь Swift Concurrency.

За целый час мы узнали:
🟣Какие задачи нужно давать для оценки навыков
🟣Дает ли буст Swift Councurrency в сложных приложения?
🟣Какие знания он ждет от сеньора?
🟣Как ускорил приложение с помощью SC?
🟣Какие баги были и есть в SC?
🟣А также многое другое

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

🧬 Получить доступ к этому видео можно тут

iOS makes me hate

01 Nov, 05:38


повтор чужого опыта — это скучно

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

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

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

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

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

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

Авторская картина. Уникальный дизайн. Собственный путь. Индекс цитирования. Это не всегда нужно, но гораздо веселее, чем повторять за другими.

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

iOS makes me hate

31 Oct, 19:22


Сегодня 01.11 у меня др

Завтра я этот пост удалю, не хотел его писать, но вдохновился постом Дурова на свой др.

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

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

Я ни разу не просил рекламу и делал только то, что нравится мне. Писал то, что думал. Старался задумываться о своих читателях. Банил хейтеров.

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

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

В нем всегда одна философия — быть полезным себе и другим.

Мы сделали первыми:
- выигрывали телеграм конкурс. Интересно кста перечитывать посты того времени
- Решали алгоритмы 365 дней
- Создавали апку "Симулятор иосника"
- Создали комьюнити
- устроили марафон по проектированию
- Сделали ютуб
- И кучу всего другого

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

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

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

Поддержать вы его можете конечно же тут 🤡

iOS makes me hate

31 Oct, 06:07


☕️ Как я баг исправил, который не могли найти два года

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

Я всегда ищу интересные задачи: помогаю коллегам на работе; менти; беру небольшие подработки, если мне интересен проект. Так я улучшаю карму, повышаю навыки, выходя за границы привычных задач и, конечно, зарабатываю 🤡

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

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

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

🌟 Добавить логи. Зачем мне стараться воспроизвести редкий баг, если я сделаю систему трекинга, которая при воспроизведении у кого-то, даст мне полезную информацию самым быстрым способом.

Окей. С логами понятно, но что будем трекать?

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

Так. Мы научились понимать когда main thread завис. Теперь нам нужно как-то понимать что стало причиной его зависания.

Тут тоже все тривиально. Мы берем Stack Trace и записываем его в файл и отправляем в Firebase. Стандартный
Thread.callStackSymbols
мне не подходил, так как не давал понятной информации. Да и мне хотелось сделать универсальный механизм, который может принимать любой поток и получать его колстэк.

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

Дополнительно сделал экран в дебаг меню, который записывает в формате "Date -> Thread.callstack" логи. Чтобы можно было сразу мне отправить лог, как только получили зависание.

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

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

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

Делитесь своими метриками, которые помогли решить редкие баги

iOS makes me hate

30 Oct, 06:19


Как быть хорошим инженером

Мы уже выяснили, что быть хорошим инженером — это не только классно красить кнопки, но и целый лист требований, которые расширяются. Мы уже писали про Product Minded Engineers.

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

В статье дал такие определения:

🟣Хороший инженер хорошо общается письмено и устно. Его работа напрямую зависит от сотрудничества.

🟣Хороший инженер понимает процессы. Не сабботирует их, а помогают улучшить, либо нарушить.

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

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

🟣Хорошие инженеры упрощают. Они занимаются модульностью, стратегии для тестирования и адаптируются под сложность.

🟣Хороший инженер постоянно учится. Он не боится публично признать свои ошибки и знает, что в следующий раз сделает лучше.

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

iOS makes me hate

29 Oct, 15:00


Можно ли «пройти итшечку» или почему в it нет потолка

Иногда встречаю фразы в интернете «прошел итшку», «дошел до потолка рынка». Обычно это пишут 22 зим от роду менторы, которые утомились от разработки и ушли из найма обучать доверчивых новичков. Я считаю такой путь тупиковый.

Я никогда не видел тех, кто ушел из IT, и потом не вернулся. Мы все здесь навсегда. В одном тесном котле. Просто меняется род деятельности.

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

На лицо эффект Данинга-Крюгера. Тут есть две причины, почему человек говорит о потолках в it, сразу после окончания универа.

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

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

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

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

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

iOS makes me hate

28 Oct, 14:21


Какие книги формируют мышление тру инженеров

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

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

Так я формирую полезный список книг. В догонку про мышление тру инженеров делюсь интересными подборками книг:
- какие книги формируют мышление тру инженера
- Топ-10 книг, которые помогут айтишнику прокачать инженерное мышление
- Booking on developing a programmers/engineers mindset
- 10 Books Every Engineer Should Read

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

iOS makes me hate

28 Oct, 08:53


Умная подготовка к решению алгоритмических задач

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

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

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

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

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

В статье подробно расписаны основные техники, которые могут встретить в реальности

iOS makes me hate

27 Oct, 02:35


Лучший ответ на вопрос «да зачем мне ваши алгоритмы?». Как минимум виза и неплохой доход.

Делаем свой бесплатный марафон по алгоримам?

iOS makes me hate

25 Oct, 10:56


А я напоминаю, что сейчас последние дни скидок и скоро выйдет много уникального контента:
🟣 подкаст про систем дизайн глазами руководителей и инженеров
🟣 воркшоп по Swift Concurrency
🟣 интервью с крутой иос разработчицей из Apple
🟣и много других полезных подборок

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

iOS makes me hate

24 Oct, 09:21


Product Minded engineers

Продолжаю читать на отпуске лучшую книгу про карьерный рост «the software engineer’s guidebook». В ней поднимается тема опыта работы в продуктовых командах. О продуктовом мышлении говорят многие, но лучше формулировки, чем в этой книге, я пока не встречал.

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

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

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

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

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

Почему product minded engineers становятся более привлекательными специалистами?

🟣проактивность

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

🟣понимание бизнеса

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

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

🟣любопытство

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

🟣сильные коммуникативные навыки.

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

🟣находит компромиссы.

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

🟣находит конструктивные корнеркейсы.

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

🟣быстрые циклы разработки.

Продуктовый инженер впервую очередь доносит полезные фичи пользователю и умеет быстро понимать и находить фидбэки от них

🟣комплексные навыки в решении проблем.

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

Если вы еще не начали ее читать, то очень советую.

iOS makes me hate

24 Oct, 04:10


Скоро у нас будет подкаст с разработчицей из Apple, кто разрабатывает апи SwiftUI, контрбьютит в Swift и написала пара пропозалов.

У вас есть возможность накидать свои вопросы. Пишите в комменты или мне @lvbond

iOS makes me hate

23 Oct, 06:17


Найди 10 отличий

iOS makes me hate

21 Oct, 14:02


Инвестиции в долгосрочную или в погоне за инженерностью

Продолжаю читать книгу “the software engineer guidebook” и уже могу сказать, что она лучше предыдущих книг автора.

Он все также продолжает разбирать пути развития инженера. Приводит в пример рост двух инженеров:

- инженер А растет в одной компании. Из Джуна растет в мидла, из мидла наконец в сеньора. Из сеньора он хочет расти в стафф. Тут он упирается в потолок и чаще всего хочет поменять работу. В других компаниях многим предлагают Грейд ниже текущего. Это его не устраивает и он остается на месте или в привычных условиях.
- Инженер Б также растет в карьере и меньше задумывается о грейдах. Вместо пушинга своего менеджера он меняет стэки, где может даже упасть в грейде. Но он меняет свою среду и зону комфорта. Со временем его опыт и знания выделяются независимо от грейда и должности. Так, повторяя эту кривую, он в итоге приходит к позициям или достижениям.

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

Я могу на практике подтвердить эти мысли.
Все чаще новые менти ищут ту самую «инженерность». Хотят заполнить внутреннюю пустоту и достигнуть той самой просветленности.

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

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

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

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

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

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

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

Те, кто стоит на месте, все дальше от требований. А спрос все растет.

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

iOS makes me hate

20 Oct, 09:09


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

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

В текущем же канале сфокусируемся на ит, профессии, карьере и технике

Сейчас там немного постов:
- написал про Гарри Поттера и методы накрутки опыта
- почему ит ипотека это крутой финансовый инструмент и чем же лучше Москва остальных городов

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

https://t.me/+Pw0MiGP-f_szYWEy

iOS makes me hate

19 Oct, 10:07


🧬 Скидка 50% на все закрытые материалы и ресурсы

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

В этом году мы сделали крутую работу. Я был автором курсов в Яндекс Практикуме. Уходил из работы и возвращался. Завел ютуб канал 🤡 Сделал кучу дорогих вещей: женился, купил стимдэк. Но а самое главное — мы стали самым большим закрытым комьюнити среди практикующих иосеров. Это самый масштабный шаг за все существование канала.

За меньше года база знаний собрала 6 гб ресурсов (проверял, когда делал бэкап). Сотни вопросов в закрытых подборок, уникальных статей, ежедневных задач, сделали марафон по проектированию и регулярные мок-собесы с интервью. Собрали 500 разных инженеров из почти всех компаний. Мы стали коллективным разумом, где обмениваемся открытым и закрытым опытом, культурой. Со своим стилем и философией.

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

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

Ваш вклад помогает развивать канал и контент.

💎 Поддержать или подписаться можно тут или в телеграме

iOS makes me hate

19 Oct, 08:11


Премиальные услуги и товары в цифровой экономики

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

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

Много изучаю литературы и историй всяких товаров лакшери сегмента: Dyson, айфоны, Tesla, тачки, недвигу. Изучая это все сильнее меня поглощает желание сделать что-то свое. Эстетика этих продуктов очаровывает.

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

Поделитесь, какие услуги и товары вы считаете в категории премиум? Или довольны их высочайшим уровнем качества?

iOS makes me hate

18 Oct, 15:07


Не ходите часто по собеседованиям

В противовес предыдущему посту я хочу поделиться своими и чужими мыслями почему не стоит часто ходить на собесы. Основано на реальных данных.

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

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

🟣Вас забанят. Компании замораживают ваш статус на полгода/год и повторно пройти интервью нельзя.

Это особенно критично при внезапной потери работы.

🟣Рост внутри компании лучше. Выражу непопулярное мнение, но не всегда скачки по компаниям это хорошо. Чаще новое место может быть всего на 10-15% больше от текущего бюджета. Задачи, процесс и коллектив хуже. На долгосрочной дистанции это скорее проигрыш, а не победа. Прыгая туда сюда, в поисках себя, можно потерять драгоценное время. Начать разгоняться и быстро остановиться, заново собирая ресурсы и вникая в работу.

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

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

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

iOS makes me hate

18 Oct, 08:50


Всегда ходите на собеседования

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

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

Автор статьи рассказывает почему IC8 инженер из Меты посоветовал ему всегда быть "острым":

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

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

🟣Всегда нужно иметь на руках несколько предложений. Так вы увеличиваете шансы улучшить условия.

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

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

iOS makes me hate

16 Oct, 11:51


Rocket Sim

Купил подписку на инструмент, о котором слышу уже года два. Удобный дебагер, который помогает с частыми задачами:
🟣анализ трафика (если лень запускать снифферы)
🟣дизайн ревью верстки
🟣симуляция локации
🟣Быстрая настройка доступов апки
🟣Пуши и диплинки

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

iOS makes me hate

15 Oct, 12:52


Стартапы vs бигтехи

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

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

Так что если вас еще куда-то не взяли, то это не повод расстраиваться или опускаться в самооценки до грязных накруток или читерства. Быть может вы сильны и талантливы в другом

В этой статье хорошо расписано что ожидать от разных компаний

iOS makes me hate

14 Oct, 18:29


🤔🤔🤔

iOS makes me hate

14 Oct, 10:11


🌄 Реализация Debounce: Swift Concurrency, Combine, GCD, Timer

Debounce — очень частая задача везде. От собеса, до реальной практики. Недавно помогал одной компании делать тестовое и в нем ожидал, что кандидат применит дебаунсер.

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

В этой статье я сделал реализацию на почти всех популярных вариациях:
🟣GCD
🟣Swift Concurrency
🟣NSTimer
🟣Combine

🧬 Получить доступ к статье можно через подписку в бусти или в боте

iOS makes me hate

12 Oct, 13:23


Вообще забавно что самый смышленный банк оказался ВТБ.

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

Гении обхода санкций. Тут прям целое искусство

iOS makes me hate

12 Oct, 04:35


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

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

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

Развитие это долгий путь. Где нужно много сил, времени и дисциплины. У меня скоро день рождения и каждый год я основательно меняю свой роадмап развития, который веду еще с 2013 года. Ставлю годовые цели, выбираю ветки куда расти.

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

Собрал, на мой взгляд, самые полезные инструменты для составления ИПР:

🟣Windrose Avito. Отличная матрица с детальным описанием открытых грейдов и их обязанностей. Что что, а лучше Авито пока никто не придумал похожие матрицы, успешно их внедрил и применяет. А уж тем более не открыл их публично.

🟣Шаблон ИПР от Qiwi. Еще один инструмент от руководителя групп разработки Авито с детальными советами. Как минимум я лично убедился в эффективности этого инструмента, где множество разрабов выросло в своих навыках.

🟣Книга "The Software Engineer's Guidebook". Очень подробный сборник универсальных советов для бигтехов и стартапов.

Ну а вы тоже делитесь интересными ресурсами.

iOS makes me hate

11 Oct, 16:28


«Нас заменит не ИИ, а люди, кто эффективней им пользуется»

Эту фразу сказал директор Яндекса. Она емкая и предельно точная.

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

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

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

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

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

Стоит ли бояться ИИ? Нет. Стоит ли бояться людей? Да.

Расскажите, какие курсы по промтингу вы уже прошли или собираетесь.

iOS makes me hate

11 Oct, 06:00


Как находить решения в алгоритмах

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

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

Я уже много раз говорил, что уже 7 из 10 инженеров могут дать рабочее решение. Где только рабочее не будет главным. Важно эффективное.

Условно, есть задача написать функцию, которая принимает массив отсортированных чисел и нужно отдать такой же отсортированный массив квадратов этих чисел. Все просто, можно пройти линейно и просто умножить каждое число на себя. Но это решение не подойдет. Потому что вы не подумали о краевом кейсе, когда могут быть отрицательные числа. Приходит в голову другое решение: умножить каждое число на себя и отсортировать. Но это решение тоже не очень, так как нужно уложиться в сложность O(n), а сортировака O(nlogn). И таких деталей множество. Нужно их все учесть желательно без подсказок.

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

Вот как раз такую статью я и нашел.

iOS makes me hate

10 Oct, 13:26


🌿 Mock System Design Podcast: Модуляризация с Tuist

Записали новое видео-воркшоп про Tuist. Модуляризация — это сложная и популярная вещь. При правильной готовки она может сильно сэкономить ресурсы, повлиять не только на скорость проекта, но и на качество кода. А также сэкономить ресурсы на переиспользование кодовой базы.

В этом выпуске ведущий iOS инженер рассказал как переводил проекты на туист и с чем столкнулся.

Детально пробежались по:
🟣Чем это помогло в проекте
🟣Почему именно туист
🟣Как улучшилась скорость сборки
🟣Как туист помогает найти циклические зависимости
🟣Сколько стоит внедрение туиста в готовый проект

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

🧬 Получить доступ к этому и другим видео можно тут

iOS makes me hate

10 Oct, 08:21


Coding Interview University

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

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

iOS makes me hate

09 Oct, 09:53


🧬 Swift Concurrency: Actors и классические задачи

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

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

Ну а сейчас я потихоньку и тезисно формулирую статьи в базе знаний, но больше фокусируюсь на практике. В этой статье разобрал несколько примеров:
🟣отправка классического запроса в сеть
🟣совместимость кода на GCD и Swift Concurrency с помощью continuations

Дальше будет больше задач, где разберем как сделать дебаунсеры и тротлы, рефреш токены и другие рабочие примеры

🧬 Получить доступ к статье можно через подписку в бусти или в боте