1

Etapa 1

Курс "Бэкенд на Node.js для фронтенд-разработчиков"

2

Etapa 2

Архитектура

3

Etapa 3

Алгоритмы

4

Etapa 4

Angular

5

Etapa 5

Тестирование

6

Etapa 6

Nx workspace / monorepo / Microfrontends

7

Etapa 7

Gitlab CI / Docker / Kubernetes / Nginx

8

Etapa 8

Веб-безопасность

9

Etapa 9

Eslint / Prettier / Githooks

10

Etapa 10

ES Next

11

Etapa 11

TypeScript

12

Etapa 12

CSS next

13

Etapa 13

Разбор OpenSource

14

Etapa 14

RxJS

15

Etapa 15

BFF (Backend for frontend)

16

Etapa 16

Leetcode

1

Etapa 1

Курс "Бэкенд на Node.js для фронтенд-разработчиков"

2

Etapa 2

Архитектура

3

Etapa 3

Алгоритмы

4

Etapa 4

Angular

5

Etapa 5

Тестирование

6

Etapa 6

Nx workspace / monorepo / Microfrontends

7

Etapa 7

Gitlab CI / Docker / Kubernetes / Nginx

8

Etapa 8

Веб-безопасность

9

Etapa 9

Eslint / Prettier / Githooks

10

Etapa 10

ES Next

11

Etapa 11

TypeScript

12

Etapa 12

CSS next

13

Etapa 13

Разбор OpenSource

14

Etapa 14

RxJS

15

Etapa 15

BFF (Backend for frontend)

16

Etapa 16

Leetcode

06 mayo 2024

Autor del objetivo

General

Senior+ (Architect) Frontend Developer за 180 дней

Итак ,8 лет я уже работаю в IT фронтенд-разработчиком. Мои первые шаги были подробно описаны здесь на smartprogress в одних из самых первых целей. Я прошел ступени от стажера до senior frontend dev. Несмотря на внушительный срок ,я не чувствую себя достаточно опытным ,чтобы называться senior ,хотя и занимал такую позицию в 2 компаниях и до сих пор занимаю.

Я проработал за все время в 5 разных компаниях. Большая часть опыта ушла на одну ,в которой до сих пор и работаю. Был период ,когда я уходил оттуда для поиска новых точек роста ,но потом вернулся. Вернулся в зону комфорта. С того момента мое развитие приостановилось. Аж на 4 года!

Настало время подтвердить свои компетенции и звание. Есть многие моменты ,в которых я плаваю ,и которые требуют подтягивания. Мне бы хотелось не просто чувствовать себя уверенным сеньором ,но и шагнуть чуть выше ,в сторону архитектора.

Определяющим критерием этой цели будет успешное прохождение многоступенчатого собеседования в компанию X на высшую позицию с оплатой в 500к.

UPD (11.05.2024):

Ранее я повторил эксперимент с помидорным методом ,который помог мне в одно время удерживаться на плаву на 2 работах. Хоть и все проходило не так идеально ,как задумывалось ,результаты были гораздо лучше ,чем без метода.

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

Все обучение я разделю на 3 основных блока:

  • Архитектура
  • Алгоритмы
  • Angular

И назову его AAA (Triple A). Каждый из этих блоков соответствует одной стадии собеседования в X.

В каждом блоке будет приоретизация тем. Самое важное - вначале.

Алгоритмы

Порядок действий следующий - в ближайшее время подтягиваю теорию и иду на 4-месячный курс ,где уже будет море практики. Вроде как 100+ задач обещают там. Поэтому ,возможно ,сейчас на подготовительном этапе нет смысла тратить время на решение задач ,а просто пробежаться по теории для общего понимания. Тк попытки решений сейчас отнимают довольно много времени ,хоть и дают большую пользу.

Через боль ,ошибки и победы курс пройден ,что дальше? Решение популярных задач на leetcode. Чем больше успею прорешать ,тем лучше. А так же анализ открытых собеседований по алгоритмам. Статьи с часто встречающимися задачами по алгоритмам и тд. Останется чисто практика ,где чем больше задач будет решено ,тем выше шансы пройти собес.

Больше особо тут ничего нет ,пункт максимально понятный и исчерпывающий.

Архитектура

Здесь все гораздо сложнее. Ибо тем катастрофически много. Сюда я закладываю как общие принципы проектирования system design ,так и архитектуру фронтенд ,так и devops. Здесь же будет и минимальное изучение бека (чуть ниже объясню зачем).

Основной профит я хочу получить от прохождения курса по архитектуре. Вторичный профит - из книг. Третичный - с просмотра различных докладов с конференций.

С книгами и докладами все понятно. Читать и смотреть ,выносить заметки ,пробовать на практике. Приоритета здесь будет 2:

Фронтенд-архитектура

Все что касается фронта. Книги по микрофронтендам ,доклады по архитектуре и практика на личных проектах.

Подготовка к курсу

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

Темы для подготовки к курсу вынесу чуть позже.

Поскольку в X очень любят DDD ,уделить ему внимание в виде прочтения книг ,коих целых 3 у меня теперь есть. Хоть он и будет рассмотрен в ходе курса ,возможно в книгах открою что-то новое для себя.

Angular

Ну и пожалуй самый большой пункт. Если с архитектурой я не планирую задрачивать ,то Angular должен быть протерт до дыр ,как говорится. Понимание этого фреймворка должно быть на экспертном уровне. И хоть я почти всю свою карьеру его использую ,мои знания ограничиваются лишь определенными практическими юзкейсами с работы. Многие вещи я даже не представляю как там устроены ,и эти пробелы надо закрывать. Помимо того ,что это повысит шансы прохождения собеса в X ,глубокое понимание фреймворка значительно упростит мне работу с ним в будущем. Да ,до сих пор бывают некоторые сложности ,и не всегда в ходе своей карьеры я разбирался досконально с проблемами ,а предпочитал просто заюзать рабочее решение со stackoverflow. Думаю ,многие меня поймут сейчас)

Сюда же я отнес всю сопутствующую кухню веба - ES, TS, CSS, RxJS, NgRx, NX, web-security ,Jest, Cypress и тд.

Блок можно разбить на 2 категории:

  • То ,с чем я активно работаю и знаю (но нужно более глубокое изучение): Angular, ES, TS, RxJs, NgRx
  • То ,с чем я не работал или работал очень мало: nx, web-security, jest, cypress

Приоритет - Angular, NgRx и RxJS.

Здесь будет минимум книг и максимум практики. Основной источник изучения новых подходов и внутренних деталей - доклады и разбор исходников.

Из тренировочных проектов есть свой Pomidaro + планирую еще несколько ,один из которых - реализация нескольких интерфейсов из вк. Определенно стоит попробовать проект с картами.

Планирование

Каждую помидорную сессию буду ставить план по данным 3 пунктам и вести аналитику по ним. Помимо реализации ключевых целей сессий необходимо добавить практику ежедневного чтения книг (а их очень много) и просмотр докладов.

Я понимаю ,что все книги не прочитаешь ,поэтому среди них также нужно будет выделить приоритет. Хотя они будут непосредственно связаны с целями сессий ,главное не забывать про них.

Полезным ритуалом здесь будет также еженедельный просмотр открытых собесов ,из которых будет понимание ,что вообще спрашивают сейчас. Ближе к концу цели я планирую потренироваться проходить собесы в другие компании с похожим форматом собеседования ,чтобы понять ,что еще нужно подтянуть до конца.

 Criterio del fin

Прошел собеседование в одну из крупнейших в РФ компаний на высшую позицию по фронту

  1. Курс "Бэкенд на Node.js для фронтенд-разработчиков"

    В рамках этого этапа будет пройден курс по бекенду. Он мне необходим в первую очередь для упрощения прохождения курса по архитектуре ,а также пригодится для создания BFF на будущей работе (возможно и на текущей).

    Coste de la etapa — 571.49 $

    1. Основы Node.js, Express и MongoDB

    2. PostgreSQL и Nest.js

    3. Деплой и автоматизация

    4. Защита проекта 1

    5. Защита проекта 2

  2. Архитектура

    В рамках этого этапа я планирую пройти курс от Яндекс (Архитектура программного обеспечения). А так же прочесть ряд книг с фундаментальными принципами проектирования архитектуры.

    Стоимость курса - 150000р. Каждая книга ~2-3к. Возможно добавятся еще какие-то книги.

    Coste de la etapa — 1648.53 $

    1. Книга: Реализация методов предметно-ориентированного проектирования

    2. Книга: Предметно-ориентированное проектирование. Самое основное

    3. Книга: System Design. Подготовка к сложному интервью

    4. SOLID

    5. Client: FSD

    6. Client: Offline mode

    7. Паттерны / DI

    8. Книга: Чистая архитектура

    9. Astral.Frontend Architecture

    10. MVVM / MVC

    11. TBD / featureFlags

    12. Книга: Изучаем DDD-предметно-ориентированное проектирование

    13. CDN

  3. Алгоритмы

    По алгоритмам я полный ноль сейчас ,как бы это странно и смешно не звучало. На практике мне они попросту не пригождались. Но наступили новые времена. На позициях выше их знание необходимо.

    В качестве мощного буста я решил выбрать платный курс от Яндекс по алгоритмам. Подкреплять буду книгой ,из которой воспроизведу все. алгоритмы на TypeScript. На курсе будет тестовое собеседование по алгоритмам - что очень важно для меня ,тк одно из собеседований в Х полностью посвящено теме алгоритмов.

    Стоимость курса - 71к; стоимость книги - 1-2к.

    Coste de la etapa — 791.3 $

    1. Пройти курс по алгоритмам от Яндекс

    2. Пройти книгу "Алгоритмы" (Стивенс Род)

    3. Хендбук от Яндекса

  4. Angular

    Здесь цель добиться превосходного понимания фреймворка Angular на экспертном уровне. Разобрать все важные компоненты фреймворка ,понимать их внутреннюю работу. Основным источником получения знаний будет - разбор исходников различных open source проектов на angular ,чтение статей и просмотр записей митапов. Ну и конечно же разбор доки.

    1. ChangeDetection / ZoneJS

    2. DependencyInjection / Providers / Injectable

    3. Router / LazyLoad / Guards / Resolvers

    4. Standalone / Signals

    5. NgRX Store / Components Store / Signal Store / etc

    6. Encapsulation

    7. Template / Content Projection / Container / Outlets

    8. Оптимизации

    9. Сборка / Ng CLI / custom webpack / ENVs

    10. Forms

    11. ng libraries /apps

    12. RXJS

    13. HTTPClient

    14. Angular Universal / SSR

    15. PWA / ServiceWorkers

    16. Разобрать популярные библиотеки компонентов на ng

    17. Паттерны на angular

    18. TreeShaking

    19. Интернационализация

    20. Signal

  5. Тестирование

    1. Jest

    2. Cypress

    3. Книга: Тестирование JavaScript (общие принципы)

  6. Nx workspace / monorepo / Microfrontends

    В рамках этого этапа я должен постигнуть концепцию монорепов и микрофронтендов. Сюда к книгам будут добавляться различные полезные доклады с митапов ,статьи ,руководства и прочее.

    Ну и куда без практики. Будет сделан пет-проект с задействованием микрофронтендов.

    1. Книга: Enterprise Angular Monorepo Patterns

    2. Книга: Micro Frontends and Moduliths with Angular

    3. Пет-проект на Angular с использованием microfrontends

    4. Nx

    5. Webpack Module Federation

    6. Книга: Создание микрофронтендов

  7. Gitlab CI / Docker / Kubernetes / Nginx

    1. Книга: Kubernetes и сети. Многоуровневый подход

    2. Книга: Terraform: инфраструктура на уровне кода

  8. Веб-безопасность

    Практически никогда не было нужды запариваться над безопасностью веб ,тк в основном проекты были - либо мобильные приложения с изолированным вебвью ,либо локальные внутрикорпоративные инструменты в защищенных сетях.

    Полагаю ,что в компании X веб-безопасности уделяется особое внимание ,поэтому хотя бы какую-то теорию нужно здесь пройти.

    За основу возьму книгу Безопасность веб-приложений

    1. Книга: Безопасность веб-приложений

  9. Eslint / Prettier / Githooks

  10. ES Next

    1. Client storages

    2. ES Next структуры данных

    3. Асинхронность

    4. Генераторы ,итераторы

    5. Модули и бандлеры

  11. TypeScript

  12. CSS next

    1. variables

    2. grid

    3. flex

  13. Разбор OpenSource

    Разбор OpenSource проектов на Angular для заимствования бест практис и углубленного понимания фреймворка. В рамках этой цели планирую реверс инженеринг популярных UI библиотек на ng.

    1. Angular Material

    2. Taiga UI

  14. RxJS

    Решил вынести эту библиотеку в отдельный этап ,тк тема обширная. Несмотря на то ,что постоянно пользуюсь потоками в работе ,понимание некоторых вещей выстроено не до конца ,что иногда приводит к сюрпризам. Хотелось бы здесь разобрать бест практис в применении к Angular приложениям ,а так же в целом расширить багаж операторов в голове.

    Дока на рус

    1. Дока

  15. BFF (Backend for frontend)

    1. Express

    2. NestJS

    3. HTTP / REST

    4. MongoDB

  16. Leetcode

  • 238
  • 06 mayo 2024, 20:15
Registración

Las posibilidades
están ilimitadas.
Es la hora
de descubrir las suyas

Уже зарегистрированы?
Entrada al sitio

Entre.
Está abierto.

¿Aún no está registrado?
 
Conéctese a cualquiera de sus cuentas, sus datos se tomarán de la cuenta.
¿Ha olvidado la contraseña?