DigitableCourses
Настройки портала
Показать возможности портала

Локально и без аккаунта. Аккаунта нет, регистрация не нужна: введённое в инструменты остаётся в localStorage браузера и на сервер не уходит.

Свой счётчик считает открытия страниц и дочитывания: уезжает адрес и десятая доля текста. Без cookies и чужих счётчиков, IP не хранится, Do Not Track уважается. Как это проверить

Репозиторий портала не выложен, «открытым кодом» мы его не зовём. Открыто это:

Живёт портал на донатах, платных консультациях и разборах по запросу и покупке Workbench.

Планов делать курсы платными нет.

Карьера

Мобильный разработчик

Приложения под iOS и Android: платформа, офлайн, фон, релизы через сторы.

  1. Junior
  2. Middle
  3. Senior
  4. Дальше: ветвление, а не ступень

По сравнению с учёбой меняется хозяин правил: что можно приложению, решает платформа, а не вы.

Сделать сейчас

  • Проверяю свой экран на повороте, звонке и убитом процессеСостояние возвращается, а не начинается заново.
  • Прохожу экран при плохой связи и в самолётном режимеПриложение объясняет, что связи нет, и не падает.
  • Собираю раскладку под крупный шрифт и маленький экранТекст не обрезан, до кнопок можно дотянуться.
  • Разбираюсь, куда мержится моя ветка и что попадёт в ближайший билдЗнаю, в каком билде поедет моя правка, не спрашивая никого.

Куда дальше

Middle

Вбок из роли

Что на ступени спрашивают

  • Понимаю жизненный цикл экрана и приложения на своей платформеЗнаю, что произойдёт с моим экраном при повороте, звонке и убийстве процесса.
  • Собираю экраны и навигацию по макетуРаскладка выживает на маленьком экране, крупном шрифте и длинном тексте.
  • Хожу в сеть и обрабатываю ошибки, а не только счастливый путьПриложение не падает в метро и внятно объясняет, что связи нет.
  • Работаю в общей ветке и понимаю релизный цикл командыЗнаю, куда мержится моя ветка и что попадёт в ближайший билд.

Обычные ошибки

  • Проверять только на своём телефоне: у людей устройства старее и система другая.
  • Считать жизненный цикл экрана мелочью: потерянное состояние ловят пользователи, а воспроизвести его трудно.
  • Тянуть в приложение всё подряд: вес и время запуска потом чинить дороже, чем не добавлять.

Что учить

  1. Junior
  2. Middle
  3. Senior
  4. Дальше: ветвление, а не ступень

Меняется граница ответственности: фича не заканчивается на экране — за ней офлайн, фон и очередь ревью в сторе.

Сделать сейчас

  • Раскладываю приложение по слоям, чтобы логику можно было проверить без интерфейсаТест на логику запускается без эмулятора.
  • Пишу правило разрешения конфликтов синхронизации до того, как они случилисьКонфликт заканчивается понятным исходом, а не потерей данных.
  • Провожу релиз через стор и репетирую откатЗнаю, что делать с багом в проде, пока ревью в сторе идёт.
  • Свожу фоновую работу к тому, что разрешает платформаЗадача выполняется без хаков против системы.

Куда дальше

Senior

Вбок из роли

Что на ступени спрашивают

  • Раскладываю приложение по слоям, а не по экранамЛогику можно протестировать без запуска UI.
  • Делаю офлайн и синхронизацию, зная, что конфликты будутУ меня есть правило разрешения конфликтов, а не надежда, что их не случится.
  • Работаю с фоновыми задачами и пушами в рамках ограничений платформыПонимаю, почему система убивает мою фоновую работу, и не борюсь с ней хаками.
  • Провожу релиз через стор и умею откатитьсяЗнаю, что делать с багом в проде, когда ревью в сторе занимает сутки.

Обычные ошибки

  • Бороться с ограничениями платформы хаками: очередное обновление системы ломает их разом.
  • Надеяться, что офлайн как-нибудь синхронизируется: конфликты найдут самые активные пользователи.
  • Выпускать релиз без плана отката: починка едет через ревью стора, а не через кнопку.

Что учить

  1. Junior
  2. Middle
  3. Senior
  4. Дальше: ветвление, а не ступень

Меняется то, чем вы рискуете: выпущенную версию нельзя отозвать, и она остаётся у людей вместе со всеми своими ошибками.

Сделать сейчас

  • Меряю запуск, память и батарею на слабом устройстве, а не на своёмЕсть замеры до и после на реальном телефоне.
  • Разделяю, что проверяем автоматически, а что руками, и объясняю почемуСписок ручных проверок короткий и обоснованный.
  • Смотрю на свои данные глазами того, у кого телефон в рукахВ приложении нет секретов, которые нельзя показывать.
  • Пересматриваю выбор нативного и кроссплатформенного под свою командуМогу назвать цену выбора для нас, а не спорить о фреймворках вообще.

Куда дальше

Дальше: ветвление, а не ступень

Вбок из роли

Что на ступени спрашивают

  • Держу запуск, память и батарею в пределах, которые сам измерилУ меня есть цифры до и после, снятые на реальном слабом устройстве.
  • Защищаю данные на устройстве, которое мне не принадлежитНе храню секреты в приложении и знаю, что клиент всегда можно вскрыть.
  • Строю тестирование, которое переживает зоопарк устройствЗнаю, что мы автоматизируем, а что осознанно проверяем руками, и почему.
  • Осознанно выбираю нативное или кроссплатформенное решениеМогу назвать цену выбора для конкретной команды, а не спорить о фреймворках вообще.

Обычные ошибки

  • Держать поддержку старых версий на честном слове: люди не обновляются, и старый клиент живёт годами.
  • Оптимизировать по ощущению: без замера на слабом устройстве улучшение незаметно.
  • Спорить о фреймворках вместо задачи: выбор всё равно оплачивает команда, а не спор.

Что учить

  1. Junior
  2. Middle
  3. Senior
  4. Дальше: ветвление, а не ступень

Дальше: ветвление, а не ступень

Сразу к самооценке

Ступени вверх нет: дальше меняется предмет — чужие команды, продукт или люди, и каждая дорога уводит от кода на своё расстояние.

Сделать сейчас

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

Куда дальше

Дальше не ступень, а развилка

Вбок из роли

Что на ступени спрашивают

  • Делаю общую основу приложения, которой пользуются другие командыУ моего модуля есть версии, путь обновления и живые пользователи внутри компании.
  • Ставлю релизный конвейер, который работает без меняСборка, подпись и раскатка идут без ручных шагов и не ждут одного человека.
  • Считаю результат фичи по поведению людей, а не по числу выпущенных версийМогу назвать, что изменилось после выпуска, и почему это не совпадение.
  • Ввожу в мобильную разработку людей с других платформРядом со мной выросли те, кто раньше не выпускал приложений.

Обычные ошибки

  • Считать менеджмент следующей ступенью: это другая профессия, а релизный цикл делает её здесь особенно жёсткой.
  • Строить общий модуль без пользователей: он превращается в личный проект за счёт компании.
  • Держать магию релиза в своей голове: ваш отпуск останавливает выпуск.

Что учить