Инфляция опыта или как его правильно считать?
Никто никогда не смотрел только на цифру опыта. Все те, кто говорит о такой проблеме — выдумали ее, чтобы оправдать свое существование.
Чтобы оценить нашу экспертность задавали вопрос "А что ты делал за все свои года опыта?". Очевидно, если у тебя его нет, то ничего. А если слишком много, то какой он?
Например, мой репетитор по английскому не оценивает учеников по годам. Она наоборот удивлялась, когда человек 15 лет занимался английским, а его прогресс не ушел дальше элементарного.
Также оценивают и в ИТ. У тебя может быть слишком мало опыта, а иногда бывает слишком много.
🧬 Формула такая:
кол-во лет * сложность задач * кол-во задач = опыт
В этом уравнении важна каждая производная. Это формула зрелости.
Сейчас многие нанимающие менеджеры, тимлиды и сеньоры делятся таким наблюдением: приходят сильные разработчики, которые на последнем месте работы были больше скрам-мастерами. В начале своей карьеры они может и делали крутые штуки, но последнее место и команда снизила их стоимость. Теперь товарный вид испортился. У них много пустых лет, которые они тратили не на то развитие. Вот у тебя были концентрированные два года, а стали жидкие четыре.
Недостаточно просто залететь на 300к в сек на работу и ничего не делать. Плевать в потолок и забыть о прогрессе. Это подписание смертного приговора. Через год такого темпа на рынке ты не будешь стоить и 200к в год. Поэтому важно искать задачи или саморазвиваться. Повышать сложность и искать челенджи.
Предсказать, что будет завтра — невозможно. Взяв отпуск на год ты вернешься в тот темп, который был раньше, только через два. В этой гонке нельзя останавливаться. Поэтому люди и просят сложные задачи и уходят с текущих мест, ведь стоя на месте — они теряют в стоимости.
Но можно ли требовать от других это? Я считаю, что развитие и выбор только в наших руках. Мы сами выбираем двигаться ли нам вперед и сами несем ответственность за наше развитие.
Никто никогда не смотрел только на цифру опыта. Все те, кто говорит о такой проблеме — выдумали ее, чтобы оправдать свое существование.
Чтобы оценить нашу экспертность задавали вопрос "А что ты делал за все свои года опыта?". Очевидно, если у тебя его нет, то ничего. А если слишком много, то какой он?
Например, мой репетитор по английскому не оценивает учеников по годам. Она наоборот удивлялась, когда человек 15 лет занимался английским, а его прогресс не ушел дальше элементарного.
Также оценивают и в ИТ. У тебя может быть слишком мало опыта, а иногда бывает слишком много.
🧬 Формула такая:
кол-во лет * сложность задач * кол-во задач = опыт
В этом уравнении важна каждая производная. Это формула зрелости.
Сейчас многие нанимающие менеджеры, тимлиды и сеньоры делятся таким наблюдением: приходят сильные разработчики, которые на последнем месте работы были больше скрам-мастерами. В начале своей карьеры они может и делали крутые штуки, но последнее место и команда снизила их стоимость. Теперь товарный вид испортился. У них много пустых лет, которые они тратили не на то развитие. Вот у тебя были концентрированные два года, а стали жидкие четыре.
Недостаточно просто залететь на 300к в сек на работу и ничего не делать. Плевать в потолок и забыть о прогрессе. Это подписание смертного приговора. Через год такого темпа на рынке ты не будешь стоить и 200к в год. Поэтому важно искать задачи или саморазвиваться. Повышать сложность и искать челенджи.
Предсказать, что будет завтра — невозможно. Взяв отпуск на год ты вернешься в тот темп, который был раньше, только через два. В этой гонке нельзя останавливаться. Поэтому люди и просят сложные задачи и уходят с текущих мест, ведь стоя на месте — они теряют в стоимости.
Но можно ли требовать от других это? Я считаю, что развитие и выбор только в наших руках. Мы сами выбираем двигаться ли нам вперед и сами несем ответственность за наше развитие.
У всех стандартных коллекций есть обращение по индексу. Но, если мы обратимся по индексу, который находится за пределами диапазона, то это приведет к крэшу.
Я собрал три решения как можно защитить себя, написав удобный код для безопасного обращения к индексу.
Please open Telegram to view this post
VIEW IN TELEGRAM
В чате мы часто делимся интересными ссылками, докладами и файлами. Сейчас речь зашла про хорошие курсы. Я, не разобравшись в вопросе, хотел похвалить одного автора с громких названием "beginner to senior". Но Астемир легко контр-атаковал меня мощным ударом:
есть несколько альтернатив. Никто из них не маркетит свои курсы, которые значительно круче по содержанию чем у Азама как «beginner to senior”
- stephancodes.com
- cocoacasts.com
- editorscut.com - его книги круче всех курсов имхо Азама
- donnywals.com - так же как и его книги
- essentialdeveloper.com - у них вообще топ, даже бесплатные 60+ сессии на ютубе
- letsbuildthatapp.com - старые но качественные, есть по суи новые
- nsscreencast.com - подписка, охватывает все что есть в iOS и даже больше
- objc.io / Swift Talk - 405 сессий, вот тут SUI реально разбирают
- pointfree.co - все и так знают
- raywenderlich.com - у них микро-курсов тонна на все темы практически и +/- они deliver what they promise
- swiftyplace.com - она реально отлично SUI разбирает книга + курс, много продвинутых тем
- swiftystack.com - есть полезные моменты, но оверпрайснут
- на том же udemy есть "Deep Dive iOS 17 Swift SwiftUI Programming" - около 100 часов
Please open Telegram to view this post
VIEW IN TELEGRAM
Я продолжаю претендовать на сеньорский контент и заполнять ноушен уникальными задачами. Похожее не найдете ни в одной статье, а если найдете — скиньте в комменты, сам поизучаю
Эту задачу я почти всегда давал своим менти. Почти невозможно решить её идеально, если вы самоучка и ваш опыт только по статьям в интернете или по постам в каналах.
Звучит так: Нужно спроектировать модуль избранного. Всё. Одно предложение, а работа на пару дней.
Эту секцию ведут всегда максимально свободно. Но оцениваю экспертность по общим качествам:
Обязательно рекомендую эту задачу, если понравились предыдущие:
Please open Telegram to view this post
VIEW IN TELEGRAM
Архитектурная секция — это новый-старый тренд. Алгоритмы мало кто считает прикладным способом оценить навыки кандидата, а проектирование систем хороший способ оценить опыт, экспертизу и мышление.
Мобильные системы усложняются: появляются офлайн режимы; устройства имеют больше мощности; кроссплатформы расширяют горизонты;
Для этого всего требуется системное мышление, которое поможет оценить множество узлов и связей, избежать ошибок.
Компании адаптируются и вводят новую секцию по оценки кандидатов. Вот подборка интересных секций от бигтехов:
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Polymorphic Blueprint (Aѕtɛmiɾ)
#podcast #crossplatform
Ideas on Why Cross-Platform Development Might Be Challenging
Тенденция к кросс-платформенной разработке продолжает развиваться определенными темпами. Автор подкаста постарался перечислить причины, по которым это может быть проблематично:
1️⃣ Performance Issues
• Кроссплатформенные технологии часто приводят к снижению производительности по сравнению с нативной разработкой. Это особенно заметно в сложных приложениях с значительной интеграцией аппаратного обеспечения.
• Хотя кроссплатформенные инструменты улучшаются и некоторые из них транслируются в нативный код, производительность все равно может не соответствовать уровню нативных приложений.
2️⃣Complexity & Maintenance
• Кроссплатформенная разработка часто требует обработки множества кандишенов, специфичных для каждой платформы (например, if iOS, if Android), что приводит к усложнению и увеличению размера кода. Конечно это также может быть решено, но теперь у вас на одну задачу больше. Пусть небольшую.
• Такие платформы обычно сильно зависят от сторонних библиотек, что приводит к возникновению новых проблем, включая риски безопасности и вопросы управления зависимостями.
• Зависимость от сторонних библиотек означает, что вы полагаетесь на их постоянное обновление и поддержку, что не всегда гарантировано (стоит вспомнить Xamarin).
3️⃣ Security Risks
• Внедрение стороннего кода увеличивает потенциальный риск возникновения уязвимостей в безопасности, особенно если эти библиотеки не подвергаются тщательной поддержке и обновлению..
4️⃣ Compatibility & Debugging
• Обеспечение совместимости на различных устройствах с разными аппаратными характеристиками может привести к сложным проблемам и необходимости использования обходных решений в коде.
• Дебаггинг кроссплатформенных приложений может быть более сложным по сравнению с нативными приложениями, где инструменты и среды более зрелые и интегрированные.
5️⃣ Engineering Concerns
• Управление отдельными нативными кодовыми базами может поначалу казаться более сложным, но часто приводит к более плавным циклам разработки и меньшему количеству проблем с интеграцией в долгосрочной перспективе.
• Высокий уровень абстракции приводит к появлению дополнительных слоев, что, в свою очередь, вносит элемент непредсказуемости. Да простые элементы делать легче, но будут ли они всегда таковыми по мере жизненного цикла продукта - вопрос открытый.
• Нативные платформы, как правило, легче поддерживать и они более надежные, так как зависимости напрямую управляются владельцами платформ.
6️⃣ False Promises of Cross-Platform Tools
• Просит единой кодовой базы для нескольких платформ часто не оправдывается на практике, приводит к неожиданным сложностям и утрате видимой простоты, которая изначально была обещана.
• Поддержка и координация кроссплатформенных проектов может превратиться в логистический кошмар, особенно по мере роста и усложнения приложения.
7️⃣ General Preference for Native Development
• Нативные приложения легче поддерживать благодаря лучшей интеграции с экосистемой платформы.
• Нативные приложения часто приводят к меньшему количеству неожиданностей во время разработки, что снижает количество непредвиденных проблем, способных нарушить циклы разработки и выпуска.
[
🏛 Polymorphic Blueprint
Ideas on Why Cross-Platform Development Might Be Challenging
Тенденция к кросс-платформенной разработке продолжает развиваться определенными темпами. Автор подкаста постарался перечислить причины, по которым это может быть проблематично:
1️⃣ Performance Issues
• Кроссплатформенные технологии часто приводят к снижению производительности по сравнению с нативной разработкой. Это особенно заметно в сложных приложениях с значительной интеграцией аппаратного обеспечения.
• Хотя кроссплатформенные инструменты улучшаются и некоторые из них транслируются в нативный код, производительность все равно может не соответствовать уровню нативных приложений.
2️⃣Complexity & Maintenance
• Кроссплатформенная разработка часто требует обработки множества кандишенов, специфичных для каждой платформы (например, if iOS, if Android), что приводит к усложнению и увеличению размера кода. Конечно это также может быть решено, но теперь у вас на одну задачу больше. Пусть небольшую.
• Такие платформы обычно сильно зависят от сторонних библиотек, что приводит к возникновению новых проблем, включая риски безопасности и вопросы управления зависимостями.
• Зависимость от сторонних библиотек означает, что вы полагаетесь на их постоянное обновление и поддержку, что не всегда гарантировано (стоит вспомнить Xamarin).
3️⃣ Security Risks
• Внедрение стороннего кода увеличивает потенциальный риск возникновения уязвимостей в безопасности, особенно если эти библиотеки не подвергаются тщательной поддержке и обновлению..
4️⃣ Compatibility & Debugging
• Обеспечение совместимости на различных устройствах с разными аппаратными характеристиками может привести к сложным проблемам и необходимости использования обходных решений в коде.
• Дебаггинг кроссплатформенных приложений может быть более сложным по сравнению с нативными приложениями, где инструменты и среды более зрелые и интегрированные.
5️⃣ Engineering Concerns
• Управление отдельными нативными кодовыми базами может поначалу казаться более сложным, но часто приводит к более плавным циклам разработки и меньшему количеству проблем с интеграцией в долгосрочной перспективе.
• Высокий уровень абстракции приводит к появлению дополнительных слоев, что, в свою очередь, вносит элемент непредсказуемости. Да простые элементы делать легче, но будут ли они всегда таковыми по мере жизненного цикла продукта - вопрос открытый.
• Нативные платформы, как правило, легче поддерживать и они более надежные, так как зависимости напрямую управляются владельцами платформ.
6️⃣ False Promises of Cross-Platform Tools
• Просит единой кодовой базы для нескольких платформ часто не оправдывается на практике, приводит к неожиданным сложностям и утрате видимой простоты, которая изначально была обещана.
• Поддержка и координация кроссплатформенных проектов может превратиться в логистический кошмар, особенно по мере роста и усложнения приложения.
7️⃣ General Preference for Native Development
• Нативные приложения легче поддерживать благодаря лучшей интеграции с экосистемой платформы.
• Нативные приложения часто приводят к меньшему количеству неожиданностей во время разработки, что снижает количество непредвиденных проблем, способных нарушить циклы разработки и выпуска.
• Главный мотив заключается в том, чтобы привнести бОльшую осведомленность/осторожность кросс-платформы, но ни в коем случае не вносить дополнительную дозу карго-культизма в ту или иную сторону.
• Важно помнить, что кросс-платформа это такой же инструмент и пока небыло однозначно доказано, что он может хорошо работать во всех юзкейсах.
• Не обязательно быть на 100% согласным или не согласным - полезные идеи можно найти в неожиданных местах.
[
Duration: 13:39
| Language: Eng
]Please open Telegram to view this post
VIEW IN TELEGRAM
share.transistor.fm
Listener Question - How do we combat the rising tide of cross platform on mobile? | Compile Swift Podcast | Episode 14
Thanks for the suggestion on this topic. We often see folks asking why cross-platform is such a great idea, but we don't usually discuss why it can also be a bad idea and how we can promote native platform development.This can be incredibly challenging for…
О "сломанной" индустрии
Многие из нас знают о Neetcode. Эта платформа является одной из моих вдохновителей.
Разраб бросил гугл, соло ушел пилить свой учебный контент. Помогает людям улучшаться, решать алгоритмы и повышать себя в систем дизайне.
Вы говорите алгоритмы никому не нужны и никому не интересны. Для тех, кому важны цифры, у чувака уже 700к подписчиков на ютубе. Без провокаций, черного пиара, обмана и чисто на хард-скиллах. Несложно посчитать сколько сотен тысяч долларов в месяц это приносит.
Это впечатляющий результат, от которого сам автор в шоке. Но пост не об этом.
Каждый раз находится в постах комментатор, который говорит о "гнилой индустрии" раз алгоритмы дошли до абсурда. На таких коментах у нас даже строятся целые движения. Я считаю это популизмом.
Комментаторам верно отвечают. Рынок "гнил" во времена пандемии. А сейчас он восстанавливается. Тогда брали всех после курсов. До этого был такой же сложный отбор, а временный скачок легких собесов до сих пор не оставляет людей опьяненных в сторонке.
Потихоньку люди начинают трезветь. Они понимают, что легче не станет. Постами и комментариями в интернетах не сломаешь индустрию. Это борьба с ветренными мельницами и мастурбация. Это как выходить на митинги в твиторе. Компенсируя несправедливость мира, от бессилия и страха объединяясь в интернет-сопротивления анонимов. Иллюзия влияния.
Даже накрутчики, не сломавшие фильтры и плачущие на алгосы, потихоньку сдаются и начинают их изучать. Сегодня в одном чате они ругают алгосы, а завтра покупают курс у яндекс практикума.
Пока остальные плачут и надеются на упрощение системы, другие адаптируются и пользуются успехом. Нельзя делать хорошо не любив это.
Многие из нас знают о Neetcode. Эта платформа является одной из моих вдохновителей.
Разраб бросил гугл, соло ушел пилить свой учебный контент. Помогает людям улучшаться, решать алгоритмы и повышать себя в систем дизайне.
Вы говорите алгоритмы никому не нужны и никому не интересны. Для тех, кому важны цифры, у чувака уже 700к подписчиков на ютубе. Без провокаций, черного пиара, обмана и чисто на хард-скиллах. Несложно посчитать сколько сотен тысяч долларов в месяц это приносит.
Это впечатляющий результат, от которого сам автор в шоке. Но пост не об этом.
Каждый раз находится в постах комментатор, который говорит о "гнилой индустрии" раз алгоритмы дошли до абсурда. На таких коментах у нас даже строятся целые движения. Я считаю это популизмом.
Комментаторам верно отвечают. Рынок "гнил" во времена пандемии. А сейчас он восстанавливается. Тогда брали всех после курсов. До этого был такой же сложный отбор, а временный скачок легких собесов до сих пор не оставляет людей опьяненных в сторонке.
Потихоньку люди начинают трезветь. Они понимают, что легче не станет. Постами и комментариями в интернетах не сломаешь индустрию. Это борьба с ветренными мельницами и мастурбация. Это как выходить на митинги в твиторе. Компенсируя несправедливость мира, от бессилия и страха объединяясь в интернет-сопротивления анонимов. Иллюзия влияния.
Даже накрутчики, не сломавшие фильтры и плачущие на алгосы, потихоньку сдаются и начинают их изучать. Сегодня в одном чате они ругают алгосы, а завтра покупают курс у яндекс практикума.
Пока остальные плачут и надеются на упрощение системы, другие адаптируются и пользуются успехом. Нельзя делать хорошо не любив это.
Алгоритмы — новая реальность. Огромный поток желающих войти в ИТ сильно нагружает HR. Раньше алгоритмы были только у пары компаний, а сейчас даже стартапы берут одну или две алгоритмические задачи в процесс.
Решение алгосов это не только попытка пройти неумолимо усложняющиеся собесы и оставаться в форме, но и отличный тренажер формировать новые нейронные связи, натренировать усидчивость, навыки тестирования и не бояться лайфкодинга.
Мы в сообществе уже почти 5 месяцев регулярно качаем эти навыки. Прорешав уже около 100 задач. Попытались разобрать частые задачи из Яндекса, Авито, ФААНГОВ и других компаний.
Это целая наука. Выработали техники, как лучше усвоить материал и перестать тупить часами. Собрали полезные ресурсы и делимся инсайдами внутряннок.
Я решил потихоньку делиться, что накопилось за 5 месяцев сообщества. Пока в публичный доступ вышло три раздела с тремя страницами в каждой:
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - levabond/Algorithms
Contribute to levabond/Algorithms development by creating an account on GitHub.
Давно не было подборок. Выпустил третью часть вопросов для джунов по управлению памятью.
В этом блоке мы затронем:
Также можно ознакомиться с другими частями:
Please open Telegram to view this post
VIEW IN TELEGRAM
У нас часто жалуются о том, что индустрия сломана и есть фильтры. Чаще путая это с проблемами агрегаторов и других рекрутерских инструментов.
У рекрутеров своя задача — найти сильное резюме. Можно выделить его, а можно не надеяться на них и пойти напрямую.
Эксперимент такой, 76 рекрутеров просмотрели порядка 1000 резюме и сделали свои прогнозы. После этого кандидаты прошли mock-интервью на платформе. Полученные результаты сравнили между собой.
Первый вопрос, на который должны были ответить рекрутеры «Стоит ли собеседовать этого кандидата?». То есть при посмотре резюме, пропустит ли рекрутер кандидата дальше или нет? Прогноз совпадает с реальностью только в 55% случаев.
Второй вопрос «Какова вероятность, что кандидат пройдет техническое интервью?».
Те кандидаты, которым пророчили провал (0-5%), на деле успешно сдали в 47% случаев. Те кандидаты, которые по мнению рекрутеров должны были порвать собеседование (95-100%), прошли только в 64%.
Результаты:
Please open Telegram to view this post
VIEW IN TELEGRAM
interviewing.io
Are recruiters better than a coin flip? Here's the data.
We compared recruiter judgments to actual interview performance.
Объяснение управление памятью с помощью аналогий
Материала по управлению памятью очень много. Так много, что часто возникает путаница. Это все нелегко запомнить.
Когда я работал автором курсов яндекс практикума у нас было куча редакторов, которые ревьюили наши текста.
Разраб может быть хорошим разрабом, но плохим учителем. Нас учили как правильно доводить мысль до студента и как лучше объяснять сложные вещи простым языком.
Я не стал лучшим и все еще улучшаю этот скилл, но запомнил главное — нет ничего лучше аналогий. Они являются ключом для формирования идей, нейронов и мыслей. Так знания лучше оседают и впитываются.
В статье автор говорит привычные нам вещи, но в более понятной форме.
Материала по управлению памятью очень много. Так много, что часто возникает путаница. Это все нелегко запомнить.
Когда я работал автором курсов яндекс практикума у нас было куча редакторов, которые ревьюили наши текста.
Разраб может быть хорошим разрабом, но плохим учителем. Нас учили как правильно доводить мысль до студента и как лучше объяснять сложные вещи простым языком.
Я не стал лучшим и все еще улучшаю этот скилл, но запомнил главное — нет ничего лучше аналогий. Они являются ключом для формирования идей, нейронов и мыслей. Так знания лучше оседают и впитываются.
В статье автор говорит привычные нам вещи, но в более понятной форме.
Medium
Understanding iOS Memory Management With Toy Analogies
I’ve been an iOS developer for over five years now. I must confess that I’ve somewhat tiptoed around one particular topic all this time…
Сейчас готовлю первый материал по первому ролику и готовлю методичку. Решил пересмотреть все ролики по управлению памятью, которые есть в WWDC и разобрать на конспекты. Делюсь некоторыми с вами:
Делитесь еще интересными роликами в комментах
Please open Telegram to view this post
VIEW IN TELEGRAM
Почти 3.5 года назад я писал статью про управлению жестами в iOS. Тогда я собрал одни из самых частых вопросов и кейсов по ним.
Жесты до сих пор одна из популярных задач. Они помогают узнать глубину и обширность работы кандидата.
В этой подборке я собрал старые задачи и актуализировал их:
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Когда сказали, что на флаттере не сделаешь красивый UI…
This media is not supported in your browser
VIEW IN TELEGRAM
Пока мы тут сосали бибу, отец UI, Астемир, сделал легкий proof of concept на SUI.
Кто теперь говорит, что на SUI не сделаешь сложный UI?
Кто теперь говорит, что на SUI не сделаешь сложный UI?
Какой идеальный сценарий своей карьеры ты видишь?
Final Results
39%
26%
14%
52%
4%
10%
32%
5%
6%
В прошлой статье мы вспомнили одни из самых популярных задач про hitTets. В этой мы разберем другой механизм управления расширенными жестами.
Забавно, их чуть реже встретишь на собесах чем написания своего hitTest’а, но гораздо чаще на практике.
В подборке вы найдете:
Please open Telegram to view this post
VIEW IN TELEGRAM
ChatGPT для Swift: Топ 5 подсказок для генерации кода
Для многих чатгпт стал один из главных ассистентов. Кому-то даже заменил гугл и стэк овервлоу. За полтора года хайпа революции не случилось, но появились полезные советы по использованию:
🟣 Генерацию моделей под JSON
🟣 Написание юнит-тестов и моков
🟣 Написание кода под специфичные задачи
🟣 Добавление документации
🟣 Предложения по улучшению кода
Для многих чатгпт стал один из главных ассистентов. Кому-то даже заменил гугл и стэк овервлоу. За полтора года хайпа революции не случилось, но появились полезные советы по использованию:
Please open Telegram to view this post
VIEW IN TELEGRAM
SwiftLee
ChatGPT for Swift: Top 5 code generation prompts
Boost your productivity with ChatGPT for Swift code generation. Learn how to harness the power of AI to speed up your development process.
This media is not supported in your browser
VIEW IN TELEGRAM
Мои первые 100 задач в литкоде были максимально юзлес. Почему-то, я послушал советов в интернетах и тупо начал решать все подряд, поверхностно прочитав «грокаем алгоритмы»
Это была жесткая ошибка, где я потратил впустую десятки часов.
Главные советы:
1. Изучать техники и паттерны конкретно под iOS
2. Отличать хорошие задачи от плохих
3. Иметь насмотренноть и решать задачи разными решениями
4. Не зубри решения кодом
А я напоминаю что у меня есть открытый гитхаб с задачами и почти 200 других рекомендованных задач в закрытом ноушене
Это была жесткая ошибка, где я потратил впустую десятки часов.
Главные советы:
1. Изучать техники и паттерны конкретно под iOS
2. Отличать хорошие задачи от плохих
3. Иметь насмотренноть и решать задачи разными решениями
4. Не зубри решения кодом
А я напоминаю что у меня есть открытый гитхаб с задачами и почти 200 других рекомендованных задач в закрытом ноушене