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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
Почему новым сотрудникам платят больше, чем старым

👉Компания может хотеть, чтобы вы в перспективе уволились сами.
👉Повышения зарплат сотрудникам часто облагаются огромным количеством правил и привязываются к дополнительным ограничивающим параметрам. Выбить большое повышение для менеджера часто в разы сложнее, чем зарплату побольше для новичка.
👉Часто бонус HR завязан на эффективность найма. Поэтому HR выгодно предлагать сомневающимся кандидатам зарплаты побольше, не слишком волнуясь о сохранении баланса с текущими нанятыми людьми. Часто это даже не их проблема. А непрямые затраты из-за увольнений вообще считать не любят и не умеют.
👉Опыт, полученный где-то еще, многими руководителями ценится значительно выше, чем в рамках текущей компании.
👉Удерживать людей – сложно. Да к тому же эта задача размывается между разными ролями в компании. За плохой уровень удержания никого не уволят, и премию не снизят, так что мотивации решать проблему нет.
💔71
Гайд по behavioral Interview

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

Список советов с примерами ответов на частые вопросы и таблица для подготовки.

🟣 Изучите метод STAR
Структура STAR помогает четко и кратко рассказать свою историю. Situation - ситуация или контекст истории. Task - задание, которое вы должны были выполнить. Actions - ваши действия. Result - что в итоге получилось.

🟢 Внимательно слушайте
Обращайте пристальное внимания на вопросы интервьюера, а также на уточняющие вопросы. Убедитесь, что отвечаете именно на то, о чем вас спрашивают.

🔵 Краткость - сестра таланта
Давайте целенаправленные и краткие ответы. Не стоит предоставлять слишком много деталей, которые не имеют отношения к делу.

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

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

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

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

🟢 Если нет истории - ничего страшного
Если на вопрос интервьюера у вас нет подходящей ситуации, то стоит прямо сказать “У меня не было такого опыта, но я могу рассказать, как бы я поступил в данной ситуации”.

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

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

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

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

В ноушене обновил библиотеку книгами. Постарался не только об ит, но и познавательную литературу.

Выделю три книги:

🟡 «Психология масс» - о том, как индивидуальность теряется в толпе

🟣«Механическое пианино» - антиутопия про замену людей машинами. А привилегии получили руководители и инженеры

🟢 «Культурный код экономики» - как методы принятия решения и экономики зависят от culture fit. Эту тему как-нибудь отдельное время посвятим и разберем

Книги дают ресурсы улучшать качество знаний и навыков, которые помогают быть не только образованным человеком, но и интересной личностью
Please open Telegram to view this post
VIEW IN TELEGRAM
10
Хорошие мысли из видоса:
🟠 джун умеет решать задачи. те, кто ничего не знает — стажер или интерн.
🟠 обучение работает только с практикой. Видосы как кто-то кодит или рассказывает о кодинге не работают
🟠 не пытаться искать слепо работу "авось прорвемся"

https://www.youtube.com/watch?v=hyTw9YH8ynA
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Культурные коды экономики

Находка года. Не люблю политику, экономику и историю, но эта книга выкрутила так, что ощущаешь всю мощь наук. Ее писал 10 лет профессор МГУ, где очень трезво описывается почему любовь к труду — лучшее экономическое развитие.

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

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

Книга обязательна для чтения. Послушал аудио за 2,5 часа.
124
Forwarded from Head of mobile
Apple заопенсорсили еще один язык программирования - Pickle 🥒

Pkl — язык конфигурации с поддержкой валидации. Может использоваться как инструмент командной строки или плагин для сборок. Pkl представляет собой смесь статической конфигурации и языка общего программирования.

Подробней тут https://github.com/apple/pkl
6
iOS Makes Me Hate
Культурные коды экономики Находка года. Не люблю политику, экономику и историю, но эта книга выкрутила так, что ощущаешь всю мощь наук. Ее писал 10 лет профессор МГУ, где очень трезво описывается почему любовь к труду — лучшее экономическое развитие. Невероятно…
уже пару дней под впечатлением. Узнал допом, что автор был преподом Набиуллиной.

Многие личные вопросы находят ответы. Культура — один из важных пунктов в экономическом развитии каждого.

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

От культуры зависит векторы развития и кол-во необходимых ресурсов для достижения цели.
174
Обновление ноушена за неделю:
1. Добавил пару вопросов, ссылок и задач в блок памяти для джунов
2. Доработал блок вопросов с ответами для многопоточности
3. Добавил тесты для самопроверки для джунов по многопоточности
4. Добавил новые книги
5. Начал вести блок про качество коммуникации и нетворкинга
6. Добавил статью про этапы запуска приложения и какая роль памяти и многопоточности

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

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

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

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

Я сам не верю ни в код ревью, ни в формальные договоренности. Верю только в метрики, стандарты и санкции за нарушения. А если для этого нет повода вводить санкции, то так ли это важно? Договоренности всегда нарушают, а метрики и санкции имеют ощутимые последствия.

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

Попытался собрать подборку с хорошими статьями как сделать свой код лучше:
- Как написать чистый код на Swift
- 7 советов для чистого кода
- 10 лучших практик написания чистого и эффективного кода на Swift
- Чистый код на iOS
- Как написать чистый, удобный в сопровождении код Swift для мобильных приложений?
- 10 советов по написанию более чистого и читаемого кода на Swift
Please open Telegram to view this post
VIEW IN TELEGRAM
186
Блок с алгоритмами в ноушене.

Добавил раздел с алгосами с примерами на языке Swift и дополнительными комментами.

Пока одна статья, но дальше планирую больше:
- статьи
- разбор задач
- советы и практики для интервью
- разбор техник решения задач

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

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

Я тоже часто считаю, что бизнесу вообще все равно какой код ты пишешь. Если придут 2 разраба из разных команд, то повышение получит тот, кто сделал 20 фич со средним кодом, а не тот, кто 10 фич с идеальным.

Если нет четких метрик качества и стандартов — это все субьективные оценки, которые непонятны бизнесу.

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

- почему ручное управление потоками сложное
- что такое main тред
- Что такое синхронные и ассинхронные очереди

Найти ее можно все там же
131
🧍‍♀️ Реализация кастомного доступа по индексу

Иногда нам требуется быстрый доступ к элементам своих коллекций. Например, как в стандартном массиве или словаре


array[0] = "Henk"
print(array[0]) // Prints: Henk

agesDictionary["Antoine"] = 30
print(agesDictionary["Antoine"]) // Prints: 30


Иначе бы мы использовали методы для чтения и записи в типе данных:


array.set("Henk", forIndex: 0)
agesDictionary.set(30, forKey: "Antoine")


На слайдах разберем как это нам поможет упростить использование нашими структурами данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
74