По данным Министерства труда Казахстана, без работы во время карантина остались более 4 млн человек, в Кыргызстане более 700 тысяч, в Узбекистане более 2 млн человек. Для тех, кто потерял работу и еще не успел адаптироваться к новым реалиям, мы запустили спецпроект о том, как выбрать и получить новую востребованную профессию, не оставшись на обочине онлайн-мира.
Мы будем общаться с представителями новых профессий, которые работают в крупных компаниях, и рассказывать о специфике их работы. Первую беседу мы провели с лидером мобильной разработки компании «Леруа Мерлен». Сегодня публикуем интервью с Software Architect международной компании Acronis. Software Architect — специалист, который нужен в любой крупной софтверной компании. От первого лица об особенностях профессии, зарплате и профессиональной подготовке.
Анна Мелехова, родной город — Москва, Software Architect в международной компании Acronis
Выбор профессии и карьера
Несколько лет назад я работала в компании Parallels и занимала позицию lead developer-а. Все изменилось, когда в компанию пришел Michael Toutonghi, который начал выстраивать наши решения более стройно, заговорил об архитектуре ПО в отдельной дисциплине.
Я начала изучать материалы и обнаружила, что целый пласт знаний о разработке программных продуктов прошел мимо меня. Дело в том, что программную архитектуру не преподавали ни в моем университете, ни в аспирантуре. Поэтому я начала знакомиться с концепциями и накапливать знания.
С 2018 года я перешла на работу в международную компанию Acronis на пост архитектора и занялась архитектурой платформы.
Как стать Software Architect
Для того чтобы быть Software Architect, нужно постоянно расширять свой кругозор, мыслить системно и видеть большие масштабы. Архитектор также должен искать компромиссы и уметь принимать чужую точку зрения, если она обоснована.
Я знаю многих людей, которые перешли на позицию Software Architect с должности старшего разработчика, как и я. В этом случае требуется развитие системного мышления и экспертизы, прокачка Soft Skills, чтобы постоянно формировать единое видение развития продукта, не создавая конфликтов внутри компании.
Но существует и другой путь. Например, с недавнего времени я веду курс программной архитектуры в университете «Иннополис». Мы разбираем со студентами основы построения программной архитектуры, и на выходе ребята могут приступить к работе архитектора, постепенно накапливая технические навыки. Кстати, в нашем вузе учится немало студентов из Казахстана.
Экспертиза программной архитектуры сегодня высоко востребована
Экспертиза программной архитектуры сегодня высоко востребована. Вы можете быть уверены, что специалист в этой сфере найдет себе хорошую работу с приличной зарплатой. Если кодинг нижнего уровня сегодня все чаще удается автоматизировать, то с выстраиванием архитектуры программных продуктов может разобраться только хорошо подготовленный профессионал.
Обязанности и навыки
На должности Software Architect руководители обычно видят людей с определенным опытом и статусом. Считается, что это человек, имеющий большой кругозор, который одновременно обладает техническим опытом и может понимать потребности бизнеса.
Но главное отличие архитектора от разработчика — это принципы мышления. И даже еще не имеющий большого технического опыта специалист может выстроить архитектуру, задавая коллегам правильные вопросы. Software Architect смотрит шире, чем разработчик. Он заботится не только о производительности отдельных сервисов, но и о взаимодействии компонентов между собой. Архитектора беспокоит, что будет потом, как продукт будет жить после релиза, какие могут возникнуть сложности при тестировании, сопровождении, дальнейшем развитии продукта. Он почти всегда задает разработчикам неудобные вопросы, которые помогают сделать продукт стабильным и надежным.
Поэтому в мои обязанности входит выстраивание процессов и многочисленные ревью. Мы с коллегами заботимся о том, чтобы интерфейсы — API — были правильно спроектированы, чтобы процессы, поддерживающие платформу, обеспечивали удобный, правильный и обратно совместимый API, чтобы этот API был хорошо документирован и подходил разработчикам, которые будут писать интеграции с Acronis.
Сложности
Для того чтобы заниматься программной архитектурой, нужно иметь определенный склад личности. Эта работа требует высокого уровня тщательности, постоянного внимания к деталям. Мне нравится быть программным архитектором, но я знаю многих талантливых коллег, которые никогда не занялись бы такой работой, так как она кажется им скучной. Архитектор, как правило, слишком много знает и просто предлагает подходящее средство для конкретной ситуации или соглашается с предложениями коллег.
Если вас интересует эта специальность, вы можете почитать Software architecture in practice от профессоров Carnegie-Mellon University, чтобы оценить свою склонность к архитектуре. Если идеи в этой книге покажутся вам интересными, значит, можно учиться и становиться архитектором. Но, если с первых страниц все это будет выглядеть большим занудством, значит, архитектура — это не ваше, и лучше заняться освоением других современных специальностей.
Конкуренция и заработная плата
Зарплаты Software Architect могут варьироваться в большом диапазоне. Все зависит от размеров компании, масштабов программной разработки, численности сотрудников и команд. На своем опыте могу сказать, что в Москве оклад Software Architect начинается от 220 000 рублей в месяц. 300 000 — это медиана. Бывают и значительно большие цифры.
При этом на рынке труда стран СНГ, включая Россию и Казахстан, наблюдается дефицит кадров в области программной архитектуры. Некоторые привлекательные вакансии до сих пор остаются открытыми просто потому, что специалистов с соответствующей квалификацией не хватает.
На рынке труда стран СНГ дефицит кадров в области программной архитектуры
В западных странах уже сформирована культура разработки крупных программных продуктов, и конкуренция среди архитекторов выше. Поэтому не стоит ждать более высокой зарплаты как Software Architect потому, что компания находится в Европе.
Значение профессии
Сегодня многие не знают о программной архитектуре. Это касается как самих специалистов, так и владельцев бизнеса. Но потребность в соблюдении архитектурных принципов формируется высокими темпами.
Для небольшого стартапа архитектура может быть и не нужна. Когда небольшая команда создает продукт, они могут спроектировать системы, исходя из своего прошлого опыта или так называемых reference architecture — типовых решений для данного класса задач.
Но любая успешная компания растет, и ее продукты становятся сложнее. Когда речь идет уже о большом количестве сервисов и продуктов, использовании сторонних компонентов, координации работы сотен программистов, архитектура становится необходимой.
Наличие четкой архитектуры у продукта позволяет поддерживать приемлемое качество, вести разработку в нормальные сроки, успешно развивать продукт, не задыхаясь под гнетом его сложности.
Архитектор ПО от Skillbox
Для кого:
— middle- и senior-разработчики
— системные аналитики уровня Senior
— архитекторы ПО.
Длительность: 4 месяца
Сколько стоит: до 28 ноября со скидкой 40 % — 32 400 рублей.
Подробнее здесь.
Архитектор программного обеспечения от Otus
Для кого:
— системные администраторы
— разработчики
— Team Lead.
Длительность: 4 месяца
Сколько стоит: 100 000 рублей, сейчас скидка 25 % — 75 000 рублей.
Подробнее здесь.
Архитектор программного обеспечения от СНТА
Для кого:
— начинающие разработчики, которые хотят научиться создавать архитектуру программного обеспечения
Длительность: 1 год
Сколько стоит: уточнять по запросу, есть разные скидки и акции.
Подробнее здесь.
Системный архитектор, Advanced System Technologies
Опыт работы: не требуется
Необходимые навыки:
— опыт работы как с монолитной архитектурой, так и с микросервисами
— обеспечение развития систем в соответствии с потребностями заказчика
— определение методов и инструментов по развитию систем
— опыт работы с процессами импортозамещения: использование ПО с открытым кодом и программных продуктов из реестра Минсвязи
— понимание принципов DevOps.
Подробнее здесь.
Архитектор программного обеспечения, сеть «Галмарт»
Заработная плата: от 180 000 рублей
Опыт работы: 3-6 лет
Обязанности:
— анализ текущих архитектурных решений, определение проблемных мест, проектирование изменений
— подбор, оценка и обоснование выбора стека технологий для решаемых задач
— определение требований к хранению и передаче данных между компонентами
— оценка, обучение и консультирование разработчиков.
Подробнее здесь.
Software architect, «ИндаСофт»
Заработная плата: от 200 000 рублей
Опыт работы: более 6 лет
Обязанности:
— документирование и разработка архитектуры ПО
— архитектурная проработка функциональных постановок от отдела технической экспертизы и формирование детальных постановок на разработку
— разработка прототипов с целью проверки архитектурных концепций
— архитектурный надзор и аудит.
Подробнее здесь.