5 навыков, нужных разработчику софта

Время от времени разработчикам программного обеспечения необходимо оглядываться на свои успехи и неудачи и составлять планы по улучшению общего процесса разработки. «Я думаю, что можно выделить определённые навыки, которые понадобятся каждому разработчику в 2021 году и позже», - рассуждает Джейкоб Бенинго – консультант по встроенному ПО.
Навык № 1 – Интегрированное автоматическое тестирование.
Первый навык, который нужен каждому разработчику, - это умение писать автоматические тесты. Традиционно разработчики встраиваемых систем не были лучшими в использовании методов разработки через тестирование или непрерывной интеграции (CI). Этот недостаток поставил разработчиков встроенного ПО в невыгодное положение и заставил тратить больше времени на выполнение ручных тестов или, что еще хуже, на выборочную проверку ПО. Результат – запуск продуктов «со скрещёнными пальцами и безмолвными молитвами, чтобы что-то не вернулось, чтобы укусить нас».
Инструменты, средства автоматизированного тестирования и платформы CI/CD (непрерывная интеграция и развёртывание ПО) настолько развиты, что разработчикам необходимо использовать их в процессе разработки. Ценность и результаты могут быть весьма заметными.
Навык № 2 – Машинное обучение.
Было много шумихи вокруг машинного обучения (ML) и искусственного интеллекта (AI), особенно в отношении встроенных программных решений. Однако факты таковы, что прежде, чем кто-либо из нас это осознает, машинное обучение станет основным компонентом почти каждой встраиваемой системы. Эти методы слишком мощны, а скорость разработки быстро меняется, так что выводы могут выполняться на устройствах с наименьшим и наименьшим энергопотреблением.
Навык № 3 – Безопасность.
Сегодня существует так много устройств, которые разрабатываются для использования с IoT, что разработчики не могут не заботиться о безопасности. Наборы навыков, необходимые для защиты встроенного продукта, безусловно, являются специализированными, и их часто трудно найти и получить к ним доступ. Потенциальное негативное влияние на компанию отсутствия безопасного продукта может быть разрушительным. Никто не хочет быть на первых полосах новостей из-за нарушения безопасности. Кроме того, обучение навыкам безопасности может помочь разработчику стать более ценным для своего работодателя.
Навык № 4 – Разработка приложений RTOS.
Это набор навыков, необходимых для разработки и реализации приложений на основе RTOS (операционная система в реальном времени). Разработчикам сложно разрабатывать и реализовывать приложения, использующие RTOS. Учитывая сложность современных приложений, RTOS стала основным компонентом многих систем. Понимание шаблонов проектирования, передовых практик и методов будет иметь решающее значение для успешного запуска продукта в срок.
Навык № 5 – Отладка.
Разработчики должны делать всё возможное, чтобы не добавлять ошибок в своё программное обеспечение. Тем не менее, разработчики нередко тратят в среднем 40% своего времени на отладку. И здесь таится одна из самых значительных повышений производительности, которое может предпринять любой разработчик или команда, - просто сократить время, которое они тратят на отладку. Даже 10-процентное улучшение означает добавление дополнительного рабочего месяца на каждого разработчика в течение года.
Любой, кто хочет повысить продуктивность или сократить бюджет и время вывода продукта на рынок, должен начать с действий, которые в первую очередь помогут предотвратить ошибки, а затем сосредоточиться на методах, которые могут сократить время, необходимое для поиска ошибок. Это может включать в себя широкий спектр технологий, от трассировки, интегрированных конвейеров CI/CD, статического анализа и мониторинга показателей кода и т.д.
Навыки, необходимые разработчикам встраиваемых систем, постоянно меняются и развиваются. Прошли те времена, когда разработчикам оставалось только понимать язык программирования C и управлять битами в регистре управления. Сегодняшним инженерам по встроенному программному обеспечению необходимы навыки, которые можно использовать во всех передовых областях компьютерных наук.
Подписывайтесь на журнал «Вестник ГЛОНАСС» и навигационный канал на TamTam
По материалам Design News