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
Основы алгоритмов от яндекса

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

Вот. Скоро будет хэндбук, который поможет всем нам стать чуточку умнее
👍15💘3👾31🆒1
а вы говорили математика не нужна...
🫡11👍5🔥3👾3
Leetcode отменяется: Опыт собеса в Stripe

Собесы — головная боль многих. Как начинающих джунов, так и опытных разрабов и даже тимлидов. Уметь проводить собес интервьюеру очень важно. В авито у нас есть система обучения. Ты должен на каждую секцию придти слушателем 3 раза и после получить 2 апрува под присмотром более опытного эксперта. Всего 3 секции. А значит 15 собесов только на обучение минимум. Я обучился уже всем. На каждой провел по 10-20 собесов, но даже скажу, что такая дорогая и проработанная система имеет свои сложности по актуализации и опылению между старенькими и новенькими.

Да и мне есть с чем сравнивать. Пройдя около 30-40 и проведя еще 100 собесов в разных компаних за весь свой опыт. Как оценивать кандидатов спорят все. И даже найдя компромиссы и зарегламентировав правила каждый будет оценивать по-своему и где-то игнорировать общие рекомендации.

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

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

Слово алгосы уже всех пугает. Поэтому можно сделать собесы чуть живыми
👾7👍6❤‍🔥1🔥1
Менторы, онлайн школы, эксперты на ютубе — это все привело к перенасыщению рынка спецов с 2 месяцами опыта и зарплатными амбициями директоров гугла. Они обещали им работу, но оставили только разочарование и обиду.

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

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

Девушки в видео очень толково раскидали за жизнь в сложных направлениях (МЛ, биг даты, нейросетки). Зачем нужна база и как минимум системное мышление.

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

https://www.youtube.com/watch?v=fA7FHj7wbss
🫡8👍5💯2👾2
Переписываем старый проект на obj-c с помощью ЧатГПТ

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

Здесь опять облегчает нашу работу чатгпт. Он не заменяет полноценно и работает по принципу корявого гугл переводчика, но все же сильно помогает в работе
👍6👾1
📚 "Четвертая промышленная революция"

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

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

Одна из лучших книг, которая показывает важности цифровых экономик.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👾1
Off-Screen Rendering и Blended Layers: Основные поинты

Кто не знает о Off-Screen Rendering, то еще года полтора назад я писал статью на хабре. Она затрагивает вопрос оптимизации UI. Что такое лаги и почему они могут происходить.

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

Вот основные кейсы:

- Off-screen рендеринг это часть отрисовки котороая не может быть выполнена на GPU и должны быть выполнена на CPU.

- Обнаружить проблему off-screen рендеринга можно через Debug меню iOS Simulator'a, выбрав опцию "Color Offscreen-Rendered Yellow".

- Кейсы которые приводят к off-screen рендерингу: CALayer corner radius, CALayer shadow, CALayer mask, Любая кастомная отрисовка с использованием CGContext

- Blending это стадия в процессе рендеринга фрейма когда вычисляется финальный цвет пикселя. Каждый UIView в иерархии (а если быть точнее каждый CALayer) аффектит цвет финального пикселя который будет отрисован на экране, так как нужно учесть все пересекающиеся views, их alpa, backgroundColor, opaque и тд.

- Обнаружить проблему color blending'a можно выбрав опцию "Color Blended Layers" в in Xcode или в Debug меню iOS Simulator'a.
👍29👾1
Как торговаться на собесах

Признаюсь, я никогда не торговался на собесах. Мне всегда казалось, что работа должна давать комфортный уровень жизни, а выжимать из нее на 20, 30к, 50к больше — не лучшая стратегия для обогащения.

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

Прикольная статья от getmatch с советами по торгам. Да да. Все лежит на поверхности
👍151
О хорошем программисте

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

Но что такое этот пик? Если присмотреться, то чаще это какая-то абстрактная сумма бабок с пар работ (которую на самом деле многие делают, но не афишируют), запущенный курс, созданный подкаст. Любой инженер спросит "А где здесь ит?". И он будет прав.

ИТ стало местом маркетологов, подкастеров, стримеров и ведущих шоу. Никто не создает опенсоурсы, никто не создает ит-продукты, никто не создает фреймворки. Никаких ит-челенджей. Лишь показ жопы в бассейнах или нытье в твиттере. Это как называть себя спортсменом сидя все время на диване и смотря в телик канал "спорт 24". Ну, или быть ведущим на передачах "ТНТ". Обозреватель, болельщик и комик.

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

ИТишечку нельзя пройти. Это не сюжетная игра. Это бесконечный симулятор.

Хороший программист — это как хороший художник. Его оценивают по картинам
👍31💯8👾5❤‍🔥43🔥3
Вид с офиса авито всегда заряжает энергией.

Пусть зарядит и вас🙂
🔥36👍5👾4💯3❤‍🔥1
Модульное тестирование в iOS

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

Вот у них вышла первая статья из цикла зачем нужны юнит-тесты и как организована работа, плюс приведены результаты опроса, что почти 2/3 иос-разрабов уже пишут юнит-тесты
❤‍🔥9👾9👍7🔥1
О дивный новый тиндер

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

Тут можно поставить многое в аргументы:

- мои любимые слова Дурова, о творческой импотенции крупных компаний

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

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

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

А у прогрессивных чаще есть деньги.

Я верю, что придут новые, молодые, смелые, свободные ребята и сделают свой крутой продукт. Ведь благодаря тиндеру у меня есть текущие отношения 🥲
Please open Telegram to view this post
VIEW IN TELEGRAM
👾5💯4❤‍🔥3👍21
Пиши, сокращай и программирование

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

Решение алгоритмических задач — это впервую очередь не накопление конкретных сценариев. Это навык решать проблемы. И сам навык писать код и формулировать мысли в него приходит только практикой.

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

Приведем пример из жизни. есть 3 человека:
- Сашка. У него 3 класса образования. Он выучил какие-то слова и даже может складывать их в предложения. Его в целом можно понять, но невыносимо сложно разобрать те силуэты общих слов под ошибками

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

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

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

Хороший код, как и хорошая речь, текст или любая другая информация, приходят только практикой.
👍9👾8❤‍🔥11
РАСПРОСТРАНИТЕ

ждем в след выпусках всех наших любимых персон

https://www.youtube.com/watch?v=grZHTZhTZTQ
🔥19🫡5👾42
Выходные длинные. У меня учеба и много нужно закрыть долгов. Но а кому хочется потратить праздники с пользой, то вот можно включить целый Гарвардский курс по Computer Sience с продолжительностью в сутки.

Ждем видосы на ютубе с хроно в месяц или 4 года как в универе.

https://www.youtube.com/watch?v=8mAITcNt710
👾13❤‍🔥3🫡3🔥2💯1