В интернете все больше набираются теории про массовые увольнения в фаанг компаниях. Какие работники первые кандидаты на увольнения? Как не быть ими? Как стать ценным сотрудником?
Даже у Роберта Мартина в "Идеальной работе" много актуальных и похожих советов. Я посмотрел много видосов, почитал множество мнений. все ссылаются почти к одним требованиям:
- Брать на себя больше ответственности
- Изучать математику
- Выходить за обязанности покрасок кнопок
- Не доверять словам тех, кто обучает после малого кол-ва опыта. Этой проблеме даже Мартин посвятил пару глав и я писал оттуда отрывок.
- Не быть волком
Сейчас не только важно найти работу, но скорее остаться на старой, постоянно принося пользу бизнесу и продукту.
https://www.youtube.com/watch?v=AjkghMCKN_0
Даже у Роберта Мартина в "Идеальной работе" много актуальных и похожих советов. Я посмотрел много видосов, почитал множество мнений. все ссылаются почти к одним требованиям:
- Брать на себя больше ответственности
- Изучать математику
- Выходить за обязанности покрасок кнопок
- Не доверять словам тех, кто обучает после малого кол-ва опыта. Этой проблеме даже Мартин посвятил пару глав и я писал оттуда отрывок.
- Не быть волком
Сейчас не только важно найти работу, но скорее остаться на старой, постоянно принося пользу бизнесу и продукту.
https://www.youtube.com/watch?v=AjkghMCKN_0
Telegram
iOS makes me cry
😢1
Топ навыки для iOS разработчика
Anonymous Poll
63%
UIKit
68%
Swift
12%
Objc-c (kek)
49%
многопоточность
52%
Навыки проектирования
18%
Алгоритмы
44%
Управление памятью
23%
Computer Sience
29%
Способы хранения данных
7%
Ничего выше
Open-Closed Principle в Swift
Идем дальше по самым популярным принципам.
Этот принцип в иос часто путают с extension (расширениями), но это далеко ошибочное от источника представление.
Принцип открытости/закрытости гласит:
❕ Программные сущности должны быть открыты для расширения и закрыты для изменения.
Принцип открытости/закрытости — одна из движущих сил в архитектуре систем.
Его цель — сделать систему легко расширяемой и обезопасить ее от влияния изменений. Эта цель достигается делением системы на компоненты и упорядочением их зависимостей в иерархию, защищающую компоненты уровнем выше от изменений в компонентах уровнем ниже .
⏺ Проще говоря, мы должны расширять программы без их изменения.
🟢 lvl: jun
Let's go to practice
Идем дальше по самым популярным принципам.
Этот принцип в иос часто путают с extension (расширениями), но это далеко ошибочное от источника представление.
Принцип открытости/закрытости гласит:
Принцип открытости/закрытости — одна из движущих сил в архитектуре систем.
Его цель — сделать систему легко расширяемой и обезопасить ее от влияния изменений. Эта цель достигается делением системы на компоненты и упорядочением их зависимостей в иерархию, защищающую компоненты уровнем выше от изменений в компонентах уровнем ниже .
Let's go to practice
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Отвлечемся от SOLID к менее популярным, но иногда даже более важным принципам.
KISS (keep it simple, stupid)
Как-то в разговоре с коллегой он сказал, что я выдумал этот принцип. Ведь такое название и его расшифровку мог придумать только какой-то гопарь и ни один адекватный человек не будет воспринимать нэйминг всерьез.
Кажется, это глубочайшая ошибка. Ведь принцип довольно мощный. А переоценить его пользу сложно.
По названию нетрудно понять, что он требует. У него много трактовок, но попробуем пройтись по основным:
Иначе говоря, правило предельно простое — не усложни. В теории звучит легко, но на практике требует опыта и многолетней практики. Усложняет это индуские подходы, где в некоторых компаниях оценивают работу по строкам кода в реквестах. А начинающие разработчики хотят показать свою компетенцию, показав ее в ненужных испытаниях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍1
Прошел тут обучение по антипаттернам в продуктовой разработке и хочу с вами поделиться основными идеями.
Одна из турбулентностей для пришедших галлерных разработчиков в продуктовку — это простои. Я сам страдал после аутсорса. Человеку с ресурсным мышлением очень сложно работать в больших и крупных компаниях. Всегда будут большие процессы доставки нашего кода и придется развиваться в других плоскостях. Уметь коммуницировать, понимать процессы, менторить, вести задачи. Иными словами тут приходит уже не модный t—shaping.
Для тех, кто 8 часов привык не останавливаясь кодить — это очень больно. Но крупному бизнесу чаще нужно больше.
Какие же антипаттерны в продуктовой разработке?
Это одни из многих антипаттернов. Еще добавлю, что сильно влияют финансовые модели команд внутри одной компании. И здесь важно уметь переключаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10💯3🔥1😁1
Forwarded from Код Дурова
Apple разрешит альтернативные магазины приложений, чтобы соблюсти строгие требования ЕС, которые вступают в силу в 2024 году.
@d_code
Please open Telegram to view this post
VIEW IN TELEGRAM
Код Дурова
Apple разрешит работу сторонних магазинов приложений
Вероятно, это будет актуально только в Европе.
🔥12😐2
Свою серьезную коммерческую карьеру я начал с веба и фреймворка React. От прошлого не отмоешься. Тогда, в 2016, был сайт "этажей" и мы юзали библиотеку FLUX, потом меня заставили переписывать на REDUX от того же автора. Так началась наша любовь не с первого взгляда. Сначала мы не понравились друг другу, а потом не можем забыть.
Концепция однонаправленности, изменения состояния за счет прослушки событий из года в год становится более привлекательной для управления бизнес-логикой и её ограничения.
Придя в iOS в 2018 я так и не делал анализ существующих трендов. UDF много ругали за несовместимость с UIKit и не хотелось рисковать с экспериментами. Почему ругали? Я не тратил время на разбор. Пришлось сидеть с вашими вайперами, спорами про MVC. В следующих постах будем делать сравнения UDF архитектур и почему же флаксообразные архитектуры пришли с большим запозданием в мир иоса.
Поищем ответы на главные вопросы? Как далеко ушел от TCA? Почему в андроиде MVI популярнее, чем в яблоке? Зачем это все вообще нужно?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍1
Flux: границы использования
Friends don’t let friends pick a design pattern blindly. (с) Dan Abramov
Я не знаю родоначальник ли Flux UDF архитектур, но у многих она с ним ассоциируется.
Пусть в офицальной странице с докой висит рекомендация, что лучше юзать другие архитектуры (REDUX, MobX, etc), но я все же бегло пройдусь по основным концептам.
Рекомендую почитать статью Дэна Абрамова о безумстве людей. Многие могут оставить худшее, отбросив лучшее.
Для чего же полезен FLUX:
1️⃣ Приложение имеет высокую частоту изменения данных и нужно быстро все отрисовать на экране
2️⃣ Кэшированные данные могут измениться пока закэшированы.
3️⃣ Реляционные связи в моделях. Кнопки и счетчики имеют связь многие ко многие
4️⃣ Много переиспользуемых компонентов
Кэширование, аннулирование, обновления, агрегирование, разбиение на модули и многие другие вещи становятся намного проще, когда модели являются простыми объектами и не пытаются управлять сложными обновлениями друг друга.
Store — это единственное место во всем приложении, которое имеет право изменять данные. Он не имеет сеттеров и реагирует только на действия, инициированные компонентами.
- Либа для иос — reactorkit
Friends don’t let friends pick a design pattern blindly. (с) Dan Abramov
Я не знаю родоначальник ли Flux UDF архитектур, но у многих она с ним ассоциируется.
Пусть в офицальной странице с докой висит рекомендация, что лучше юзать другие архитектуры (REDUX, MobX, etc), но я все же бегло пройдусь по основным концептам.
Рекомендую почитать статью Дэна Абрамова о безумстве людей. Многие могут оставить худшее, отбросив лучшее.
Для чего же полезен FLUX:
1️⃣ Приложение имеет высокую частоту изменения данных и нужно быстро все отрисовать на экране
2️⃣ Кэшированные данные могут измениться пока закэшированы.
3️⃣ Реляционные связи в моделях. Кнопки и счетчики имеют связь многие ко многие
4️⃣ Много переиспользуемых компонентов
Кэширование, аннулирование, обновления, агрегирование, разбиение на модули и многие другие вещи становятся намного проще, когда модели являются простыми объектами и не пытаются управлять сложными обновлениями друг друга.
Store — это единственное место во всем приложении, которое имеет право изменять данные. Он не имеет сеттеров и реагирует только на действия, инициированные компонентами.
- Либа для иос — reactorkit
👍6
Непопулярный не значит неправильный.
✦ Давайте думать над архитектурами. Доклад старый, но не менее актуальный. В иос разрабов мало, многие не смотрят за границы платформы. Другие многие смотрят, но приносят свои пересказы. Помешательство на шаблонных и бездумных решениях — боль. Особенно болезнь прогрессирует в вакууме и изоляции. При проектировании надо думать, а множество антипаттернов у нас (тот же MVC), при правильном понимании и готовки не такой уж и антипаттерн.
✦ SOLID вам не нужен. Очень многие любят поспорить о нарушении принципов, но также многие используют их не в том контексте. Это создает путаницы и мифы. Массовые помешательства и культы карго. Чаще нужно смотреть глубже и изучать что и в каком контексте было сказано.
✦ VIPER – шаблон дизайна или архитектура? кому-то поломает представление о вайпере. Прикольный видос как его организация может полностью нарушать принципы чистой архитектуры
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
Forwarded from Teamlead Good Reads – ежедневные советы про менеджмент людей и команд (Egor Tolstoy)
Как устроены архитектурные ревью в Skyscanner
У Подлодки есть замечательный выпуск с Филиппом Дельгядо про то, почему code review часто добавляет больше проблем, чем пользы, и про другие виды peer review, которыми его можно заменить. Если вы уже посмотрели выпуск или доклад Фила на ту же тему, и хотите узнать, а как оно работает на практике, то вот вам кейс от Skyscanner.
- Автор планируемого изменения готовит документ, в котором описывает решаемую проблему и детали своего решения.
- Этот пропозал читают и комментируют все связанные с изменением команды. Весь ревью организован асинхронно, встреча собирается только в том случае, если есть какие-то крупные вопросы и комментарии, которые автору удобнее разобрать голосом.
- Документ продолжает жить и дальше, постепенно превращаясь в документацию разработанного сервиса или принятого решения.
У Подлодки есть замечательный выпуск с Филиппом Дельгядо про то, почему code review часто добавляет больше проблем, чем пользы, и про другие виды peer review, которыми его можно заменить. Если вы уже посмотрели выпуск или доклад Фила на ту же тему, и хотите узнать, а как оно работает на практике, то вот вам кейс от Skyscanner.
- Автор планируемого изменения готовит документ, в котором описывает решаемую проблему и детали своего решения.
- Этот пропозал читают и комментируют все связанные с изменением команды. Весь ревью организован асинхронно, встреча собирается только в том случае, если есть какие-то крупные вопросы и комментарии, которые автору удобнее разобрать голосом.
- Документ продолжает жить и дальше, постепенно превращаясь в документацию разработанного сервиса или принятого решения.
Medium
Building systems at scale: how Skyscanner approaches engineering design reviews
By Tom Butterwith, Engineering Manager
👍3🤔2
Практикуешь парное программирование?
Anonymous Poll
11%
Да, уже давно
1%
Да, только начали
1%
Да, но отказываемся
4%
Нет, но собираемся
7%
Нет, но раньше да
36%
Нет, не собирались и не будем
40%
Нет, Да, Нет, Да)0)0000
Включайте VPN. Крутой твиттер тред от девушки программистки. За год нарешала 400 задач. Да и между подходами литкода еще и на шесте крутиться науспела. Руки на стол.
Вкратце:
- Не решать ради подготовки к собесам
- Литкод научил не только алгоритмам
- На задачу уходило не больше 40 минут
Вкратце:
- Не решать ради подготовки к собесам
- Литкод научил не только алгоритмам
- На задачу уходило не больше 40 минут
🔥17👍1😐1