Git Product home page Git Product logo

developers-roadmap's Introduction

Developers roadmap

Как изучить front-end или back-end разработку? Как максимально эффективно прокачаться от junior к middle и от middle к senior? Какие ресурсы выбирать по каким темам?

Введение

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

Перед тем как создавать pull request, изучите требования к оформлению вопросов и ресурсов.

Статус

Сейчас программа находится в фазе активного переноса с прошлой платформы, где мы её писали (rizzoma.com), поэтому многие куски пока что ещё упущены, структура материала не окончательно заполнена.

Градации

Ниже приведены наши субъективные представления стандартных уровней мастерства разработчиков.

Junior frontend developer

  • Умеет решать локальные задачи, которые хорошо декомпозированы и укладываются в принятые в проекте соглашения и архитектурные принципы.
  • Хорошо знает основной инструментарий — html, css, javascript.
  • Уверенно владеет React.JS на уровне, который позволяет решать абсолютное большинство стандартных задач, связанных с интерфейсами.
  • Умеет ясно излагать свои мысли в письменной и устной форме, понимает важность проактивности для командной работы.

Middle frontend developer

  • Отлично знает инструментарий, включая React.JS.
  • Имеет навыки проектирования и знает основные принципы разработки поддерживаемого продукта, т.е. владеет ООП, ФП, понимает DDD и SOLID.
  • Умеет спроектировать небольшого и среднего размера стандартные проекты (интерфейс для проекта до ±100k строк с командой до ±10 участников).
  • Умеет эффективно решать задачи в рамках заданной архитектуры (например, следуя парадигме от React+Redux).
  • Знает, как решить нетривиальные локальные задачи, чаще всего не связанные с интерфейсами напрямую, например, написать небольшую библиотеку для удобного API по работе с URI.
  • Понимает бизнес-ценность своей работы, может предложить пересмотр требований задачи для лучшего достижений этих ценностей, может предложить убрать задачу из бэклога, аргументировав возможными альтернативами или даже доказав её низкий приоритет.
  • Умеет декомпозировать и довольно точно оценить объем работ для небольших работ (до 2-х человекомесяцев). Умеет явно увидеть области риска при оценке, сузить их наименьшими усилиями и явно фокусировать внимание команды на них.
  • Проявляет эмпатию, не перебивает, умеет выслушать, понять точку зрения оппонента и предложить аргументированные альтернативы.

Senior frontend developer

  • Отлично понимает весь контекст проекта, включая пользователей (и их цели), бизнес, всю команду разработчиков.
  • Понимает бизнес-ценности всего продукта и всей команды.
  • Может помочь ясно сформулировать требования к задаче, учитывая стратегические цели компании.
  • Может спроектировать верхнеуровневую архитектуру продукта учитывая весь контекст (пользователи, бизнес, 3rd party services etc).
  • Сам может выбрать необходимый стек для всего комплекса решений, который может состоять из нескольких больших проектов.
  • Умеет самостоятельно эффективно разбираться в неизвестных и достаточно объемных областях, применять изученное для решения поставленных проблем там, где это эффективно (например, быстро изучить meteor.js и предложить создавать проект на нем, если он действительно лучше подходит).
  • Умеет давать оценки даже для существенного объема работ, запросить все необходимые требования, доработать их при необходимости, заложить риски.

Рекомендация

Советуем для удобного чтения установить расширение Octotree.

Обучение с 0 до Junior

Наша команда также разработала систему обучения по front-end и back-end разработке с нуля. Изучить подробности и заполнить форму, чтобы начать изучение программы, можно на нашей странице.

developers-roadmap's People

Contributors

znack avatar chmnkh avatar clicktronix avatar krashaen avatar stanislav-az avatar akhmadbabaev avatar antonkalinin-ml avatar iatsdotfatr avatar vkpgwt avatar gmihtt avatar olgaklimenko avatar sk1e avatar alagunoff avatar frolikow avatar kelizarov avatar vladimirbokor avatar kinda-neat avatar olegromashin avatar sergio-ka avatar zarwlar avatar gooddaytodayokey avatar viktoriya-ch avatar nelliza avatar evgeny-osipenko avatar performanceartist avatar andreylarionovdev avatar constantine-p avatar in19farkt avatar ptaberg avatar fanmanutd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.