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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
BDUI реальность
2943
Раздел «про накрутку опыта»

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

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

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

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

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

Также восхищает уровень коммуникации Виталия. При явной неприязни к накрутчикам или оправданию этой позиции он ведет очень крутую коммуникацию и дает крутейшие аргументы почти каждому
5
Ищу докладчиков для подкастов:
- разработчиков, кто делает BDUI
- экспертов в проектировании всего
- разработчиков, кто улучшал процессы найма
- эксперт metal/GPU

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

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

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

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

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

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

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

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

🟣Блог Mike Ash'а. Наверное, самое громкое имя, на которое ссылаются все авторы статей про память. Это он рассказал миру про side table, memory layout и многое другое, за что вы не любите собесы
Please open Telegram to view this post
VIEW IN TELEGRAM
9
Алгоритмические методы для нахождения решений

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

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

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

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

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

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

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

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

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

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

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

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

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

🟣чем сеньорнее ты, тем сложнее получить повышение.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
9
Вопросы для собеседований: RunLoop | ч. 1

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

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

💎 Получить доступ по скидкам можно тут или тут
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Forwarded from armansu
Плотность таланта бьет массу таланта

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

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

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

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

За счет таланта и упорства. Без накрутки и обмана. Контрибьютив в swift и занимаясь своими проектами. В штат, а не контракт. Занимаясь развитием SwiftUI и Swift Concurrency.

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

В рамках строгого NDA мы обговорили:
🟣как контрибьютинг в swift помог ей в карьере
🟣какие пропозалы написала Сима
🟣что улучшила в компиляторе
🟣как помогло высшее образование
🟣что она посоветуют другим разработчикам
🟣нужно ли знать алгоритмы чтобы попасть в Apple
🟣чем она занимается в Apple
🟣и многое другое

Также я уговорил Симу создать свой телеграм канал. Потому что Готэму нужны новые герои.

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

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

После общения с такими людьми мотивация творить разрывает.
Please open Telegram to view this post
VIEW IN TELEGRAM
72108
Ставь перед собой амбициозные цели

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

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

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

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

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

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

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

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

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

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

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

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

P.S. На днях я также пересмотрел свои подходы к обучению и теперь буду делать больше упор на задачи, а не вопросы.
15
🧬 Задачи для собеседований: Управление памятью и Capture List

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

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

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

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

💎 Получить доступ можно на бусти и в телеграмм.
Please open Telegram to view this post
VIEW IN TELEGRAM
9
Ну и одна из задач в догонку