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
Форк фреймворка для собесов по систем дизайну

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

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

В чате мы вместе с опытными архитекторами сегодня уже набросали около 20 задач. На них я подсчитал мне нужно будет 3-4 месяца 🥲

💎 Вступай, чтобы мне помочь
Please open Telegram to view this post
VIEW IN TELEGRAM
104
🌄 Ревью книги: "Growing as a Mobile Engineer"

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

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

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

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

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

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

💎 Почитать перевод и конспекты можно в ноушене
Please open Telegram to view this post
VIEW IN TELEGRAM
13
Xamarin RIP

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

После разговора моя вся вера в кроссплатформы умерла. Инженеры были супер-скилловые, а технологии не выгребали хотелки бизнеса.

В теории и на бумаге, Xamarin лучше любой кроссплатформы:
1. Имееют огромную кодовую базу
2. Любой шарпист легко мог бы писать для мобилок
3. Языку C# кучу лет и он умнее и проработанее Kotlin и Swift
4. Куча готовых решений и библиотек

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

Из минусов:
1. Невозможно в найм.
2. Нет хороших разрабов под все технологии
3. Слишком дорогие
4. Куча лишних абстракций

В итоге, проблемы можно подписать под любую кроссплатформу, где невозможно усидеть на всех стульях
6
💎 Toп вопроcов по собеседованиям | Алгоритмы | ч. 1

Новая подборка вопросов для собесов. Тема алгосы.

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

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

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

В этом сборнике я затронул вопросы:
🟣 Как определить сложности кода
🟣 Что такое алгоритм разделяй и властвуй?
🟣Чем алгоритм скользящее окно отличается от двух указателей?
🟣Какая сложность у метода сортировки коллекций sort?
🟣А также многие другие вопросы

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

🧬 Ознакомиться с другими сборниками тут
Please open Telegram to view this post
VIEW IN TELEGRAM
1021
Если ты не практикующий спец — тебя не слушают

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

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

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

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

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

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

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

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

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

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

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

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

В недавней книге мы разбирали, что выбор компании для роста — очень важная деталь. Ведь если ваш продукт перестал развиваться для мобилок, то вероятней нужно менять стэк или компанию.
7
Media is too big
VIEW IN TELEGRAM
Советы как эффективно тратить деньги:
1. Завести семью и детей
2. Получать образование
3. Оформить бусти подписку у меня
4. Не брать кредитов
952
🌿 Подборка мок-интервью для IOS разработчика

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

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

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

Говорить ртом правильные и понятные слова важно. Не стоит надеясть, что интервьюеры экстрасенсы.

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

💎 Получить доступ можно через ноушен или по скидке тут
Please open Telegram to view this post
VIEW IN TELEGRAM
10
🧬 Custom Notification Center

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

В ней требуется:
🟣Запроектировать класс
🟣Сделать его thread safety
🟣Сделать его memory safety
🟣type safety

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

💎 Как же сделать его лучше можно узнать в закрытом контенте по подписке через бусти или по скидке тут
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
55
Что выведет в консоль?
1422
Когда смотришь презентацию Open AI
18
Как следить за перфомансом своего приложения

Скорость нашего приложения — одна из главных метрик. Например, в Авито есть отдельная платформенная команда Perfomance. Она, с помощью десятков метрик, следит за скоростью приложения. Это сложная наука.

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

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

Как-нибудь напишем свои инструменты для профайлинга.
6
🌿 Алгоритмы в реальной жизни: обход сабвьюх в вью

Часто говорят, что алгоритмы не встречаются в жизни. Также как и математика. Но красота в глазах смотрящего, как говорится.

Одна из частых задач на собесах у многих — это работа с деревом UIView. Да да, на самом деле это то же дерево, хоть многие этого не замечали.

🚘🚘 Давайте разберем такую задачу:

Есть класс MyView, который имеет subviews такого же типа, как и класс.

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


Остановитесь здесь и попробуйте решить задачу.

Когда вы вернетесь, то наверное многие из вас догадались, что это обычный алгоритм BFS (обхода в ширину).

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

Попробуем набросать решение во втором скрине. Можете покидать комменты что бы улучшили.

А какие еще примеры использования алгоритмов в реальной жизни вы знаете? Делитесь в комментах.

💎 Но а если не знаете можно посмотреть в бусти или трибуте
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
12