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
с бинарного поиска начинаются почти все книги по алгоритмам. но иногда встречал вопрос, а где же его использовать его на практике?

Допустим, в очередной раз приходит менеджер с великолепной таской. Задача: найти быстро загаданное клиентом число. Вы почесав голову спрашиваете "число больше n?". И дальше по понятному многим сценарию. Вместо перечисления каждого числа по-очереди мы делим отсортированный порядок на 2 части и отсекаем лишнее

https://leetcode.com/explore/learn/card/binary-search/
🔥3
но одна из самых интересных задач в бинарном поиске — это поиск в развернутом массиве. На литкоде эта задача сложности медиум. Я не смог решить за час и пошел искать решения в ютубе.

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

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

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

https://www.youtube.com/watch?v=hfwIhCNDj6k
👎3👍1
О ритуалах и удаче

Когда я работал в мелких конторах, то видел тотальную неэффективность

Ритуальное соблюдение церемоний превращалось в перебор новых хайповых слов.

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

Я буду просто это делать. И быть может создатель вознаградит меня удачей.

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

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

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

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

Шесть признаков перфекциониста:
- Страх провала
- Подход «все или ничего»
- Не умеет делегировать
- Часто прокрастинирует
- Слишком сильно сфокусирован на результате
- Тяжело принимает конструктивную критику

Подробный рассказ про эти шесть признаков и подходы к управлению такими людьми
👍7
Forwarded from Product Developer
Разработчик — больше чем профессиональный кодер

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

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

Потом я понял, почему ненавижу встречи. Помните мем "я ограничен технологиями своего времени"? Так и мы. Пока не сделали нейролинк, нам приходится говорить словами через рот. А это ужасно долго. А еще разные люди почему-то понимают одни и те же слова по-разному. А еще кто-то много говорит одно и то же по кругу, а другие отмалчиваются. А еще кто-то обижается, но не понятно на что. А когда все без камер, вообще хрен поймёшь, что там у кого в голове. В общем, разные странности-сложности.

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

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

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

Поэтому в следующий раз, когда будете бугуртить, что встреча долгая и бестолковая, задайте себе вопрос: а что вы как профессионал сделали, чтобы она прошла продуктивно?
👍8
помню в сберездоровье мне после испыталки мой руководитель (Саша Сычев) поставил качать навык фасилитацию. и я до сих пор считаю, что это один из важнейших навыков, которые я хоть как-то прокачал
В документацию добавили приложение-каталог со всеми элементами из UIKit. С каждым можно поиграться и посмотреть на его поведение в разных ситуациях. Идеальная штука, чтобы собрать ее на телефоны дизайнеров.
👍2
кстати о книгах

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

мой топ 3 книг банален, но с опытом все глубже и крепче понимаю их важность:

1. Чистая архитектура. Чтобы проектировать понятные и простые архитектуры
2. Чистый код. Чтобы писать просто и понятно
3. Цель. Чтобы понимать, что мы все команда

на очереди для чтения еще пара архитектурных и концептуальных книг, и пара из этой статьи.

а вы можете поделиться интересными книгами для "настоящего программиста" в комментах

https://habr.com/ru/post/259317/
👍1
нашел прикольный экстеншен в стэк оверфлоу, который находит супервью с помощью UIResponder'a

https://stackoverflow.com/questions/40437550/how-can-i-get-indexpath-row-in-cell-swift/40437779#40437779?newreg=bef0df4c56c443879956b50f8424acc4
👍12
О кибербезе

Сейчас слушаю книгу. В ней есть лютейшая глава про социальные сети.

Как свобода разбила нас ещё сильней. Как интернет отдалил от родственников, приблизив к созданию чатам, группам, комьюнити с нашими закрытыми интересами. Где в этих племенах мы говорим только то, что хотим слышать

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

В главе также много историй об Эстонии. Защите ее свободе. Как она боролась с русскими хакерами, и как запад до сих пор борется с ними.

я не о политике. упаси господь

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

Почему у нас так недооценивают безопасность своих программ? Многие разработчики и сейчас уверены, что это оооочень специфично. Хотя я убеждён, что в будущем это станет необходимостью

Просто пока до нас не дошла та Россия, которой пугают там, на западе
👍2👎1
вот прикольный канал.

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

https://t.iss.one/IOSAppSec
🔥4
одна из главных проблем любого разраба — перфекционизм и подражание инфлюенсерам из сети. Тащить вайпер, когда это ненужно. Отказываться от основ в погоне за трендами. Пихать тесты в убыток бизнесу.

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

https://vc.ru/dev/368883-u-99-komand-staryy-kod-i-korobochnye-resheniya-net-byudzhetov-i-devops-a-my-slushaem-inflyuenserov-iz-facebook
👍4