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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
Становится ли iOS разработка сложнее?

Когда я пришел с веба, то писал там на React. В мобилке было много незнакомых мне терминов и механизмов. В web я почти не знал ничего об архитектурах, о структуре проекта думали за меня фреймворки. Там не было многопоточности. Мало задумывался о совместимости версий и релизах. Да и о памяти там не думают так, как на мобилке.

В треде редита юзеры делятся опытом, как забросив на пару лет iOS разработку чувствуют себя устаревшим и кто в этом виноват. Все слишком поменялось и усложнилось за последние пару лет. Насколько сильно поменялись фреймворки и другие библиотеки.
822
не обижайте андроидеров
449🤬21
Forwarded from ermolnik — GDE, Digital Nomad, mobile team lead (Sergei Ermolaev)
3673🤬21
Forwarded from iOS Dev
Способы измерения производительности Swift-кода

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

Для этого можно попробовать:

🔘 Написание юнит-теста в проекте Xcode.
🔘 Использование Playground
🔘 Написание юнит-теста и его использование через терминал.

📖 Более детально с этими способами и выводами можно ознакомиться в этом материале.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
6🤬222
This media is not supported in your browser
VIEW IN TELEGRAM
Покупаем курс самопрезентаций у Яндекс практикума
14🤬52
Проблемы software engineering

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

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

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

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

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

📍 Какие материалы и инструменты помогают мне лучше формулировать мысли:

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

Ну и самое главное надо помнить, что одного чтения книг и просмотра лекций не хватает для создания навыков. Важна практика.
Please open Telegram to view this post
VIEW IN TELEGRAM
1083
Что ждет FAANG в 2024 году?

Найм в Meta вырос на 800% с января, в Netflix на 300%.

Сайт interviewing.io на основе своих данных, подготовил предсказания на 2024 год. Сервис отслеживает, кто в какие компании готовится, какие мок-интервью покупает и кто в конце концов получает оферы.

🟢 В 2024 году FAANG начнет нанимать больше инженеров. Сейчас только Meta и Netflix агрессивно нанимают, но в следующем году остальные компании последуют их примеру.

🟢 С января 2024 года найм мидлов и синьоров значительно вырастет.

🟢 Как минимум ближайшие 6 месяцев компенсационный пакет не изменится (зарплаты, бонусы, акции).

🟢 Как минимум следующие полгода, компании будут продолжать пытаться убедить кандидата принять офер на ступень ниже. В FAANG есть вероятность 57% что вам предложат грейд ниже вашего. В других компаниях этот показатель 37%.

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

🟢Не смотря на благоприятный прогноз, рынок еще долго не вернется к прежнему состоянию.
Please open Telegram to view this post
VIEW IN TELEGRAM
16🤬2
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня мы драматичные
1554
Подробнее о ключевом слове final

Многим известно, что final классы приводят к оптимизации. Его советуют использовать также в доке по оптимизации в соурсах.

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

Основные причины использовать final:
🟡Оптимизация производительности. Методы и свойства становятся статическими, что помогает сократить поиск во время выполнения
🟢Поддержка цельности. Мы запрещаем изменение свойств и методов.
Please open Telegram to view this post
VIEW IN TELEGRAM
8🤬1
Async/Await for Swift

Я тут хотел освежить память в чем же плох GCD и зачем нам нужна новая система многопоточности.

В итоге, не нашел ничего полезного этого материала. Автор, кстати, был одним из тех, кто описывал пропосал по Structured Concurrency.

📌 Какие же главные минусы у GCD?

Pyramid of doom — вложенность кода с колбэками затрудняет чтение и дебаггинг
Проблема обработки ошибок.
Неэффективное использование ресурсов из-за ограничений тредов
Легко допустить ошибки с возвратом колбэков
Please open Telegram to view this post
VIEW IN TELEGRAM
15🤬4
Как саботировать работу в ит-компании?

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

ЦРУ во время второй мировой войны выпустило книгу «Simple Sabotage». В ней изложены различные способы, с помощью которых злоумышленники могут подорвать производительность компании.

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

Некоторые советы применимы к нашей области:

🟣Все должно быть по правилам и с соблюдением бюрократии. Не допускайте «срезания углов» и быстрых решений.

🟣Много говорите и как можно дольше. Рассказывайте личные истории и анекдоты.

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

🟣Как можно чаще поднимайте проблемы, которые не относятся к делу. Требуйте точных формулировок, соблюдения процессов и протоколов.

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

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

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

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

Интересен другой вопрос, а не являемся ли мы сами саботерами? На уровне подсознания эти действия кажутся абсолютно нормальными и многие, как и я, иногда не замечали как сами так ведем.
Please open Telegram to view this post
VIEW IN TELEGRAM
954🤬3
This media is not supported in your browser
VIEW IN TELEGRAM
Как скачивать ipa файлы прям из Appstore

Тут поделились прикольной тулзой, которая позволяет скопировать в готовый ipa любую апку из стора.

Отлично подходит для удаленных апок из стора, чтобы потом раздавать на устройства
364
Welcome. Небольшой намек куда ушел 🤣
Please open Telegram to view this post
VIEW IN TELEGRAM
76233🤬1
Моя любимая задача с собесов по программированию

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

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

Статья за авторством Carlos Arguelles, бывший Bar Raiser в Амазон. За свою карьеру провел больше 1000 собеседований.

Carlos поделился своей любимой задачей по програмированию, которую уже задавал порядка 500 раз и которая, по его мнению, на 95% совпадает с итоговым решением.

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

Многие стремятся сразу написать сходу самое лучшее решение. Но интервьюер оценивает не только код, но и как мыслит кандидат. Какие вопросы задает кандидат, подмечает ли краевые кейсы, как оценивает решения, сколько помощи требует. В конце концов, собеседование это поиск ответа на вопрос «Смогу ли я работать с этим человеком?».

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

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

🟣Более грамотные специалисты догадываются, что скорость поиска O(1), необходимую для превращения O(n²) в O(n), может обеспечить словарь (Map). Лучшие же кандидаты предусмотрительно отмечают недостаток такого подхода, заключающийся в использовании O(n) памяти. Здесь повышение скорости достигается за счёт увеличенного потребления памяти.

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

Поэтому, нужно уметь считать сложность и знать время и память основных структур данных и алгоритмов.
Please open Telegram to view this post
VIEW IN TELEGRAM
21🤬42
Технические блоги для систем дизайна

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

Я почти не подписан на другие каналы, кроме своего 🙂 слишком скептически отношусь к любому человеку за которого не берет ответственность ни компания, ни другой образовательный механизм. Ну или человек активно технически контрибьюти в комьюнити и его экспертность доказана через крутые проекты, конкурсы или Олимпиады. Даже часто задаю себе вопросы «а прав ли я». Слишком легко во всем ошибиться. Пока не покрою тестами — не появится доверие

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

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

Ниже список интересных статей:
Netflix TechBlog
Uber Blog 
Engineering at Meta
LinkedIn Engineering
AWS Architecture Blog 
Stripe Blog: Engineering
Discord Blog: Engineering & Developers
Slack Engineering
8🤬41
От каких компаний русскоязычные айтишники больше всего хотят получить оффер, а от каких — в ужасе отшатнутся?

Это один из многих вопросов, на которое отвечает большое исследование NEWHR Data. Мы провели его в сентябре 2023 года.

— Выборка исследования: 807 человек. Анкеты заполнили представители 16 IT-специальностей и всех грейдов вплоть до C-level.
— Мы выяснили, чего айтишники хотят от работодателей на российском и зарубежных рынках. И наоборот — что отталкивает кандидатов.
— Узнали, в каких странах айтишники живут, планируют искать работу и многое другое.
— Например, 5 из 10 наших респондентов живут за границей. А 3 из 10 готовы к трудоустройству только в зарубежные компании.

🦄 Полную версию исследования читайте по ссылке 🦄
🤬41
IT перестало быть гарантией работы

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

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

Как это повлияет на студентов?

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

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

Будущее IT специальностей будет там, где ИИ пока не может превзойти кожаных мешков. В любознательности, креативности и способности композиции идей.

Как часто вы пользуетесь ИИ для работы?
🤬18102