Навык программирования или как не путать искусство и искусствоведение
Еще в прошлом году я писал про 25 основных паттернов для решения алгосов и обещал, что сделаю по каждой отдельный обзор. Ну, время пришло. Ниже будет рефлексия и набухание.
Не все накручивается и хакается. Часто, пытаясь найти легкий путь, который не нашли миллионы таких как ты, тратишь время впустую. Когда давно можно было обучиться и стать лучше, мозг откладывает сложные вещи в дальний ящик, обманывая, что удача обязательно убережет. Но это лишь затягивает чувство инженерной неполноценности и усиливает синдром самозванца. Ждать пользы только от рабочих задач наивно.
Навык программирования похож на написание книг. Ты не станешь писателем только читая книги и зубря методики. Ты будешь читателем. Похож на улучшение речи. Ты не станешь круто разговаривать только слушая чужую речь. Ты будешь слушателем. Нужно уделять время на развитие скиллов.
Программирование и алгоритмы ненавидят накрутчики опыта или инфоцыгани, потому что не нашли как хакнуть то, что не хакается. Это лучше всего их обличает, вредит торговому виду. Красивые слова не помогают спрятать пробелы, их обязательно кто-то когда-нибудь выявит. Пытаясь обмануть других ты обманул себя.
Конкуренция усиливается. Изучая и практикуя сложные вещи тебе не составит труда обучиться за вечер очередному фреймворку. В этом вопросе нет легких путей, не получится зазубрить идеальное решение и надеяться, что этого будет достаточно. Нужно обучиться техникам, базам и основам, чтобы нейронные связи генерировали ответ до его написания.
Код новичка сразу отличишь от опытного разраба. У последнего нет избыточной сложности и все просто и лаконично. Когда же новичок усложняет и делает масштабным. Кто литкод съел ночами и отточил скил до совершенства, а кто лишь учился красиво пересказывать слитые ответы или писать статьи и записывать видосы.
Программирование — это искусство. Безграничное, бездонное. Каждый может во что-нибудь влюбиться.
Еще в прошлом году я писал про 25 основных паттернов для решения алгосов и обещал, что сделаю по каждой отдельный обзор. Ну, время пришло. Ниже будет рефлексия и набухание.
Не все накручивается и хакается. Часто, пытаясь найти легкий путь, который не нашли миллионы таких как ты, тратишь время впустую. Когда давно можно было обучиться и стать лучше, мозг откладывает сложные вещи в дальний ящик, обманывая, что удача обязательно убережет. Но это лишь затягивает чувство инженерной неполноценности и усиливает синдром самозванца. Ждать пользы только от рабочих задач наивно.
Навык программирования похож на написание книг. Ты не станешь писателем только читая книги и зубря методики. Ты будешь читателем. Похож на улучшение речи. Ты не станешь круто разговаривать только слушая чужую речь. Ты будешь слушателем. Нужно уделять время на развитие скиллов.
Программирование и алгоритмы ненавидят накрутчики опыта или инфоцыгани, потому что не нашли как хакнуть то, что не хакается. Это лучше всего их обличает, вредит торговому виду. Красивые слова не помогают спрятать пробелы, их обязательно кто-то когда-нибудь выявит. Пытаясь обмануть других ты обманул себя.
Конкуренция усиливается. Изучая и практикуя сложные вещи тебе не составит труда обучиться за вечер очередному фреймворку. В этом вопросе нет легких путей, не получится зазубрить идеальное решение и надеяться, что этого будет достаточно. Нужно обучиться техникам, базам и основам, чтобы нейронные связи генерировали ответ до его написания.
Код новичка сразу отличишь от опытного разраба. У последнего нет избыточной сложности и все просто и лаконично. Когда же новичок усложняет и делает масштабным. Кто литкод съел ночами и отточил скил до совершенства, а кто лишь учился красиво пересказывать слитые ответы или писать статьи и записывать видосы.
Программирование — это искусство. Безграничное, бездонное. Каждый может во что-нибудь влюбиться.
Наконец закончил первый блок с вопросами для джунов. Я думал выйдет меньше, но в итоге:
Вышло больше, чем я планировал. Заоодно и прокачал себя. Но после вчерашнего опроса и комментов в чате понял, что упустил или упростил очень много инфы. А некоторое и сам не знал
Поэтому было решено сделать еще 2-3 части для джуниорова и других грейдов.
Нельзя объять необъятное, но мы попробуем.
Please open Telegram to view this post
VIEW IN TELEGRAM
Метод двух указателей
Начинаю разбирать основные техники, которые упрощают решение алгоритмов или реальных задач.
Самый базовый и стандартный метод с которого стоит начать изучение решений задач — это метод двух указателей. Он используется для перемещения по массиву.
💎 Когда использовать этот метод?
1. Поиск пары элементов, сумма которых равна в отсортированном массиве.
2. Удаление дубликатов из отсортированного массива.
3. Определение длины самого длинного подмассива с нужной суммой.
4. Нахождение наименьшего подмассива с нужной суммой.
5. Нахождение ближайшей пары точек на 2D-плоскости.
6. Определение максимальной суммы подмассива в заданном массиве.
7. Поиск первого неповторяющегося символа в строке.
🧬 Как мы его используем? Каков подход?
1. Инициализируйте два указателя, обычно в начале и конце массива или списка.
2. Проверьте, соответствуют ли текущие элементы по двум указателям заданому условию.
3. Если условие выполнено, верните результат.
4. Если условие не выполняется, переместите один из указателей на основе необходимой логики, чтобы уменьшить размер пространства для поиска.
5. Повторяйте шаги со 2 по 4, пока указатели не встретятся или условие не будет выполнено.
6. Если условие не выполнено, верните дефолтный результат.
В скриншотах разбор одной из самых популярных задач "Two sum"
Дополнительные задачи для практики:
- Удаление дубликатов из отсортированного массива
- Удаление элементов
- Поиск палиндрома
Разбор этих задач и другие техники уже есть в ноушене
Начинаю разбирать основные техники, которые упрощают решение алгоритмов или реальных задач.
Самый базовый и стандартный метод с которого стоит начать изучение решений задач — это метод двух указателей. Он используется для перемещения по массиву.
1. Поиск пары элементов, сумма которых равна в отсортированном массиве.
2. Удаление дубликатов из отсортированного массива.
3. Определение длины самого длинного подмассива с нужной суммой.
4. Нахождение наименьшего подмассива с нужной суммой.
5. Нахождение ближайшей пары точек на 2D-плоскости.
6. Определение максимальной суммы подмассива в заданном массиве.
7. Поиск первого неповторяющегося символа в строке.
1. Инициализируйте два указателя, обычно в начале и конце массива или списка.
2. Проверьте, соответствуют ли текущие элементы по двум указателям заданому условию.
3. Если условие выполнено, верните результат.
4. Если условие не выполняется, переместите один из указателей на основе необходимой логики, чтобы уменьшить размер пространства для поиска.
5. Повторяйте шаги со 2 по 4, пока указатели не встретятся или условие не будет выполнено.
6. Если условие не выполнено, верните дефолтный результат.
В скриншотах разбор одной из самых популярных задач "Two sum"
Дополнительные задачи для практики:
- Удаление дубликатов из отсортированного массива
- Удаление элементов
- Поиск палиндрома
Разбор этих задач и другие техники уже есть в ноушене
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Реверс инженеринг тиктока
Если вы решили стать хакером айфонов, то вот видос. Здесь автор учит как менять контент используя знания iOS + Objc + LLDB.
Теперь и вы можете рисовать котиков не только в Xcode
Если вы решили стать хакером айфонов, то вот видос. Здесь автор учит как менять контент используя знания iOS + Objc + LLDB.
Теперь и вы можете рисовать котиков не только в Xcode
YouTube
Modding TikTok to only show Cat Videos
Walk through an end-to-end example of reverse engineering an iOS app and modifying it to do something new!
Having existing iOS + Objective-C + LLDB knowledge is helpful if you're following along locally.
If this sort of topic interests you, check out the…
Having existing iOS + Objective-C + LLDB knowledge is helpful if you're following along locally.
If this sort of topic interests you, check out the…
Многие из вас могли заметить, что в прошлых постах не было ничего про SwiftUI. Я долго боролся с этим, но все же пересилил себя. Наконец я начал вести этот блок. Нельзя отрицать, что все крупные компании новые проекты начинают делать уже на нем.
Цель одна. Впервую очередь для себя собрать лучшие ресурсы для обучения, испытать технологию на практике, посмотреть чужие практики.
Буду теперь регулярно наполнять ноушен этим помимо алгосов и многопоточки. В SwiftUI я новичок, поэтому у вас есть уникальная возможность поделиться материалами и обучаться вместе
UPD: в чате придумали идея делать общий проект с общим ревью друг друга
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Как чуваки от SwiftUI отказывались
Забавная история. Никогда не было, но вот опять. Компания потратила почти год инженеро-часов, чтобы исправить проблемы:
- Бедный инструментарий
- Проблемы с дебагингом
- Нет контроля жизненных циклов
- Много непонятной магии
Также в статье говорится, что даже при наличии кучи документаций и учебников множество моментов неочевидные и помогают только глубокие погружения в ролики WWDC.
Думаю, самое время изучить SwiftUI. Ноушен буду наполнять только самыми проверенными вещами, чтобы не превратить в мусорку
Забавная история. Никогда не было, но вот опять. Компания потратила почти год инженеро-часов, чтобы исправить проблемы:
- Бедный инструментарий
- Проблемы с дебагингом
- Нет контроля жизненных циклов
- Много непонятной магии
Также в статье говорится, что даже при наличии кучи документаций и учебников множество моментов неочевидные и помогают только глубокие погружения в ролики WWDC.
Думаю, самое время изучить SwiftUI. Ноушен буду наполнять только самыми проверенными вещами, чтобы не превратить в мусорку
Medium
Why Ollie is moving away from SwiftUI to UIKit
A few months ago, we made the decision to move away from SwiftUI & Swift Concurrency for our application and to move the core of our app…
Собрал в ноушене все самые мои интересные статьи и посты про самые полезные паттерны проектирования, выбор архитектур и важные принципы проектирования, которые гораздо важнее SOLID'ов и других популярных и непонятных вещей.
Архитектура очень близко лежит с System Design'ом и только этот навык, а не алгоритмы или знания платформы, определяет сеньорность.
Уметь масштабировать, упрощать, не переусложнять для буста повышения — это навык опытного спеца. Мало путать просто пересказ паттернов или слепой пересказ книги Мартинов. Тут только есть место только практики. В будущем буду активно дополнять раздел.
Прокачать себя в архитектурах можно здесь. Скоро начнем делать продукт по SUI. Там посмотрим на современные практики проектирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Привычки великих инженеров
Многие думают, что программист это только про кодинг. Но как элегантно заметил автор, оценивать программиста по кодингу это как оценивать художника только по навыку смешивания цветов. Многое скрывается под верхушкой айсберга. Современному итшнику все чаще нужно развиваться в разных направлениях.
Тезисно о чем статья:
⏺ Обучайтесь не только в коде. Часто как разработчик вы будете писать код лишь 20% времени.
⏺ Получайте удовольствие от работы. Тут все понятно. Даже мой канал старается искать лучшее в программировании и любить это ремесло.
⏺ Копайте глубже. Могу сказать по-своему опыту в бигтехах, что многие разработчики утопают в абстракциях и многие их навыки атрофируются. Они не хотят знать или забывают как работают внутри многие вещи, легко деградируя как спецы.
⏺ Развивайте системное мышление. Нужно не только понимать кишки, но и обширно видеть работу систем за границами своих ответственностей, платформ.
⏺ Технический детокс. Не забывайте изучать реальный мир и отдыхать от компа
⏺ Всегда формируйте свою базу знаний и ищите разные подходы к решению задач. С годами чужие мнения слабеют и у вас появляются свои взгляды на решение проблем
⏺ Делайте простыми сложные вещи. Эта идея также впитана в мой канал. Если вы не можете объяснить это просто, значит, вы недостаточно хорошо это понимаете
Многие думают, что программист это только про кодинг. Но как элегантно заметил автор, оценивать программиста по кодингу это как оценивать художника только по навыку смешивания цветов. Многое скрывается под верхушкой айсберга. Современному итшнику все чаще нужно развиваться в разных направлениях.
Тезисно о чем статья:
Please open Telegram to view this post
VIEW IN TELEGRAM
Vadim Kravcenko
Habits of great software engineers
The role of a software developer often gets distilled down to a singular activity: coding. While coding is undeniably the heartbeat of the profession,
Подборка книг для улучшения программирования
В этом году я дал себе слово больше читать книг. На мой взгляд, книги дают больше качественных знаний. Лучше образовывают. Нейронка в голове формируется лучше.
Я хочу собрать большой wishlist с обязательными книгами для программиста и не только. Хожу по интересным мне людям и собираю их списки, чтобы составить свой. Вот одной из интересных подборок поделились со мной коллеги на работе
Делитесь и вы в комментах
В этом году я дал себе слово больше читать книг. На мой взгляд, книги дают больше качественных знаний. Лучше образовывают. Нейронка в голове формируется лучше.
Я хочу собрать большой wishlist с обязательными книгами для программиста и не только. Хожу по интересным мне людям и собираю их списки, чтобы составить свой. Вот одной из интересных подборок поделились со мной коллеги на работе
Делитесь и вы в комментах
Традиционно каждую пятницу я подвожу итоги обновлений ноушена. В этот раз было много активностей в чате, мы решали уйму задач и разбирали вопросы по рефакторингу и архитектурам. Все же помимо чтения статей нужно уметь и знать как это все практиковать. Легко обсудить контент и материал. Сильное окружение или менторы, которые подтолкнут или скорректируют путь.
Не устану повторять как он является драйвером и генератором идей для меня. Но также в ноушене я написал пару авторских постов.
Что было обновлено:
Также напоминаю. Что я решился на первый созвон с микродокладом по развитию иос разработчика, где попытался исследовать все паттерны и практики развития. Но об этом будет отдельный пост.
Please open Telegram to view this post
VIEW IN TELEGRAM
Проснулся утром в воскресенье и не знаешь чем заняться? Проведи утро с пользой.
Эту тему в чате ждали многие: от начинающих разработчиков до тимлидов крупных компаний. Я готовлю презентацию "Я потерялся. Как расти инженером?".
Там я попробую разобрать:
Все это будет подкреплено наблюдениями нанимающих менеджеров, тимлидов, хэдов и рекрутеров.
Откровенно признаюсь, что эту тему я посчитал актуальным и для себя. Поэтому соберу практики где-то объективные, а где-то субьективные. Основная задача пообсуждать и структурировать многие острые и не очень карьерные вопросы. А также как рынок в целом себя чувствует по отношению к иос разработчикам.
Разговоры будут открытые и откровенные, особенно с риском блокировки appleStore и смерти иос-разработки.
Так как это мои первые мини доклады доступ к встрече будет только для участников сообщества любого уровня
Please open Telegram to view this post
VIEW IN TELEGRAM
Еще одно небольшое объявление
Теперь я буду проводить внутри комьюнити еженедельное голосование для опроса интересных тем.
В конце каждой недели будет опрос с выбором о чем хочет послушать аудитория. По итогу, тема, набравшая большую часть голосов, чаще всего будет встречаться в ноушене и канале.
Так я и сам выйду за границы своих интересов, и людям помогу. А также сохраню руку на пульсе трендов.
Я уже провел голосование. Пока лидер следующей недели архитектуры и system design. Но вы можете повлиять на это 🙂
Теперь я буду проводить внутри комьюнити еженедельное голосование для опроса интересных тем.
В конце каждой недели будет опрос с выбором о чем хочет послушать аудитория. По итогу, тема, набравшая большую часть голосов, чаще всего будет встречаться в ноушене и канале.
Так я и сам выйду за границы своих интересов, и людям помогу. А также сохраню руку на пульсе трендов.
Я уже провел голосование. Пока лидер следующей недели архитектуры и system design. Но вы можете повлиять на это 🙂
Созвон прошел.
Все материалы и запись с ресурсами будут в ноушене и уже в чате.
Спасибо всем, кто пришел и участвовал.
Следующий созвон будет более интерактивным.
🖤
Все материалы и запись с ресурсами будут в ноушене и уже в чате.
Спасибо всем, кто пришел и участвовал.
Следующий созвон будет более интерактивным.
🖤
Рекомендации книг для программистов
Ого, смотрите, кто читает наш блог. Только недавно писал, что нуждаюсь в подборках по книгам для разрабов и вот один из любимых сайтов решил поделиться своей подборкой. Когда канал предугадывает тренды.
В ней много уже знакомой литературы, но есть и новые книги. Большинство не читал, но уже надо. Теперь осталось только найти время.
Кстати, может реанимировать книжный клуб? А еще по активностям, эту неделю мы в чате уже начали решать задачи по рекомендациям алгоритмов от Яндекса. С комментами и необычными разборами.
Подборку обязательных задач уже создал.
Ого, смотрите, кто читает наш блог. Только недавно писал, что нуждаюсь в подборках по книгам для разрабов и вот один из любимых сайтов решил поделиться своей подборкой. Когда канал предугадывает тренды.
В ней много уже знакомой литературы, но есть и новые книги. Большинство не читал, но уже надо. Теперь осталось только найти время.
Кстати, может реанимировать книжный клуб? А еще по активностям, эту неделю мы в чате уже начали решать задачи по рекомендациям алгоритмов от Яндекса. С комментами и необычными разборами.
Подборку обязательных задач уже создал.
Swiftrocks
Software engineering book recommendations
Bruno's personal list of recommended books about software engineering and iOS development.
Старт тренировок алгоритмов 5.0
У яндекса вышел новый сезон тренировок по алгоритмам. Мы, как почти единственный канал в иос (а может даже мобильный), кто активно изучает алгоритмы, решили сразу поучавствовать в нем.
Теперь ежедневно будем решать не просто абстрактные задачи с литкода, а из тренировок яндекса и коллективно их разбирать, писать констпекты и делиться знаниями. Отличный и прикольный эвент, особенно с качеством их лекций и площадок.
Если ты думал как войти в изучение алгосов, то это отличный шанс. Ведь начинается все почти с основ, а еще и обучение не в одиночку, а коллективно с единомышленниками.
Вступай
У яндекса вышел новый сезон тренировок по алгоритмам. Мы, как почти единственный канал в иос (а может даже мобильный), кто активно изучает алгоритмы, решили сразу поучавствовать в нем.
Теперь ежедневно будем решать не просто абстрактные задачи с литкода, а из тренировок яндекса и коллективно их разбирать, писать констпекты и делиться знаниями. Отличный и прикольный эвент, особенно с качеством их лекций и площадок.
Если ты думал как войти в изучение алгосов, то это отличный шанс. Ведь начинается все почти с основ, а еще и обучение не в одиночку, а коллективно с единомышленниками.
Вступай
YouTube
Тренировки по алгоритмам 5.0 Открытие Тренировок Лекция 1: Сложность, тестирование, особые случаи
Видите ошибки? А они есть! Стресса от этого не будет у тех, кто умеет писать стресс-тестирование. А сложностей — у тех, кто умеет использовать оценку сложности алгоритмов на практике. Всему этому научимся на этой лекции.
Подробнее о тренировках по ссылке:…
Подробнее о тренировках по ссылке:…
Дрейфусовская модель приобретения навыков
Как развиваться? Какие скиллы важны в бигтехах? Как сформулировать грейды? Начальник попросил сделать матрицу компетенций, помогите.
Я часто встречаю ребят, которые пишут такие вопросы. Они ищут рекомендации, которые помогут сформулировать честные грейды. Сам такое делал и в чате регулярно появляется такой запрос.
На первом созвоне коммьюнити я также немного попытался разобрать этот вопрос. В своем докладе хотел разобрать тему оценки спецов. В этом мне помог доклад Саши Сычева, head of mobile Тинькофф Страхования. Здесь можете почитать расшифровку. Почти все компании, сознательно или без, приходят к такому уравнению.
Подборборка интересных ресурсов по теме:
- Как построить матрицу компетенций с нуля
- Матрица компетенций в авито для инженеров
- iOS skills matrix
💎 Ну и я выложил обещанные материалы и инструменты для построения матрицы в ноушен, вместе с моим докладом и презентацией.
Как развиваться? Какие скиллы важны в бигтехах? Как сформулировать грейды? Начальник попросил сделать матрицу компетенций, помогите.
Я часто встречаю ребят, которые пишут такие вопросы. Они ищут рекомендации, которые помогут сформулировать честные грейды. Сам такое делал и в чате регулярно появляется такой запрос.
На первом созвоне коммьюнити я также немного попытался разобрать этот вопрос. В своем докладе хотел разобрать тему оценки спецов. В этом мне помог доклад Саши Сычева, head of mobile Тинькофф Страхования. Здесь можете почитать расшифровку. Почти все компании, сознательно или без, приходят к такому уравнению.
Подборборка интересных ресурсов по теме:
- Как построить матрицу компетенций с нуля
- Матрица компетенций в авито для инженеров
- iOS skills matrix
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Дрейфусовская модель приобретения навыков
Итак, этот пост будет немного «поспешным», что неудивительно для субботнего утра ( оригинальная статья была опубликована 18-ого августа 2007-ого года. прим.пер. ), но я хочу сослаться на этот топик в...
System Design: Сбор требований
Напомню для чего нужен этап проектирования. Впервую очередь этот навык во многих компаниях определяет сеньорность. Реальный навык, который помогает определить ширину и глубину знаний любого инженера. Ты можешь не знать нюансы библиотек, но зато отлично проектировать сложные системы, что лучше ценится.
В реальных задачах писать код чаще это 30-40% рабочего времени. Все остальное большая роскошь. В крупных бигтехах создаваемые инструменты будут надолго. Ими будут пользоваться множество других разработчиков. Поэтому уделять этому этапу необходимо много времени.
Почему?
🔘 Хороший дизайн вашего апи будет удобен клиентам
🔘 Чистый код и логичные конструкции избавят от проклятий других разработчиков
🔘 Умение замечать функциональные и нефункциональные требования перед дорогой реализацией.
Сам по себе этот экран может показаться простым на первый взгляд, но имеет некоторые не столь очевидные функции, необходимые для работы.
Основные этапы проектирования:
🔘 Сбор требований
🔘 Оценка нагрузки
🔘 Высокоуровневый дизайн
🔘 Компонентный дизайн
🔘 Повышение отзывчивости и отказоустойчивости
🔘 Мониторинг и алертинг
🔘 Безопасность
В этой статье мы расмотрим этап проектирования — это сбор требований. Есть два красных флага, когда кандидат не справляется с задачей на этом этапе:
1️⃣ Сдается и отпускает руки
2️⃣ Сразу преступает молча к реализации
При сдаче кандидата все понятно. Но почему красный флаг, если кандидат сразу начал реализацию? Есть высокий риск, что кандидат не учел множество условий, которые сильно повлияют на конечный результат и не приведут к желаемой функциональности. Огромной ошибкой будет сразу верстать экран без проработки.
Вы получаете дизайн экранов от дизайнеров или менеджеров и сразу должны задать вопрос:
*️⃣ Все ли состояния экрана проработанные
*️⃣ Что будет при ошибках?
*️⃣ Что будет, если данных не будет хватать?
*️⃣ Что будет, если нет интернета?
*️⃣ Будет ли поддержка планшетов, макОС?
*️⃣ Откуда берутся данные?
*️⃣ Кэширование или локальное хранилище?
И это только то, что приходит в голову сразу. А есть еще много неизвестных, которые нужно уточнить или собрать.
📌 С чего же начать? Правильней всего будет выдержать баланс и не закопаться в деталях. Уметь быстро выявить важные требования и отсеять второстепенные. На этом этапе нужно забыть об архитектурах или выборе SwiftUI или UIKit
Лучшее решение на первом этапе - это лучше понять проблему.
Лучшее понимание проблемы даст нам лучшую отправную точку, потому что это поможет нам выявить неверные предположения и недостающие функции. Нужно начать с рисования схемы, которая поможет выбрать архитектуру.
Об этом в следующих постах.
Полная и расширенная статья с ресурсами уже доступна в ноушене
Напомню для чего нужен этап проектирования. Впервую очередь этот навык во многих компаниях определяет сеньорность. Реальный навык, который помогает определить ширину и глубину знаний любого инженера. Ты можешь не знать нюансы библиотек, но зато отлично проектировать сложные системы, что лучше ценится.
В реальных задачах писать код чаще это 30-40% рабочего времени. Все остальное большая роскошь. В крупных бигтехах создаваемые инструменты будут надолго. Ими будут пользоваться множество других разработчиков. Поэтому уделять этому этапу необходимо много времени.
Почему?
Сам по себе этот экран может показаться простым на первый взгляд, но имеет некоторые не столь очевидные функции, необходимые для работы.
Основные этапы проектирования:
В этой статье мы расмотрим этап проектирования — это сбор требований. Есть два красных флага, когда кандидат не справляется с задачей на этом этапе:
При сдаче кандидата все понятно. Но почему красный флаг, если кандидат сразу начал реализацию? Есть высокий риск, что кандидат не учел множество условий, которые сильно повлияют на конечный результат и не приведут к желаемой функциональности. Огромной ошибкой будет сразу верстать экран без проработки.
***Уточнение:** На интервью не стоит тратить много времени на сбор требований. Но на реальном проекте это один из важнейших этапов.*
Вы получаете дизайн экранов от дизайнеров или менеджеров и сразу должны задать вопрос:
И это только то, что приходит в голову сразу. А есть еще много неизвестных, которые нужно уточнить или собрать.
Лучшее решение на первом этапе - это лучше понять проблему.
Лучшее понимание проблемы даст нам лучшую отправную точку, потому что это поможет нам выявить неверные предположения и недостающие функции. Нужно начать с рисования схемы, которая поможет выбрать архитектуру.
Об этом в следующих постах.
Полная и расширенная статья с ресурсами уже доступна в ноушене
Please open Telegram to view this post
VIEW IN TELEGRAM