{"id":13616810,"url":"https://github.com/fullstack-development/developers-roadmap","last_synced_at":"2025-05-14T13:06:01.139Z","repository":{"id":34435608,"uuid":"178674197","full_name":"fullstack-development/developers-roadmap","owner":"fullstack-development","description":"How to learn front-end or back-end development","archived":false,"fork":false,"pushed_at":"2025-05-12T12:26:11.000Z","size":993,"stargazers_count":1214,"open_issues_count":61,"forks_count":264,"subscribers_count":54,"default_branch":"master","last_synced_at":"2025-05-12T13:26:34.764Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fullstack-development.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-03-31T10:40:35.000Z","updated_at":"2025-05-11T05:21:25.000Z","dependencies_parsed_at":"2023-02-17T18:00:41.940Z","dependency_job_id":"d62f6529-9ab9-42c0-a511-1375a7d27a9c","html_url":"https://github.com/fullstack-development/developers-roadmap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fullstack-development%2Fdevelopers-roadmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fullstack-development%2Fdevelopers-roadmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fullstack-development%2Fdevelopers-roadmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fullstack-development%2Fdevelopers-roadmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fullstack-development","download_url":"https://codeload.github.com/fullstack-development/developers-roadmap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254149947,"owners_count":22022851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T20:01:33.552Z","updated_at":"2025-05-14T13:06:01.081Z","avatar_url":"https://github.com/fullstack-development.png","language":"Haskell","funding_links":[],"categories":["Haskell"],"sub_categories":[],"readme":"# Developers roadmap\nКак изучить front-end или back-end разработку? Как максимально эффективно прокачаться от junior к middle и от middle к senior? Какие ресурсы выбирать по каким темам?\n\n## Введение\nВ одном репозитории мы собрали темы и ресурсы, которые помогут вам вырасти как front-end или back-end разработчику. Мы советуем выбрать одно из этих двух направлений и максимально сфокусироваться на нём. Только после уверенного овладения одной из областей при большом желании можно начинать переходить на другую, либо оставаться в своей области и изучать её ещё глубже.\n\nПеред тем как создавать pull request, изучите [требования к оформлению вопросов и ресурсов](./requirements.md).\n\n## Статус\nРаботы по основным направлениям завершены, а материалы активно используются нами и другими командами. На данный момент репозиторий активно поддерживается и развивается. Добавляются новые топики, обновляются и актуализируются старые.\n\n## Градации\nНиже приведены наши субъективные представления стандартных уровней мастерства разработчиков.\n\n### Junior frontend developer\n* Умеет решать локальные задачи, которые хорошо декомпозированы и укладываются в принятые в проекте соглашения и архитектурные принципы.\n* Хорошо знает основной инструментарий — html, css, javascript.\n* Уверенно владеет React.JS на уровне, который позволяет решать абсолютное большинство стандартных задач, связанных с интерфейсами.\n* Умеет ясно излагать свои мысли в письменной и устной форме, понимает важность проактивности для командной работы.\n\n### Middle frontend developer\n* Отлично знает инструментарий, включая React.JS.\n* Имеет навыки проектирования и знает основные принципы разработки поддерживаемого продукта, т.е. владеет ООП, ФП, понимает DDD и SOLID.\n* Умеет спроектировать небольшого и среднего размера стандартные проекты (интерфейс для проекта до ±100k строк с командой до ±10 участников).\n* Умеет эффективно решать задачи в рамках заданной архитектуры (например, следуя парадигме от React+Redux).\n* Знает, как решить нетривиальные локальные задачи, чаще всего не связанные с интерфейсами напрямую, например, написать небольшую библиотеку для удобного API по работе с URI.\n* Понимает бизнес-ценность своей работы, может предложить пересмотр требований задачи для лучшего достижений этих ценностей, может предложить убрать задачу из бэклога, аргументировав возможными альтернативами или даже доказав её низкий приоритет.\n* Умеет декомпозировать и довольно точно оценить объем работ для небольших работ (до 2-х человекомесяцев). Умеет явно увидеть области риска при оценке, сузить их наименьшими усилиями и явно фокусировать внимание команды на них.\n* Проявляет эмпатию, не перебивает, умеет выслушать, понять точку зрения оппонента и предложить аргументированные альтернативы.\n\n### Senior frontend developer\n* Отлично понимает весь контекст проекта, включая пользователей (и их цели), бизнес, всю команду разработчиков.\n* Понимает бизнес-ценности всего продукта и всей команды.\n* Может помочь ясно сформулировать требования к задаче, учитывая стратегические цели компании.\n* Может спроектировать верхнеуровневую архитектуру продукта учитывая весь контекст (пользователи, бизнес, 3rd party services etc).\n* Сам может выбрать необходимый стек для всего комплекса решений, который может состоять из нескольких больших проектов.\n* Умеет самостоятельно эффективно разбираться в неизвестных и достаточно объемных областях, применять изученное для решения поставленных проблем там, где это эффективно (например, быстро изучить meteor.js и предложить создавать проект на нем, если он действительно лучше подходит).\n* Умеет давать оценки даже для существенного объема работ, запросить все необходимые требования, доработать их при необходимости, заложить риски.\n\n## Рекомендация\nСоветуем для удобного чтения установить расширение [Octotree](https://chrome.google.com/webstore/detail/octotree/bkhaagjahfmjljalopjnoealnfndnagc?hl=ru).\n\n## Обучение с 0 до Junior\nНаша команда также разработала систему обучения по front-end и back-end разработке с нуля. Изучить подробности и заполнить форму, чтобы начать изучение программы, можно [на нашей странице](https://www.metalamp.io/education).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffullstack-development%2Fdevelopers-roadmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffullstack-development%2Fdevelopers-roadmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffullstack-development%2Fdevelopers-roadmap/lists"}