Архитектура для разработчиков и админов: кому какие навыки нужны?



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


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



    Естественно, задача и роль специалиста в проекте определяет, что пригодится в работе. Например, Senior-разработчику, Архитектору ПО или СТО может быть необходимо освоить все. А вот инфраструктурному инженеру, который работает с облачными сервисами — только соответствующую часть переноса приложений в облако.

    Далее мы подробнее раскрыли, что, для кого и какие перспективы дает каждый раздел.

    Ступень 1. Архитектура и паттерны


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

    Изучать нужно, если вы... Разрабатываете программные продукты
    Занимаетесь интеграцией или развитием существующих продуктов
    Junior-разработчик ПО
    Получаемые навыки. что нужно научиться делать? Применять шаблоны проектирования в разработках и понимать solid принципы
    Знать современные процессы разработки программного обеспечения
    Внедрять devops в свои процессы разработки, улучшая код и минимизируя ошибки
    Вести разработку от постановки бизнес-задачи до реализации на production сервере
    Отрисовывать бизнес-процессы и схемы
    Для каких должностей требуется? Middle-разработчик
    Junior-архитектор


    В OTUS эти навыки дает онлайн-курс «Архитектура и паттерны». В нем нет привязки к языку — главное быть знакомым с базовыми понятиями программирования, знать принципы ООП.

    Более специализированные углубленные навыки обычно идут осваивать те, кто планирует карьеру архитектора или техлида (СТО). Но и другим специалистам могут пригодиться эти знания.

    Ступень 2. Архитектура высоконагруженных систем


    Это область web-разработки, крупных проектов и сервисов: соц.сети, интернет-порталы, маркеты и т.д. Для разработчика, который ориентируется в принципах устройства высоконагруженных систем — эти знания являются конкурентным преимуществом и составляющей карьерного роста.

    Изучать нужно, если вы.. Web-разработчик
    Тимлид команды web-разработчиков
    Архитектор
    Технический руководитель
    Middle+ разработчик с опытом работы от 2 лет
    Получаемые навыки. что нужно научиться делать? Создавать веб-приложения, которые легко масштабировать
    Обеспечивать отказоустойчивость веб-приложений даже при падении серверов
    Правильно использовать шаблоны (кеширование, реплицирование, шардирование, индексирование)
    Для каких должностей требуется? Архитектор
    Тимлид
    Ведущий разработчик на сложном проекте


    Для освоения навыков нужен достаточно уверенный опыт в разработке. Тем, кто планирует учиться на нашем курсе «Архитектор высоких нагрузок», потребуется следующий уровень подготовки:

    • Владение одним из языков серверной разработки — Python, PHP, Golang (предпочтительно), NodeJS (в крайнем случае), Java (в крайнем случае)
    • Умение верстать сайты на базовом уровне
    • Основы JavaScript
    • Навыки работы с SQL, MySQL
    • Навыки работы с Linux


    Ступень 3. Архитектура программного обеспечения


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

    Изучать нужно, если вы... Senior developer
    Тимлид
    Администратор
    Получаемые навыки. что нужно научиться делать? Планировать архитектуру ПО
    Создавать масштабируемые, fault-tolerant приложения
    Использовать в проектах классические паттерны проектирования (шардирование, репликация и т.д.)
    Для каких должностей требуется? Senior-разработчик
    Тимлид
    Архитектор ПО


    В OTUS курс «Архитектор ПО» частично пересекается по программе с «Архитектором highload», но при этом он более сложный. Поступающему понадобится знание и опыт работы на уровне Senior в одном из следующих стеков: Java (spring / Java EE), Node.js, C# (.net), python (django), Golang, PHP.

    Ступень 4. Архитектура облачных решений


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

    Изучать нужно, если вы... Сетевой и системный администратор, который хочет стать devops инженером и научиться сопровождать облачную инфраструктуру
    Менеджер или тим лид, который хочет узнать, как трансформировать свою организацию, техническую архитектуру и рабочие процессы для обеспечения работы в облаке
    Получаемые навыки. что нужно научиться делать? Разрабатывать и поддерживать архитектуру облачных приложений
    Выполнять процедуру миграции в облако стека приложений и адаптации организации, ролей и рабочих процессов (рекомендации фреймворка, стоимость, разработка плана миграции)
    Использовать набор архитектурных требований, заточенных на применение в облаке (формирование требований, реализация и анализ)
    Владеть подходом к agile devops разработке и сопровождению архитектуры облачных решений (infrastructure as code)
    Настраивать scrum процесс совместной разработки и сопровождения архитектуры
    Для каких должностей требуется? Head of development
    Cloud solution architect
    Solution architect


    Востребованность этих навыков проектирования растет по мере того, как облачные сервисы занимают все большую долю в мировой отрасли разработки. Предполагается, что они нужны в первую очередь тем, кто планирует перейти в управляющую должность из Senior-разработчика или DevOps-инженера.
    Курс «Cloud Solution Architecture» не пересекается с программами Архитектора ПО и высоких нагрузок, его можно пройти, овладев основами проектирования. Для обучения нужен опыт разработки или администрирования, а также опыт работы с одним из облаков: GCP, AZURE, AWS. Сам же курс посвящен задачам, с которыми сталкивается специалист уровня Senior — мидл или джуниор не смогут применить полученные знания на практике.

    Знания архитектуры и паттернов — это значимое преимущество в глазах работодателя. Так же это основной путь вырасти из кодера в востребованного разработчика, а после — в тим лида, архитектора или СТО, в зависимости от того, что вам ближе.

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

    OTUS. Онлайн-образование
    Цифровые навыки от ведущих экспертов

    Комментарии 2

      0
      Кто-нибудь из хабровчан уже проходил курсы архитекторов от otus? Какой-то независимый фидбэк есть?
        0
        У нас есть чат в телеграмме, в котором больше тысячи действующих студентов и выпускников. Если тут никто не ответит, можете обратиться в чат t.me/joinchat/JMakp0NXc-L8nNneHCtx7A

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

      Самое читаемое