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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
📺 Мок-собес по платформе от разработчика из яндекса

Еще один ролик на ютуб. Внезапно через час я дропаю в публичный доступ.

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

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

🧬 Вступайте хотите получить доступ к остальным закрытым видосам

А если хотите провести/пройти — пишите мне в лс @lvbond
Please open Telegram to view this post
VIEW IN TELEGRAM
102
iOS Makes Me Hate pinned «📺 Мок-собес по платформе от разработчика из яндекса Еще один ролик на ютуб. Внезапно через час я дропаю в публичный доступ. На этот раз его проведет разработчик из яндекса, где покажет как примерно проходят собесы. Пройти собес и работать в яндексе считается…»
Спецоперации по оптимизации

Тревожные слухи ходят по интернету. Сначала пишут о массовых сокращениях в ABBY, потом в VK, потом про WB. Никто не называет это сокращениями, а снова завуалировано прячется под «оптимизацией».

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

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

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

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

Мне кажется, что бизнес ориентированность, осознанное программирование, эффективное управление ресурсами это базовые вещи, что всегда в цене независимо от времени и цикла.
133
Forwarded from КиберТопор
Telegram разрабатывает замену YouTube — команда мессенджера объявила конкурс на создание нового видеоплеера с поддержкой HLS-стриминга.

Известно, что разработка будет функционировать внутри самого Telegram, без посредника в виде стороннего браузера, а также сможет автоматически подстраивать качество ролика под скорость интернета.

Сначала новинку выкатят на iOS, а потом и на Android с десктопом, ждем.

🕹КиберТопор — Подписаться
27
SwiftUI Best Architecture

Потихоньку я наконец-то переключаюсь в современные стандарты разработки SwiftUI и Swift Concurrency и хочу поднимать темы, которые мало кто понимал: от перфоманса и масштабирования архитектур, до решения классических задач в стиле нетворк клиентов и рефреш токенов. Короче, конвертить весь мой опыт под стэк и брать самые нестандартные кейсы.

Делаю пет-проект для себя и бросаю себе вызовы. Я уже выбирал архитектуру MVI+SwiftUI, но а сейчас хочу посмотреть на что-то рыночное. То, что популярно в сообществах.

Нашел очередной срач в редите. Если вкратце, комьюнити разделилось на два лагеря:
- одни говорят что MVVM архитектура подходит только для маленьких апок
- другие говорят, что MV идеально организует код и избегает лишних абстракций в больших

Делитесь какими архитектурами пользуетесь вы
9
🧬 Запах кода: цикломатическая сложность

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

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

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

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

Интересные ресурсы:
🟣Cyclomatic Complexity: A Complete Guide
🟣Cyclomatic Complexity Calculator
🟣Metric definitions
🟣Cyclomatic Complexity in Swift: Understanding How it Affect Your Code Quality
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
62
Программисты больше не нужны

Вчера в нашем чате сеньор разраб из гугла рассказывал как проводил собес сеньора из apple и как тот максимально провалил собес по SwiftUI и UIKit. Аккуратно под это событие вышел подкаст с принципал инженером из Apple, который дает комменты про Google.

Вкратце:
🟣гугл делает кучу ненужных продуктов, поэтому многие разрабы делают много ненужного
🟣все компании нанимают разрабов, которые умеют переучиваться.
🟣Не важно, на каких языках ты пишешь, но важно, что если не хочешь учить новые языки — ты никому не нужен
🟣Гугл не нанимает программистов. Гугл нанимает умников, которые умеют программировать.
🟣Нельзя выучить литкод. Задача на интервью через литкод понять как ты умеешь решать пазлы
🟣Гугл не нанимает узких специалистов
Please open Telegram to view this post
VIEW IN TELEGRAM
11
🧬 Swift Concurrency: Actors и классические задачи

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

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

Ну а сейчас я потихоньку и тезисно формулирую статьи в базе знаний, но больше фокусируюсь на практике. В этой статье разобрал несколько примеров:
🟣отправка классического запроса в сеть
🟣совместимость кода на GCD и Swift Concurrency с помощью continuations

Дальше будет больше задач, где разберем как сделать дебаунсеры и тротлы, рефреш токены и другие рабочие примеры

🧬 Получить доступ к статье можно через подписку в бусти или в боте
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Coding Interview University

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

Это многомесячный план обучения, чтобы пройти подготовку в крупные FAANG компании. По заверениям автора это полноценная замена университета, но в отличии от инфоцыганщины он сразу предупреждает что нужно время, усидтчивость и терпение.
1172
🌿 Mock System Design Podcast: Модуляризация с Tuist

Записали новое видео-воркшоп про Tuist. Модуляризация — это сложная и популярная вещь. При правильной готовки она может сильно сэкономить ресурсы, повлиять не только на скорость проекта, но и на качество кода. А также сэкономить ресурсы на переиспользование кодовой базы.

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

Детально пробежались по:
🟣Чем это помогло в проекте
🟣Почему именно туист
🟣Как улучшилась скорость сборки
🟣Как туист помогает найти циклические зависимости
🟣Сколько стоит внедрение туиста в готовый проект

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

🧬 Получить доступ к этому и другим видео можно тут
Please open Telegram to view this post
VIEW IN TELEGRAM
17
Как находить решения в алгоритмах

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

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

Я уже много раз говорил, что уже 7 из 10 инженеров могут дать рабочее решение. Где только рабочее не будет главным. Важно эффективное.

Условно, есть задача написать функцию, которая принимает массив отсортированных чисел и нужно отдать такой же отсортированный массив квадратов этих чисел. Все просто, можно пройти линейно и просто умножить каждое число на себя. Но это решение не подойдет. Потому что вы не подумали о краевом кейсе, когда могут быть отрицательные числа. Приходит в голову другое решение: умножить каждое число на себя и отсортировать. Но это решение тоже не очень, так как нужно уложиться в сложность O(n), а сортировака O(nlogn). И таких деталей множество. Нужно их все учесть желательно без подсказок.

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

Вот как раз такую статью я и нашел.
9
«Нас заменит не ИИ, а люди, кто эффективней им пользуется»

Эту фразу сказал директор Яндекса. Она емкая и предельно точная.

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

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

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

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

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

Стоит ли бояться ИИ? Нет. Стоит ли бояться людей? Да.

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

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

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

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

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

Собрал, на мой взгляд, самые полезные инструменты для составления ИПР:

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

🟣Шаблон ИПР от Qiwi. Еще один инструмент от руководителя групп разработки Авито с детальными советами. Как минимум я лично убедился в эффективности этого инструмента, где множество разрабов выросло в своих навыках.

🟣Книга "The Software Engineer's Guidebook". Очень подробный сборник универсальных советов для бигтехов и стартапов.

Ну а вы тоже делитесь интересными ресурсами.
Please open Telegram to view this post
VIEW IN TELEGRAM
864
This media is not supported in your browser
VIEW IN TELEGRAM
Вообще забавно что самый смышленный банк оказался ВТБ.

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

Гении обхода санкций. Тут прям целое искусство
23
🌄 Реализация Debounce: Swift Concurrency, Combine, GCD, Timer

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

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

В этой статье я сделал реализацию на почти всех популярных вариациях:
🟣GCD
🟣Swift Concurrency
🟣NSTimer
🟣Combine

🧬 Получить доступ к статье можно через подписку в бусти или в боте
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Все чаще слышу от бизнеса, как многие разработчики отказываются принимать офферы из-за BDUI. Где объем задач на нем > 80%. Кого-то даже бизнес просит сделать рекламные доклады как крут BDUI.

Пришли бы вы на проект, где только бы пришлось работать с BDUI?
Anonymous Poll
15%
Да, мне ок
20%
Да, но за прайс выше рынка
6%
Да, был опыт, все ок
18%
Нет, опыта нет. Не хочу
7%
Нет, опыт был. Не понравился
10%
Нет, когда-нибудь потом
25%
Да кто ваш такой этот BDUI?
🤔🤔🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
84
Стартапы vs бигтехи

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

Я часто говорил своим менти, что не стоит романтизировать работу в какой-то компании. У нас даже был опыт с одним. Он самоучка, где мы долго готовилсь в ВК, получил оффер, но спустя пару месяцев он дико разочаровался в найме и ушел делать свои продукты. Где уже 3 года успешно занимается этим и даже собрал штат, где делает продукты на заказ.

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

В этой статье хорошо расписано что ожидать от разных компаний
11
This media is not supported in your browser
VIEW IN TELEGRAM
Rocket Sim

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

Я пока еще не пользовался с целью улучшения перфоманса и полностью не прощупал инструмент. Поэтому можете поделиться в каких задачах он вам уже помог и какая функция для вас более полезная.
Please open Telegram to view this post
VIEW IN TELEGRAM
9