iOS Makes Me Hate
3.94K subscribers
1.16K photos
169 videos
15 files
1.33K links
Авторский канал про iOS разработку. Путь продуктовых самураев в MAANG.

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
Рекомендация на выхи

Кстати, начал все же качать свою речь. Чтобы быть более дружелюбным к новым читателям 🙂🙂🙂

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

Мне кажется, я даже промты буду по-другому для чатгпт писать

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

В этом году контента про использование AI на работе будет много на канале. Мы углубимся в эту тему и наберем экспертизу. Вся суть современного образования поменялась или поменяется.

Игра изменена. Многие мои знакомые уже испытывают дикий дискомфорт от программирования без AIшек.

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

🟣Сила «правильных» запросов
Большое внимание уделяется умению сформулировать чёткий запрос (prompt), поскольку итоговый ответ модели напрямую зависит от полноты и точности запроса.

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

🟣Подход к сложным задачам
Автор рекомендует делить задачу на более мелкие части (decomposition): сначала с помощью LLM уточнять суть проблемы, а потом использовать модель для решения каждой небольшой подзадачи.

Таким образом, LLM как бы «ведёт» пользователя пошагово, помогая не терять общий фокус.

🟣Проверка фактов и итогового качества
Важно критически оценивать ответы модели, не полагаясь на них слепо. Модели склонны к «галлюцинациям», поэтому стоит перепроверять факты и логику.

Автор всегда проверяет выдаваемые ссылки, код и формулы.

🟣Баланс автоматизации и творчества
Несмотря на то, что LLM помогают генерировать идеи и контент, автор подчёркивает роль человека как «главного редактора» и куратора.

Он использует машину для черновиков, а итоговую структуру и качество доводит сам.
Please open Telegram to view this post
VIEW IN TELEGRAM
93
Реализация кастомной коллекции: пишем свой Copy-on-Write

Продолжаю серию постов. В прошлых мы разобрали:
🟣зачем нам нужна коллекция со слабыми ссылками
🟣потокобезопасность коллекции и плюсы и минусы разных инструментов
🟣добавили subscript и Sequence

В этом посте мы напишем свой Copy-on-Write. Как мы помним, CoW — это инструмент оптимизации, который помогает отложить копирование коллекции до первого изменения.

Конечно, можно обойтись и не писать CoW. Изменив некоторые типы на struct или добавив NSMutableArray. Но давайте разберем почему это не всегда хорошо.

Детально разберем на слайдах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
9
Анатомия Thread

Статья от Саши Сычева про потоки. О докладе мы писали уже давно.

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

🟣Объяснение понятий конкурентности и параллелизма
🟣Определения программы, процесса, потока и задачи.
🟣Сравнение потоков ядра (kernel threads) и зеленых потоков (green threads).
🟣Рассмотрение потоков на уровне операционной системы.
🟣Обсуждение моделей многозадачности: кооперативной и принудительной.
🟣Роль планировщиков и инструментов многопоточности.
🟣Анализ закона Амдала и его применения.

А также полезные свойства потоков для обычных работяг.
Please open Telegram to view this post
VIEW IN TELEGRAM
8
💎 Управление памятью: Memory Layout, Memory Safety, Unsafe Pointer

Заключительная тема из первого цикла статей про память. В ней мы разберем:
🟣что такое memory layout
🟣как работать с поинтерами
🟣советы как оптимизировать это все
🟣полезные ссылки на документацию и WWDC
🟣и порешаем прикладные задачи.

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

Весь цикл статей:
🔘Управление памятью в iOS: Stack, Heap, RAM
🔘Управление памятью: MRC/MRR, ARC, Auto Release, Memory Leaks
🔘Управление памятью: SideTable, RefCount, HeapObject, Object Lifecycle
🔘Подборка задач и вопросов: Сopy-on-Write
🔘100 вопросов для подготовки к собеседованию по управлению памятью
🔘100 задач по управлению памятью (30 задач из 100)
🔘Реализация кастомной коллекции

Получить материалы по скидке вы можете 💰 тут или ⭐️ тут
Please open Telegram to view this post
VIEW IN TELEGRAM
7
Forwarded from Тимур Тибеев | BigTechDream (Timur Tibeyev)
💂‍♀️Конец "rest-and-vest" в Big Tech

Как изменилась культура работы в крупных IT-компаниях и почему “насиженные места” стали историей?

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

💼 Когда-то считалось, что в Google, Microsoft и Facebook инженеры могли получать большую зарплату, делая минимальную работу — просто ждать, когда акции, полученные при приеме на работу, вырастут в цене. Этот подход "rest-and-vest" позволял работать и не перенапрягаться 🥱

Но сегодня Big Tech стал гораздо жестче в вопросах производительности и увольнений:

🔹В Meta начались первые массовые увольнения на основе производительности. Недавно около 3,700 сотрудников были уволены как "низкоэффективные". Увольнение были и раньше, но это в первый раз, когда причина перформанс.

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

🔹Amazon и Netflix и так придерживались жесткой политики: Amazon каждый год ставит цели по увольнению 6% сотрудников, а Netflix использует принцип "если держат, значит нужен", увольняя тех, за кого руководитель не стал бы бороться.

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

💡И что это значит, Тимур?

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

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

Ну а если статья как раз про вас, то стоит хорошенько подумать над тем, куда дуют ветра, классика "Меняйся или Сдохни". 😬

➡️Ссылка на статью
https://newsletter.pragmaticengineer.com/p/is-big-tech-becoming-more-cutthroat
Please open Telegram to view this post
VIEW IN TELEGRAM
3
OSAllocatedUnfairLock

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

Если мы хотим выполнить наш код максимально эффективно, то на помощь приходит unfair lock.

Unfair Lock, в отличие от “справедливых” блокировок, которые пытаются раздать ресурсы потокам в порядке их ожидания, “несправедливые” блокировки позволяют текущему потоку повторно захватывать блокировку, даже если другие потоки уже ждут. Это повышает производительность, но может вызвать голодание потоков.


🔘OSAllocatedUnfairLock быстрее традиционных мьютексов (pthread_mutex_t)
🔘Если потоки не могут сразу получить доступ к ресурсу, они будут “усыплены” ядром до освобождения блокировки, что снижает нагрузку на процессор.
🔘Если поток с более высоким приоритетом ждёт блокировки, ядро может предоставить ему доступ раньше, чем потокам с низким приоритетом.
Please open Telegram to view this post
VIEW IN TELEGRAM
8
читаю книгу "System Design. Подготовка к сложному интервью" и пока это лучшая формулировка со старта, которая дает ёмкое определение а зачем это всё.
116
Channel photo updated
Новая аватарка в арку самураев

Полистал свои старые записи и удивился, что с философией самураев я себя ассоциировал еще с 2018 года.

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

Мне нравится их преданность делу и непоколебимость в действиях. Смелость и строгость. Честность и глубина. Стойкость и отвага. Несгибаемая воля и боевой дух.

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

За рисунок спасибо моему брату по оружию и сёгуну Артему @itsoveragain
28106
iOS Makes Me Hate
читаю книгу "System Design. Подготовка к сложному интервью" и пока это лучшая формулировка со старта, которая дает ёмкое определение а зачем это всё.
Джимми не прошел систем дизайн 😂

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

Впервую очередь для себя🙂 потому что читая разные источники чаще ты многое упираешься в бэкенде или субъективные критерии. Задаешь вопросы «а почему так, а не вот так?». Плюс еще они могут противоречить друг другу в зависимости от интервьюера.

А у меня есть ресурс в виде аудитории сформированных инженеров, которая может мне помочь сформировать средний по больнице пул критериев
Please open Telegram to view this post
VIEW IN TELEGRAM
18
Тема клипового мышления, вреда рилсов, неадекватной проверки мессенджеров — избита.

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

Кстати, "поток" как раз помогает с этим бороться. Скоро будем разбирать книгу "Deep Work". Она считается одной из лучших для программистов.

https://www.youtube.com/watch?v=IBndA7442Ls
113
🧬 System Design: Ресурсный инженер

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

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

В книге "Mobile System Design" Тьёрд ин ’т Веен разбирает важную модель идеального кандидата. Он, также как и все, акцентируется на критериях оценки и что не бывает идеальных решений. Всё зависит от условий и контекстов.

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

Что подразумевается под “ресурсным инженером”?

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

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

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

🧬Рациональность в разработке.
Нужно оценивать, что инженер создаст простой, но гибкий код без чрезмерного усложнения. Избегание over-engineering'а.

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

“Ресурсный инженер” (Resourceful Engineering) — это специалист, который не просто решает задачи, а делает это с умом, гибкостью и вниманием к деталям, обеспечивая устойчивость и масштабируемость системы. Интервьюеры ценят не заученные ответы, а умение задавать правильные вопросы. Например, если вам дают задание — уточняйте детали, это покажет вашу глубину мышления.


К сожалению, многие собеседования даже в крутые компании не оценивают этот скилл, а ждут что кандидат быстро под копирку выдаст готовое решение. Не оценивают процесс поиска решений и подходы. Поэтому сейчас даже у многих руководителей большие вопросы зачем нужен текущий процесс, если на нем оценивают лишь как ты рисуешь готовые шаблоны.
Please open Telegram to view this post
VIEW IN TELEGRAM
7
Кривая влияния LLM на инженеров-программистов

Прикольная статья как LLM влияет на инженеров по-разному.

Например, для сеньоров, LLM не сильно полезен. А вот для джунов и стафф инженеров — это крутой инструмент.

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

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

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

Стафф+
А вот тут самое удивительное. Для них LLM становятся полезными инструментами при создании прототипов и проведении экспериментов, позволяя быстрее проверять новые идеи и подходы.
124
Открытые собеседования Яндекса

Яндекс опять положил всех на лопатки.

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

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

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

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