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

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

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

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

Продуктовый (фича) разработчик — эта роль, где свободы и влияния чуть больше, но и ожиданий тоже. Большие масштабы дают как плюсы, так и минусы. Здесь ты кодируешь 2-3 часа в лучшем случае, много уделяешь время созвонам и синхронизации. Для многих, кто только пришел из интенсивного аутсорса, такой темп кажется преступно медленным. Но спустя время ты понимаешь, что из-за масштабов гораздо важнее не сколько ты делаешь, а какая польза была от твоих действий. Ты становишься более вдумчивым. Тебе дают множество доступов к аналитике, которые влияют на продукт и даже ты можешь сам придумать новую фичу, написать бэк или выйти за границы своей роли, чтобы помочь команде, что тонет в рутине. Ведь вы все в одной лодке. Ты изучаешь экономику продукта, погружаешься в термины и язык управления.

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

Еще раз повторю, что это описание моих моделей и в каждой компании нет четких инструкций и ожиданий от твоей роли. Все это может быть перемешано.
👍24👎2
В ios паттерн MVC как только не интерпретируют и разделяют по слоям. Одни говорят, что контроллера нету. Другие говорят, что View это Xib, Storybord или root view.

Вот в книге “iOS programming. The big nerd ranch guide” так разделен
👍15
📣📣📣📣📣

🤍 Ищу спикеров на митап к осени на тему «современные инструменты разработки». Нужны эксперты в темах:
- SwiftUI
- Async/Await
- Combine (deprecated?)
- Другое

Очень нужна твоя экспертиза и помощь. Пиши мне @lvbond
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Че там по threads?

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

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

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

Сейчас прохожу 1,5 недельный курс по деловой коммуникации и вижу, сколько ошибок допускал раньше.

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

Еще раз замечаю, что доверие — супер важный ресурс для диалога. Если его бюджет закончен, то и любые переговоры будут тупиковые.
👍13😁6👎4
Подборка книг для сеньоров

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

1️⃣ Книги Мэта Нюберга: «Deep Dive into view controllers», «iOS 15 Programming Fundamentals with Swift». Книги автора отличаются своей проработанностью и содержательностью, но для кого-то они будут слишком душные. Отличный контент погрузиться в кишки.

2️⃣ "Advanced Apple Debugging & Reverse Engineering". Одна из редких книг про дебагинг и реверс инжениринг. Поможет узнать как эффективно искать ошибки и потрошить свое устройство.

3️⃣ "Compiling Swift generics". Мощная книга про дженерики, о которой вы недавно слышали. Я ее пока не осилил, но скоро соберусь на рейд и пойду на босса.

4️⃣ "Современные операционные системы". Настольная книга любого инженера, который хочет понять магию в устройстве. Какие карлики сидят внутри телефона и крутят винтики и колесики.

5️⃣ "MacOS and iOS Internals, Volume I: User Mode". Еще одна книжечка по операционкам. Говорят, достаточно первый том, а остальные два для задротов.
👍25🔥13👎2
Мини-тред о приложении Threads на iOS

Вкратце
- Разработка шла 5 месяцев
- 99% натив. 95% Swift
- Почти все на UIKit, но есть немного SwiftUI
👍21👎6🔥3❤‍🔥1
Swift HTTP Types

Вчера эйплы представили новую опенсоурс либу, что помогает оптимизировать работу серверного SwiftNIO и клиентского URLSession.

Что это дает?
- совместимость версий между сервером и клиентом
- упор на современные функции HTTP
- удобство кастинга типов
👍6👎3💯1
Паттерн "Скользящее окно"

Sliding window — один из самых редких паттернов в книгах, но частый на собесах.

Метод скользящего окна возник из более общего принципа кадрирования.

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

Правильное применение метода скользящего окна может привести к оптимизации до O(n).

Где используется:

- протоколах маршрутизации пакетов, например в TCP/IP, скользящее окно используется для согласования Internet Protocol (IP) с Transmission Control Protocol (TCP). IP никогда не может гарантировать, что пакеты будут получены в том же порядке, в котором отправлялись.

- игра змейка

Задачи:
- Longest Substring Without Repeating Characters
- Maximum Average Subarray I
- Longest Subarray of 1's After Deleting One Element
👍8❤‍🔥3😁2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Скинули сливы великого боя

Сорри за кринж, но я знаю именно этого контента вы тут ждали.

Кстати, с учетом кринжа на ютубе, почему у нас еще нет «итшники в ринге»? Тинек vs Сбер. Яндекс vs гугл

Я серьезно. Скиньте локацию
😁12
💎 Релиз симулятора
(версия 0.5)

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

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

Что доступно на релизе:
- более 20 материалов
- 3 тренажера
- 3 теста
- 3 собеседования
- геймфикация
- ачивки

Что-то пришлось вырезать из-за ревью. Все это будет активно дорабатываться в ближайшие недели, но а вы можете предложить свои идеи и доработки. Вступай в чат бетатестеров
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51👍14👎2🆒2😁1