Проклятие сеньор разрабов
Наконец об этом кто-то написал.
Одна из частых проблем разрабов на высоких грейдах — стагнация, изоляция и рутина.
Дойдя до сеньорного грейда на своей работе, многие начинают закрываться в своем мирке и думать, что раз в одной компании достигли вершины, то очень легко сменят другую. Это мышление опасно и приводит к разочарованиям при попытке сменить работу.
Повышение в одной компании не дают за рыночные навыки, а чаще за локальные победы, которые далеко не всегда связаны с твоими инженерными навыками или требованиями рынка.
В статье автор с 14 лет опыта рассказывает как избежать своих ошибок и проклятия. Эффективно управлять своей карьерой, не пытаться втиснуться в чужие рамки и постоянно развиваться
Наконец об этом кто-то написал.
Одна из частых проблем разрабов на высоких грейдах — стагнация, изоляция и рутина.
Дойдя до сеньорного грейда на своей работе, многие начинают закрываться в своем мирке и думать, что раз в одной компании достигли вершины, то очень легко сменят другую. Это мышление опасно и приводит к разочарованиям при попытке сменить работу.
Повышение в одной компании не дают за рыночные навыки, а чаще за локальные победы, которые далеко не всегда связаны с твоими инженерными навыками или требованиями рынка.
В статье автор с 14 лет опыта рассказывает как избежать своих ошибок и проклятия. Эффективно управлять своей карьерой, не пытаться втиснуться в чужие рамки и постоянно развиваться
yield code();
The Curse of the Senior Software Engineer - Dmitry Kudryavtsev
While looking for a job recently, I stumbled upon an interesting phenomen that I consider to be a curse for senior software engineers.
Небольшое прилюдие. Я продолжаю собирать задачи, вопросы и знания, которые заапрувлены высококлассными инженерами, собрать такую среду — мой главный акцент.
В ней мы отсеим лишнее и оставим проверенное прикладным опытом разных компаний, боевых задач топ 1 тира.
На мой взгляд, наш чат и комьюнити уже наполнилось самыми проверенными и сильными инженерами, которые легко помогают мне наполнять базу знаний и каждый день наполняют список для обучения. Здесь много и матерых инежнеров, и талантливой свежей крови. Каждый учит друг друга.
Вышла в релиз первая часть вопросов для собеседований по SwiftUI.
В рамках нее 20 вопросов с ответами и пару десятков статей. Задачи с кодом и проектированием решил делать отдельными сборниками.
Скоро будет статья про навигацию
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Продолжаю рубрику "Пишем свой телеграм".
В прошлом посте мы сделали эффект спойлеров, а сейчас время реакций.
Для подписчиков бусти доступен код с комментариями и объяснениями как сделать такие реакции с кривыми анимациями, расчетом позиций и другими приколами.
Ежедневно я создаю контент для подписчиков бусти. Следующий пост в этой рубрике будет про эффект Таноса, как при удалении сообщений.
*почти
Please open Telegram to view this post
VIEW IN TELEGRAM
Мощный паттерн, который помогает экономить данные при переиспользовании. Обычно он полезен там, где требуется оптимизировать память.
Пример:
Есть текстовый редактор с документом больше 1000 символов. Многие символы имеют одинаковые атрибуты. Для них можно создать легковесный объект для хранения общих атрибутов.
Какие проблемы он решает:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Тема навигации в SwiftUI одна из самых объемных и проблемных.
Хорошая навигация должна включать в себе множество возможностей:
В процессе подготовки материала для нашего пет-проекта я понял, что одной частью не обойдется.
В первой части я попытался пройтись по двум решениям до iOS 16. Потому что именно версии ниже были сложными и проблемными.
В следующих статьях пройдемся по другим и плавно подойдем к решениям после iOS 16.
Please open Telegram to view this post
VIEW IN TELEGRAM
Один из главных вопросов по навигации чем же отличается роутер от координатора. В своей функции они очень похожи — оба отвечаю за навигацию.
Главное же отличие такое: Роутер отвечает за вызов из одного экрана, а координатор управляет потоком экранов.
У координатора обычно есть набор дочерних экранов, где мы можем легко изменять порядок, добавлять или удалять экраны. При использовании координатора, роутер помогает закрывать и показывать ViewController'ы. Роутер не знает какой контроллер показывать, ему об этом сообщает координатор.
Когда использовать координатор:
- Когда хотим отделить знание экранов о друг друге.
- Хотим управлять последовательностью экранов
Доп. ссылки:
- Coordinator Pattern
- Router
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Обновление ноушена и комьюнити за неделю
Развитие — это беспрерывное движение. В нашей индустрии стоять на месте значит умирать. Каждый день я создаю контент для подписчиков ноушена, который частями перекатывается в этот канал. Так я развиваюсь сам и делюсь опытом с другими. Знания и подходы формулируются, прогресс становится быстрее и лучше.
Обучение — это навык. Обучаться вместе с единомышленниками и теми, кто влюблен в свою работу — в разы эффективней. Так ты определяешь свой и чужой. Так принимаемая информация лучше усваивается и ты не замечаешь объемы.
За эту неделю мы сделали:
🔘 Вопросы по собесам для мидлов по памяти часть 1
🔘 Вопросы по собесам для джунов по SwiftUI часть 1
🔘 Выделили лучшие идеи для программистов-прагматиков
🔘 Написали статьи про модификаторы и навигацию в SwiftUI
🔘 Выбрали тему для очередного созвона
🔘 В чате попытались перейти на темы, но откатили. А также поговорили про черные списки, как будущие коллеги собирают про нас фидбэк, про цифровые следы в интернете и о многом другом.
Полный список изменений в картинке
🌸 Вступить в сообщество и получить доступ к закрытым материалам можно тут.
Развитие — это беспрерывное движение. В нашей индустрии стоять на месте значит умирать. Каждый день я создаю контент для подписчиков ноушена, который частями перекатывается в этот канал. Так я развиваюсь сам и делюсь опытом с другими. Знания и подходы формулируются, прогресс становится быстрее и лучше.
Обучение — это навык. Обучаться вместе с единомышленниками и теми, кто влюблен в свою работу — в разы эффективней. Так ты определяешь свой и чужой. Так принимаемая информация лучше усваивается и ты не замечаешь объемы.
За эту неделю мы сделали:
Полный список изменений в картинке
Please open Telegram to view this post
VIEW IN TELEGRAM
Ритуальное ежегодное погребение иосеров или что такое цифровая услуга
Недавно мне сказали, что будущее за вебом и наши айфоны и мобилки никому не нужны. Банки переходят на веб, некоторые отделы расформировываются, а спрос на устройства падает.
Восемь лет назад, когда я был еще фуллстэк разрабом и хотел перейти в мобилку, мне кричали что она умрет. Есть перспективная технология React Native, которая похоронит всех мобильщиков и фронты будут писать для мобилки на джаваскрипте. Есть PWA приложения, которые работают не хуже, Есть офигенный вебвью, который ведь даже чем-то лучше.
Это все обычно пророчили люди, кто пользовался андроидом. Ведь как этот огрызок может конкурировать с миллионами терабайт озу, великолепным дисплеем на пару тысяч метров и колосальной свободой распространения апок. Айфоны — для лохов, кого обдурил Стив Джобс. И для тех, кто любит понтоваться.
Я с ними согласен и поэтому перехожу на андроид. Шутка. Но если серьезно такая риторика повторяется каждые пару лет и эту лодку пытаются шатать все. Одна кроссплатформа вымирает и приходит другая. PWA, BDUI и вебвью вот вот придут, но эффект как в том зацикленном меме с грузовиком, который вот вот въедет в столб. А айфоны это также для людей у кого есть понты, даже если эти люди платят зарплату и владеют бизнесом.
Подводя итоги что же такое айфон за те годы сопротивления. Айфон — это новый вид устройства, который изменил рынок цифровой экономики. Он сделал моду на мобильные приложения, он сделал удобным потребления контента и приковал внимания разработчиков, которые стали подражать.
Новый вид цифровых услуг, где ты экономишь свое время и деньги. Новый вид развлечений, где дизайн диктуется флагманской платформой. Новый вид бизнеса, где сфера услуг стала цифровой и ит-трансформация создала миллионы миллионеров.
Поверю ли я, что мобильная разработка умрет? Никогда. А те, кто так считает, просто теряют самую платежеспособную аудиторию. А кто пытается заменить натив на гибрид просто не понимает, что юзеру понятней и доступней нативная мобильная платформа, чем инородный вебвью или мобильная версия. Потеря места на рынке равно отдать свой бизнес бесплатно конкурентам. А на это место обязательно придет кто-то новый. Но это совсем другая история.
Недавно мне сказали, что будущее за вебом и наши айфоны и мобилки никому не нужны. Банки переходят на веб, некоторые отделы расформировываются, а спрос на устройства падает.
Восемь лет назад, когда я был еще фуллстэк разрабом и хотел перейти в мобилку, мне кричали что она умрет. Есть перспективная технология React Native, которая похоронит всех мобильщиков и фронты будут писать для мобилки на джаваскрипте. Есть PWA приложения, которые работают не хуже, Есть офигенный вебвью, который ведь даже чем-то лучше.
Это все обычно пророчили люди, кто пользовался андроидом. Ведь как этот огрызок может конкурировать с миллионами терабайт озу, великолепным дисплеем на пару тысяч метров и колосальной свободой распространения апок. Айфоны — для лохов, кого обдурил Стив Джобс. И для тех, кто любит понтоваться.
Я с ними согласен и поэтому перехожу на андроид. Шутка. Но если серьезно такая риторика повторяется каждые пару лет и эту лодку пытаются шатать все. Одна кроссплатформа вымирает и приходит другая. PWA, BDUI и вебвью вот вот придут, но эффект как в том зацикленном меме с грузовиком, который вот вот въедет в столб. А айфоны это также для людей у кого есть понты, даже если эти люди платят зарплату и владеют бизнесом.
Подводя итоги что же такое айфон за те годы сопротивления. Айфон — это новый вид устройства, который изменил рынок цифровой экономики. Он сделал моду на мобильные приложения, он сделал удобным потребления контента и приковал внимания разработчиков, которые стали подражать.
Новый вид цифровых услуг, где ты экономишь свое время и деньги. Новый вид развлечений, где дизайн диктуется флагманской платформой. Новый вид бизнеса, где сфера услуг стала цифровой и ит-трансформация создала миллионы миллионеров.
Поверю ли я, что мобильная разработка умрет? Никогда. А те, кто так считает, просто теряют самую платежеспособную аудиторию. А кто пытается заменить натив на гибрид просто не понимает, что юзеру понятней и доступней нативная мобильная платформа, чем инородный вебвью или мобильная версия. Потеря места на рынке равно отдать свой бизнес бесплатно конкурентам. А на это место обязательно придет кто-то новый. Но это совсем другая история.
Начал работать над второй часть вопросов для собеседований.
В ней хочу пройтись по:
Please open Telegram to view this post
VIEW IN TELEGRAM
Эстетический интеллект, стоимость внимания и simple life
Пока собирал материал для нашего следующего созвона про бабки, то случайно начал формулировать свою философию. О том, на что их нужно тратить и сколько стоит наша жизнь.
Богатый человек для нас определяется не колличеством ресурсов, а их правильным распределением. Слишком много золота в зубах не делает тебя привлекательным. Слишком сильная одержимость на бабках делает в своих и чужих глазах бедным и несчастным.
Я сформулировал несколько правил жизни из разных источников, которые помогают мне вести канал, жить и развиваться. А также на которых буду делать акцент в будущем:
🔘 Прокачивать эстетический интеллект. Об этом есть отличная книга, которую я упонял раньше. Мы работаем с премиум девайсами, а чаще какой-нибудь бюджетный айфон SE выглядят желанней, чем какой-нибудь ксяоми с ценой х2.
Даже ведя канал очень много для меня значит дизайн. Он не должен быть избыточно кричащим. Хороший и дорогой дизайн — сдержан и малословен.
🔘 Ценить свое внимание. Наблюдая за некоторыми меркантильными сообществами я вижу главную проблему. Они хотят денег, но не знают что купят на них. Поэтому их формат и философия, за много лет существования, не обрела форму. Они вечно наполняют себя разными темами для бесед, отвлекаются на разные сходки и говорят обо всем, но ни о чем. Спам и флуд засоряют эфир, а сотни чатов уводят от акцентов.
Хороший дизайн не пытается запутать избыточностью и перегрузкой, чтобы обмануть или отвлечь. Настоящий премиум дизайн хочет лаконично обнажиться.
Здесь я очень близок с философией Олега Торбосова, владельца премиум агенства, где у него была важная фраза "Самая главная валюта — это наше внимание". В своей философии хочется опять же придерживать емкости и фокуса. Где ты четко понимаешь для чего нужны тебе ресурсы, а не чтобы купить любую безделушку в свою песочницу. Часто, многие вещи не заслуживают наше внимание.
🔘 Стратегия Simple life. Все три принципа очень похожи и кажется, что говорят про одно: сдержанности, емкости и простоте. О каком месте в этой жизни ты можешь говорить, если вечно меняешь его? Прям как наши любимые айфоны. Но стратегия простой жизни не говорит о лени, она говорит о приоритетах. Как не нужно переполнять себя ненужными делами и отдавать себя немногим, но важным делам. Это отлично формулирует книга "Эссенциализм: путь к простоте"
Вся эта подводка для анонса небольшого редизайна канала и ноушена, который будет отражать мои принципы. А вы можете поделиться крутыми дизайнерами.
Пока собирал материал для нашего следующего созвона про бабки, то случайно начал формулировать свою философию. О том, на что их нужно тратить и сколько стоит наша жизнь.
Богатый человек для нас определяется не колличеством ресурсов, а их правильным распределением. Слишком много золота в зубах не делает тебя привлекательным. Слишком сильная одержимость на бабках делает в своих и чужих глазах бедным и несчастным.
Я сформулировал несколько правил жизни из разных источников, которые помогают мне вести канал, жить и развиваться. А также на которых буду делать акцент в будущем:
Даже ведя канал очень много для меня значит дизайн. Он не должен быть избыточно кричащим. Хороший и дорогой дизайн — сдержан и малословен.
Хороший дизайн не пытается запутать избыточностью и перегрузкой, чтобы обмануть или отвлечь. Настоящий премиум дизайн хочет лаконично обнажиться.
Здесь я очень близок с философией Олега Торбосова, владельца премиум агенства, где у него была важная фраза "Самая главная валюта — это наше внимание". В своей философии хочется опять же придерживать емкости и фокуса. Где ты четко понимаешь для чего нужны тебе ресурсы, а не чтобы купить любую безделушку в свою песочницу. Часто, многие вещи не заслуживают наше внимание.
Вся эта подводка для анонса небольшого редизайна канала и ноушена, который будет отражать мои принципы. А вы можете поделиться крутыми дизайнерами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Мок-собес сеньора из бигтеха по System Design
Недавно меня спрашивали какие задачи могут встретиться на собесах по архитектуре. Это очень странно, ведь я писал про них в разделе system design. Потом я понял, что многие думают, что system design — это что-то про бэкенд. Хотя это большое заблуждение.
Если упрощать, то архитектуры, проектирование и system design — это одно и то же, но под разными углами. Выбор архитектурного паттерна лишь часть задачи из общей кучи.
Прикладываю отличный мок-собес, где за час пытаются запроектировать ленту новостей Фейсбука* (запрещен). Тут, при необходимости, можно детализировать и архитектуры, паттерны, бэк, хранилище, многопоточку и многое другое.
Основные критерии:
🔘 Разработка должна быть иттеративной
🔘 Бесконечная лента
🔘 Откуда приходят данные (сервер или кэш)?
🔘 Какой тип данных бывает: текст, изображения, видео и тп?
Это отличная частая задача, которая встречается как в обычной жизни, так и на собесах. Думаю в будущем разобрать отдельно в больших статья как проектировать ленту, чат и другие модули.
🌺 Больше задач по проектированию писал в ноушене
Недавно меня спрашивали какие задачи могут встретиться на собесах по архитектуре. Это очень странно, ведь я писал про них в разделе system design. Потом я понял, что многие думают, что system design — это что-то про бэкенд. Хотя это большое заблуждение.
Если упрощать, то архитектуры, проектирование и system design — это одно и то же, но под разными углами. Выбор архитектурного паттерна лишь часть задачи из общей кучи.
Прикладываю отличный мок-собес, где за час пытаются запроектировать ленту новостей Фейсбука* (запрещен). Тут, при необходимости, можно детализировать и архитектуры, паттерны, бэк, хранилище, многопоточку и многое другое.
Основные критерии:
Это отличная частая задача, которая встречается как в обычной жизни, так и на собесах. Думаю в будущем разобрать отдельно в больших статья как проектировать ленту, чат и другие модули.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Big-tech senior iOS dev system design interview prep: Design the Facebook feed | Live Dev Mentoring
One of our students in the iOS Lead Essentials program recently received job offers from Meta and Apple. Want to see one of the steps in his preparation? 👇
So watch this mentoring session now to help you prepare for the big day.
We highly recommend watching…
So watch this mentoring session now to help you prepare for the big day.
We highly recommend watching…
Forwarded from КиберТопор
This media is not supported in your browser
VIEW IN TELEGRAM
Vision Pro может полностью поменять сферу образования.
Так выглядит визуализация изучения работы сердца в очках от Apple.
Приложение называется Insight Heart.
🕹КиберТопор
Так выглядит визуализация изучения работы сердца в очках от Apple.
🕹КиберТопор
Хорошее приложение должно иметь хорошую навигацию. Поэтому до iOS 16 многие приложения на SwiftUI не назовешь хорошими.
Работа с навигацией в SwiftUI боль:
- Нельзя управлять стэком вызовов
- Почти невозможно сделать диплинки
- Нельзя вынести логику навигации из вью
Начиная же с iOS 16 разрабы сжалились и дали работягам NavigationStack, который упрощает работу. В этом WWDC разрабы попытались показать все плюсы нового API. Насколько оно реальное в больших проектах — решайте сами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Apple Developer
The SwiftUI cookbook for navigation - WWDC22 - Videos - Apple Developer
The recipe for a great app begins with a clear and robust navigation structure. Join the SwiftUI team in our proverbial coding kitchen...
В ноушене вышла новая статья про навигацию с помощью NavigationStack, который вышел вместе с iOS 16
В ней попытался разобрать:
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Код Воробья для iOS разработчиков
Please open Telegram to view this post
VIEW IN TELEGRAM
AI и эмоциональный интеллект. Пора серьезно задумываться про эмоциональный ителлект
Время токсичных кодеров ушло. Еще лет 10 назад большинство разрабов думало, что могут быть Тони Старками, токсичить и делать все что угодно. Ведь кто их заменит? Хороший разраб это тот, кто код пишет. А задачи ставить и вести здоровые коммуникации это для обычных смертных.
В статье рассказывается как опросы Udemy показали, что AI вызвал всплеск интереса к курсам по мягким навыкам: активное слушание, работа с людьми, work-life баланс, командная работа.
То есть, из-за того, что AI забрал на себя часть хард скиллов, люди стали больше уделять софт скиллам, в том числе сочуствию и пониманию друг друга. Сейчас почти никто уже не смотрит только на хард скиллы. А с развитием ИИ софты становятся более ценными.
Пора не только писать хорошо код, но и хорошо понимать своих коллег
Время токсичных кодеров ушло. Еще лет 10 назад большинство разрабов думало, что могут быть Тони Старками, токсичить и делать все что угодно. Ведь кто их заменит? Хороший разраб это тот, кто код пишет. А задачи ставить и вести здоровые коммуникации это для обычных смертных.
В статье рассказывается как опросы Udemy показали, что AI вызвал всплеск интереса к курсам по мягким навыкам: активное слушание, работа с людьми, work-life баланс, командная работа.
То есть, из-за того, что AI забрал на себя часть хард скиллов, люди стали больше уделять софт скиллам, в том числе сочуствию и пониманию друг друга. Сейчас почти никто уже не смотрит только на хард скиллы. А с развитием ИИ софты становятся более ценными.
Пора не только писать хорошо код, но и хорошо понимать своих коллег
LeadDev
It’s time to take emotional intelligence more seriously
As AI encroaches further into the workplace, is emotional intelligence a more important skill than ever?
Обход деревьев: поиск в глубину
Продолжаю разбор техник решения алгоритмов. Поговорим о деревьях.
Обход дерева, как и все обходы графов, делается двумя методами:
🟢 в глубину (Depth-first)
🟢 в ширину (Breadth-first)
Какой из методов использовать?
🟣 если вы знаете что решение где-то не далеко от вашей ноды — то лучше использовать обход в ширь, чтоб не закапываться глубоко в дерево
🟣 если дерево очень глубокое, а решение редки — то лучше все таки попробовать поиск в ширь
🟣 если дерево очень широкое, то можно попробовать поиск в глубь, потому как поиск в ширь может забрать слишком много времени.
Мы разберем обход в глубину (DFS). Разбор будет в слайдах выше.
💎 Полную статью с объяснением про деревья и разбором задач литкода можно найти в ноушене
Продолжаю разбор техник решения алгоритмов. Поговорим о деревьях.
Обход дерева, как и все обходы графов, делается двумя методами:
Какой из методов использовать?
Мы разберем обход в глубину (DFS). Разбор будет в слайдах выше.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM