Closed MikhailovAlexander closed 1 year ago
КОЛЯДА Н.В.
Публикация посвящена проблеме использования элементов DevOps для повышения эффективности разработки веб-приложения. Тема особенно актуальна в рамках привлечения студента на время практики для решения реальных задач.
веб-приложение «Электронные сервисы вуза https://eservice.omsu.ru/
Сборка проекта, подключение самого сервиса всегда вызывали у новичков трудности в процессе разработки, а за счет DevOps можно преодолеть этот этап, получить результат. Позже можно вернуться к проблеме сборки и разобрать решение, которое в будущем можно использовать для реализации более сложных задач в рамках приложения или для собственных задач.
В результате был реализован сервис «Договоры», алгоритм вхождения студента в разработку, разработан проект методических рекомендаций для будущих стажеров. Благодаря полученным результатам университет сможет получить новые сервисы, а студенты опыт реализации реальных задач и акты о внедрении этих задач
Рассматривается прменение методологии DevOps в реальном проекте с участием студентов. Облегчение вхождения студентов в проект за счет автоматизации процессов сборки и развекртывания приложения
Evgeny Bobrov, Antonio Bucchiarone, Alfredo Capozucca, Nicolas Guelfi, Manuel Mazzara, Sergey Masyagin
DevOps experienced significant success in the industrial sector, but still received minor attention in higher education. One of the few and very first courses in Europe focusing on DevOps was delivered at the university of Luxembourg [8]
As long as DevOps became a widespread philosophy, the necessity of education in the field become more and more important, both from the technical and organisational point of view
This paper describes parallel experiences of teaching both undergraduate and graduate students at the university, and junior professional developers in industry.
Robin Bolscher and Maya Daneva
DevOps is not a strictly defined method; its implementation varies a lot as shown in a recent qualitative study on DevOps in practice (Erich et al., 2017). Therefore, the desired and expected benefits of implementing DevOps vary just as much.
Erich et al. (2017) indicated the varying benefits organizations set out to achieve by initiating DevOps: reduced lead and release time, improved problem solving, feedback gathering and overall product quality,increased velocity, and increased focus on new features.
The goal of this SLR is to analyse the published scientific output on the topics at hand in order to create an overview of the issues and requirements for software architecture design in the context of CD and DevOps.
RQ1: What are potential software architectural problems when adopting CD and DevOps practices on an existing software system? The main architectural problem is traceable to the presence of highly-coupled monolithic systems that are hard to decompose for CD practices.
RQ2: What characteristics of a software architecture are important for enabling Continuous Delivery and DevOps? the Top-5 most frequently discussed characteristics are: Deployability, Testability, Automation, Loosely coupled, and Modifiability.
RQ3: What software architecture styles are suitable for being used in a Continuous Delivery and DevOps context? Notable is the fact that all the papers that discussed some form of architecture style discussed micro-services. This demonstrates the dominance of this particular style in the research (and practitioners) domain. There were other styles mentioned, service-oriented architecture, and vertical layering.
Manuel Mazzara, Alexandr Naumchev, Larisa Safina, Alberto Sillitti, Konstantin Urysov
В статье описывается проведение тренинга по методологиям DevOps и Agile, для команд разработчиков.
Кристофер Тоцци
Практическую реализацию DevOps следует начинать с подбора необходимых инструментов. Определенного набора инструментов, необходимого для достижения целей, связанных с DevOps, не существует, но, как правило, требуется следующее:
Другие полезные типы инструментов:
В статье рассматриваются вопросы практического внедрения методологии DevOps, описываются используемые инструменты
Н.Б. Лазарева
Современные подходы к разработке программного обеспечения выдвигают повышенные требования к серверной инфраструктуре и процессам, связанным с ней. Инфраструктура должна обладать не только высокой надёжностью, доступностью, но и предоставлять быстрые и удобные инструменты для установки, поддержки и обновления программного обеспечения, которое разрабатывается в компании.
Обзор современного подхода к разработке ПО с использованием методолгии DevOps на основе GitLab и Kubernetes
Трибунский А.А., Горелко Д.С.
DevOps (англ. development and operations) – набор практик и программных инструментов, которые направлены на повышение эффективности и скорости разработки систем, а также обеспечение непрерывности процесса разработки и развёртывания программного обеспечения высокого качества. Достигаются данные цели благодаря активному взаимодействию разработчиков и специалистов по информационно-технологическому обслуживанию, а также взаимной интеграции их рабочих процессов При использовании предшествующих устаревших подходов было замечено разделение команды на две крупные группы: группу разработчиков (development) и группу эксплуатации (operations). Хуже всего оказалось то, что данные группы находятся в состоянии противодействия друг другу. Группа эксплуатации заинтересована в стабильности. Для них любое обновление или иное изменение системы – это риск, связанный с тем, что что-то пойдёт не так и перестанут функционировать элементы системы, за работу которых данные специалисты несут ответственность. Разработчики, наоборот, заинтересованы как можно скорее выпустить новую версию ПО и их совершенно не волнует ситуация если, к примеру, сервер «упадёт» из-за возросших требований к аппаратному обеспечению в новой версии программы Следуя пути DevOps, программный код требуется переводить из стадии разработки в производство непрерывно в автоматическом режиме. В идеале автоматизировать требуется практически все: тестирование, развёртывание, инфраструктуру, выпуски и т.д. Автоматизация снижает влияние человеческого фактора, а также повышает производительность членов команды. Для реализации данного подхода необходимо создать платформу для командной работы обучающихся над проектами по программированию. С этой целью предложено использовать три программных продукта, работающие под операционной системой Linux: Git; Gogs; Jenkins. В работе описывается методология DevOps, а также предпосылки ее возникновения. Предлагается использовать стек Git; Gogs; Jenkins для обучения студентов
ИВАЩЕНКО Н.Н., ЕМЕЛЬЯНОВА С.С.
В работе рассматриваются основные понятия CI/CD и их реализация с помощью Github Actions
АВ Шалтунович
Важна проектная деательность студентов - работа над проектом в составе команды.
Создание программного продукта сложный процесс с участием различных команд.
В процессе обучения будущих инженеров-программистов данная социальная сеть (GitHub) должна занять свою нишу при совместной разработке. Эта система позволит не только отслеживать изменения в версиях программных продуктов, но и практико-ориентрованными методами показать студентам способы организации и ведения совместной работы над проектами. Кроме того, на младших курсах студенты обмениваются опытом программирования и приобретают навыки работы в команде
Таким образом, использование профессионально-ориентированных социальных сетей позволяет организовать учебный процесс, в частности самостоятельную деятельность студентов, на базе наиболее популярных средств сетевой коммуникации, и следовательно наиболее простым образом заинтересовать студентов совместной разработкой приложений любого уровня.
Старый материал 2011 год - GitHub уже намного больше чем социальная сеть.
Сергей Александрович Барвенов, АА Станкевич
ВЕБ-ПРОГРАММИРОВАНИЕ И ИНТЕРНЕТ-ТЕХНОЛОГИИ WebConf2015 Материалы 3-й Международной научно-практической конференции Минск, 12–14 мая 2015 г
Важно привить студентам навыки работы с технологическими инструментами, которые активно используются в профессиональной деятельности
разработка ПО требует умения работы в команде Желания преподавателя • публиковать в сети задания и оценки; • просматривать студенческие листинги, контролируя время их размещения и авторство; • устанавливать dead-line т.е. запрещать с определенного момента запись работ; • создавать комментарии не только в целом к проекту, но и к определенным строкам программы. Указывать на недочеты в проделанной работе и размещать указания к выполнению заданий; • в любой момент студенту пользоваться своим и общим репозиториями; • автоматически получать студентом уведомления о проверке работы и комментариях преподавателя.
Старый материал 2015 год автор указывает на проблемы сборки проекта в разных IDE под разными ОС для проверки студенчеких работ. В настоящее время с помощью GitHub Actions можно собирать и тестировать проект на виртуальнх машинах непосредтвенно на платформе GitHub.
Сидякин И.М.
В этой работе представлены рекомендации по применению в учебных целях системы GitLab
основные свойства системы контроля версий GitLab, которые делают возможным ее превращение в инструмент обучения программированию:
Заметим, что в системе отсутствует важная деталь - журнал успеваемости. Нет средств для записи оценок за выполненные задания. Журнал можно, например, вести в одном из онлайн сервисов для работы с документами, например, Google Docs или iCloud.
Крайне важно организовать учебную работу так, чтобы преподаватель и учащиеся использовали одни и те же инструменты для проверки и выполнения заданий. В этом случае снижается вероятность выставления некорректных оценок. Преподаватель и учащийся видят один и тот же результат исполнения заданий на свих компьютерах, используют одинаковую кодировку для записи исходного кода программ. Эту задачу рекомендуется решать с помощью технологий виртуализации [5]. Для выполнения практических заданий курса заранее создается виртуальная машина, со всем необходимым набором инструментов, включая, например, git,текстовый редактор, компилятор, отладчик, средства составления документации [6], средства тестирования [7]. Учащиеся используют свои копии виртуальной машины для выполнения заданий и копирования результатов работы в репо-зиторий GitLab. Преподаватель использует свою копию виртуальной машины для копирования из репозитория и проверки работ учащихся. Дополнительно, средства Gitlab позволяют преподавателю публиковать учебные материалы на Wiki страницах и комментировать задания, с помощью встроенной системы отслеживания ошибок.
В работе рассматривается вариант развертывания преподавателем собственного GitLab сервера. Рассматриаются возможности автоматизации рутинных операций с помощью Web-API GitLab. Студенты делают fork оновного проекта, для проверки преподаватель загружает репозитории всех студентов. Из плюсов такого подхода - студенты не видят работы друг друга, из минусов - неободимость работы со множеством репозиториев Также рассматриавется прблема различных сред выполнения - для ее решения предлагается использовать преднастроенные виртуальные машины. Современный поход предполагает реализацию переносимого проекта и его сборку и запуск на облачных виртуальных машинах
Гаспарян А. В.Тимошина Н. В.
В статье рассматриваются системы контроля версий (git, svn, mercurial, bazaar), описывается Git и его преимущества по сравнению с другими системами
Г. С. Алексеев, В. В. Лавров, И. А. Гурин 5
В статье описывает разработка программного продукта для образовательного процесса с использованием системы контроля версий Git, веб-сервиса для хостинга проектов Atlassian Bitbucket и системы правления проектами Atlassian Jira . Для управления проектами использовлась методология Agile. В работе не рассматриваются вопросы развертывания продукта
В статье производится сравнение систем контроля версий, имеется сравнительная таблица с разбалловкой по различным критериям. Наибольшее колиество баллов у системы Git
С. В. Маклецов, Т. А. Старшинова, Р. Н. Зарипов
несмотря на совершенствование методов преподавания дисциплин компьютерного цикла в вузах, выпускникам, желающим устроиться на работу по специальности, приходится самостоятельно доучиваться для того, чтобы соответствовать требованиям работодателей. К сожалению, часто «выпускник с трудом представляет, что ждет работодатель от молодого сотрудника, – вчерашнего студента» [1].
Для того, чтобы лучше подготовить студентов к работе на реальном предприятии, в ходе развития их информационной компетентности необходимо активно применять интегративный и профессионально-ориентированный педагогические подходы[2]. На сегодняшний день GitHub нельзя назвать просто хранилищем данных. Это полноценная социальная сеть для команд профессиональных программистов, индивидуальных разработчиков программного обеспечения и любителей.
Использование GitHub вместо традиционных электронных образовательных систем в рамках дисциплин компьютерного цикла позволяет сместить акценты в процессе обучения с чисто учебных действий и операций на решение профессиональных задач, средствами, применяемыми в профессиональных сообществах, в командах разработчиков программного продукта.
Сервис GitHub в образовательном процессе при подготовке студентов ИТ-направлений может выступить эффективным средством обучения, а групповая, но в то же время индивидуализированная работа студентов на основе этого сервиса может рассматриваться как новая, сетевая форма организации их обучения в рамках дисциплин компьютерного цикла, программирования и стать альтернативой или дополнением для вузовской системы управления учебной деятельностью.
Рассматривается использование GitHub для выполнения студенческих работ. Расссматривается использование Wiki и Issues. Не рассмариваются Actions и возможности управления проектами
ГРУЗИН НИКИТА АНДРЕЕВИЧ, ГОЛУБНИЧИЙ АРТЕМ АЛЕКСАНДРОВИЧ
Сравнение BITBUCKET, GITHUB И GITLAB, для GITHUB не учитываются возможности по управлению проектами и DevOps
Важность коллаборации Под коллаборацией понимают философию взаимодействия людей, работающих вместе для получения конкретного продукта или цели [2].
Необходимость владения навыками взаимодействия и совместной работы указана образовательных стандартах по направлению ИТ, также эти навыки ожидают от выпускников работодатели.
Предлагается использовать методологию Agile и технологию Scrum В модели формирования социальной компетентности в условиях коллаборативного электронного обучения технология Scrum предусматривает следующий алгоритм: 1) преподаватель выполняет роль заказчика проекта; 2) обучающиеся разбиваются на группы; 3) скрам-мастер регистрирует участников на сервисе, добавляет участников в группу, распределяет задания между участниками, представляет отчет о работе группы; 4) создается список требований к проекту и ранжирование их по приоритету; в ранжировании участвуют все задействованные роли; 5) определяется время и необходимые ресурсы для выполнения каждого требования; 6) формируется бэклог (список требований, подлежащих реализации в спринте (в течение двух недель); 7) планируются задачи спринта на основе требований; 8) выполнение задач отражается на доске, где представлены три столбца «Разработка», «Тестирование», «Релиз»; в столбцах размещают задачи, что позволяет увидеть текущее состояние спринта; 9) на протяжении всего спринта проводятся ежедневные встречи (15 мин); 10) по завершении спринта демонстрируется готовый проект;
Использование метода проектов при групповой работе в образовательном процессе в настоящие время имеет ряд недостатков: проект не выполняется в отведенные сроки, некоторые участники «отсиживаются» за счет других, сложно отследить вклад каждого участника.
Devprom ALM предоставляет возможность управления вехами, спринтами, бэкло-гом, оценку состояния проекта, оценку загруженности участников, диаграмму сгорания задач. Данный сервис может быть использован при подготовке специалистов в отраслях: государственные учреждения, финансовые услуги, авиастроение, разработка программного обеспечения, промышленное производство; ИТ-консалтинг и другие.
Веб-сервис GitHub обеспечивает хостинг проектов и их командную разработку. Данный сервис основан на системе контроля версий Git. Использование данного хостинга в процессе формирования социальной компетентности обеспечивает коллаборативное взаимодействие студентов в процессе разработки программного обеспечения.
Автор описывает проблемы - некоторые участники «отсиживаются», сложно отследить вклад каждого участника. В качестве инструментов рассматривается Devprom ALM и GitHub. При этом в настоящее время GitHub имеет широкие возможности как по кправлению проектами, так и по контролю участия.
Никонова Елена Захаровна
в компетенцию современного IT-специалиста помимо основополагающих принципов и подходов к разработке, внедрению и сопровождению программных продуктов входят и вопросы управления программными проектами, а также правила эффективной командной работы и межличностной коммуникации. Именно поэтому во многих вузах в учебных планах подготовки по компьютерным направлениям появились дисциплины, в рамках которых студенты изучают вопросы управления программными проектами.
Наиболее эффективными в разработке программных продуктов являются гибкие (Agil - англ. «гибкий») технологии, основные принципы которых были опубликованы в «Манифесте гибкой методологии разработки ПО» (2001 г.) и декларировали превосходство людей и их взаимодействия над процессами и инструментами, работающего продукта над документацией, сотрудничества с заказчиком над согласованием контракта и готовности к изменениям над следованием первоначальному плану. Гибкие методологии появились как альтернативный подход к водопадной (каскадной) модели, в которой все работы велись строго по плану и каждый последующий этап начинался только по окончании предыдущего.
Среди группы Agil-методологий (ХР, Kanban, Lean, Crystal, Rapid application development) следует выделить наиболее используемую методологию - фреймворк Scrum. Впервые этот термин из игры регби (scrum - схватка за мяч) использовали Хиротака Такеучи и Нонака Икуджир в 1986-м году, описывая новый гибкий подход к разработке коммерческого продукта, позволяющий значительно повысить эффективность работы. По утверждению авторов самоуправляющиеся команды небольшой численности, выполняющие работу короткими итерациями, достигают лучших результатов за более короткие сроки по сравнению с традиционными командами иерархической структуры. Идею подхватили Джефф Сазерленд и Кен Швабер, распространив ее на процесс разработки программного обеспечения.
Но мировой опыт показывает, что предпринимаются попытки использовать Scum-методологии в учебном процессе, примером чего может служить голландский проект eduScrum, в рамках которого обучают учителей использовать скрам на уроках. Опыт проекта убедительно доказывает, что работа в скрам-команде повышает мотивацию школьников и позволяет достигать более высоких результатов обучения.
Перспективным направлением использования Scum в вузах представляется, прежде всего, выполнение студентами сквозных междисциплинарных проектов с привлечением студентов старших курсов для работы в роли скрам-мастеров, что позволит формировать необходимые качества для работы в команде и начальные навыки управления проектом.
А. Ю. Петров, Е. Е. Сокерин
Пандемия выступила катализатором глобальных изменений. Стало очевидным то, что в современных условиях произошло глобальное изменение ценностных ориентиров, причем как у работников, так и работодателей. Самым важным, на наш взгляд, стал факт того, что удаленная работа стала необходимой реальностью.
Команда – это группа людей, взаимодополняющих друг друга для достижения общих целей, использующих договорную форму организации совместной деятельности, при согласованном видении проблемы и действующих по оговоренным процедурам взаимодействия. [1] Команда – это разновидность малой группы, для которой характерны совместно-взаимодействующая и/или совместно-последовательная форма организации деятельности, относительная самостоятельность и полномочия, взаимоответственность, взаимодополнение и, нередко, взаимозаменяемость работников. [2]
Отказ от необходимости присутствия членов команды в офисе позволяет создавать уникальные команды, участники которых никогда бы не смогли работать вместе в иных условиях.
В статье рассматривается опыт формирования распределеннх команд для работы в условиях пандемии COVID-19
Калевко Виктор Васильевич Лагерев Дмитрий Григорьевич Подвесовский Александр Георгиевич
Современная российская экономика существует в условиях конкуренции. Коммерческие организации стремятся развивать производственные и технологические процессы для получения превосходства, а работодатели при приеме на работу ожидают от соискателей владения актуальными знаниями и навыками, обеспечивающимися профессиональными компетенциями.
Основным измеримым результатом подготовки являются выпускники. Набор компетенций и их уровень должен позволить выпускникам выполнять востребованную и перспективную работу. Этот результат является частью необходимых рейтинговых показателей вуза, которые в т.ч. влияют на популярность вуза в целом и направления подготовки в частности. По результатам трудоустройства выпускников вузы также смогут оценить качество обучения.
Можно сделать вывод, что образовательная деятельность может быть успешной в том случае, если образовательные программы будут способны гибко следовать за изменениями конъюнктуры рынка и требованиями работодателей. При этом «под образовательной программой понимается совокупность свойств образовательной услуги, значимых для потребителей» [1]. Таким образом, становится действительно важной эффективное функционирование системы управления образовательной программой для обеспечения конкурентоспособности.
Рис. 1. Взаимодействие системы управления образовательной программой вуза с окружающей средой.
Лукашенко Марианна Анатольевна Телегина Татьяна Викторовна
В свете современной парадигмы образования через всю жизнь проблема внедрения образовательных инноваций, направленных на самостоятельное открытие обучающимися нового знания, приобретает все большую практическую и теоретическую значимость. Цель работы - рассмотреть возможности и ограничения использования Scrum как метода продуктивного обучения.
Использование Agile в сфере обучения связано с рядом трудностей [12; 13], однако данная методология представляется одной из наиболее эффективных в решении задачи подготовки студентов к обучению на протяжении всей жизни, увеличении возможности их трудоустройства, создании условий для формирования «soft skills», востребованных в современных условиях [14].
Термин «продуктивное обучение» [15] (productive learning) был введён в научный оборот немецкими учёными и педагогами Ингрид Бём и Йенсеном Шнайдером [ё5] в 1991 году. По мнению специалистов в сфере среднего профессионального образования, «продуктивное обучение»[15] отражает принципиальную идею активной и самостоятельной учебной деятельности обучающегося, соединённой с его реальной трудовой деятельностью.
Как указано в работе Куторго Н.А. «Педагогический потенциал и возможности продуктивного обучения в колледже»: «... Идея продуктивности состоит в том, чтобы дать учащимся возможность учиться в процессе реального производства у мастеров (профессионалов), совместно с ними выполнить конкретный проект (работу), возвращаясь в здание школы («учебную мастерскую») для группового обсуждения проблем обучения и практики, консультаций с тьютором и оформления отчётов по проектам».[16] Однако в общем образовании термин «продуктивность» используется, прежде всего, в сочетаниях «продуктивность мышления», «продуктивность интеллекта», что представлено в работах, например, Выготского Л.С. [17], Резника Н.А. [18], Холодной М.А. [19]. Продуктивное обучение предполагает, что в процессе индивидуальной или групповой образовательной деятельности обучающимися должен быть создан образовательный продукт - идеи, схемы, модели, тексты, рисунки, интеллект-карты, новые способы деятельности и т.д.
Е.Л. Мельниковой в работе «Проблемный урок или как открывать знания вместе с учениками» [22]. Технология проблемного диалога строится на основе универсального алгоритма решения жизненно-важных проблем, состоящего из следующих шагов: 1.осознание проблемы (например, противоречия между двумя точками зрения) 2.формулирование проблемы, цели, задач 3.составление плана достижения цели 4.осуществление действий по реализации плана достижения цели 5.получение результата и его проверка.
Проблемно-диалогическое обучение - тип обучения, представляющий собой специально спланированный и организованный преподавателем диалог, состоящий из двух этапов: постановку учебной проблемы и поиск решения. На этапе постановки учебной проблемы создается проблемная ситуация; на этапе поиска решения происходит открытие нового знания. Оба этапа реализуются самими обучающимися под руководством преподавателя, что обеспечивает открытие и усвоение нового знания учащимися.
Реализация данной технологии невозможна без создания тщательно проработанного соответствующего методического обеспечения каждого этапа.
Никонова Елена Захаровна Как и чему учить будущих звезд ИТ? // . – 2020. – № 7(100). – С. 38-52. – EDN GWGZOI.
ЖУРНАЛ: БИТ. БИЗНЕС & ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
Юлия Шикова, директор учебного центра «Сетевая Академия ЛАНИТ» (ГК ЛАНИТ) Наш опыт показывает, что сочетание вузовского образования с прикладными образовательными проектами – идеальный микс. С одной стороны, студенты получают базовые знания и фундаментальное понимание ИТ-профессии. С другой – они на конкретных курсах пробуют различные инструменты и получают необходимый для трудоустройства опыт. Онлайн-проекты направлены на достижение конкретных точечных целей, получение определенных навыков и могут быть использованы как курсовая работа, например. Мы делали совместные программы с вузами и видели, что такая дуальная подготовка делает выпускников гораздо более конкурентоспособными на рынке труда.
Алена Дядченко, руководитель разработки Granatum Solutions Что касается университетского ИТ-образования в России, то оно пока мало соответствует последним трендам и технологиям, и рекрутеры смотрят, скорее, на опыт. Ценятся те специалисты, которые уже получили реальный опыт разработки – например, в проектах с open source. У нас в команде есть сотрудники, которые участвовали в таких проектах с 12 лет и оканчивали университет уже с 8-летним практическим опытом.
Андрей Бороздюхин, директор филиала Bell Integrator (Саратов) Как правило, работодатели предъявляют к работникам квалификационных требований значительно больше, чем компетенций, которые студент приобретает в вузе. Одним из качеств, которым должен обладать ИТ-специалист, – это способность к самообучению. Для ИТ-специалистов также необходимо: уметь работать в команде, участвовать в коллективной разработке, организовывать взаимодействие коллективов разработчика и заказчика, знание принципов и методов управления малым коллективом, способность выстраивать логику рассуждений и высказываний, основанных на интерпретации данных, способность разрабатывать методы решения нестандартных задач
Константин Чумаченко, генеральный директор NGENIX Во многих вузах практикуется работа учащихся над проектами и их защита вместо традиционных дипломов или курсовых работ – это мотивирующий и практический подход к нарабатыванию студентами нужных в ИТ-профессии компетенций. Даже при найме джуниор-специалистов многие работодатели просят соискателя показать свой репозиторий на Github или рассказать о своем pet project – собственном проекте, который кандидат делает «для души», чтобы практиковаться. Так компании могут оценить качество кода или навыки решения нестандартных задач и нередко выказывают предпочтение соискателям, умеющим на примере показать, на что они способны.
Дмитрий Новиков, директор по развитию бизнеса компании «Системный софт» Будут востребованы и DevOps, так как появляется много узкоспециализированных решений, с которыми нужно уметь работать, и очень важными становятся автоматизация, тестирование и быстрый выпуск в эксплуатацию приложений.
Источники по темам: