Технические компетенции

Начнем с того, что привлечение студентов к участию в реальных проектах частично снимает с преподавателя головную боль по придумыванию задач. В любом активно развивающемся проекте идей обычно больше, чем разработчиков, остается только выбрать проект и конкретную задачу для реализации (впрочем, такой выбор среди тысяч проектов тоже может быть непрост, но ведь не обязательно просматривать все возможные варианты).

Помимо непосредственно идей, к услугам желающих их реализовать предоставляется развернутая инфраструктура для работы, включающая как минимум следующие компоненты:
- систему контроля версий - СКВ (CVS, Subversion, Git и другие);
- систему учета ошибок и пожеланий (например, Bugzilla или Mantis);
- средства общения разработчиков (форумы, почтовые рассылки, чаты и так далее).

Дополнительно могут предоставляться специализированные среды сборки (Open Build Service, ROSA ABF), средства непрерывной интеграции - Cl (популярными инструментами здесь являются Hudson и Jenkins) и прочие специализированные инструменты, знакомство с которыми будет заметным плюсом в резюме.

Вполне естественно, что при разработке открытых продуктов используются открытые инструментальные средства (системы контроля версий и учета ошибок, компиляторы, IDE и прочее).

Во многих областях разработки открытые решения (в частности, уже упоминавшиеся СКВ Git и Subversion и инструменты Cl Hudson и Jenkins) удерживают лидирующие позиции, и навыки их использования с большой вероятностью пригодятся на любой работе.

Безусловно, есть сферы ИТ, в которых преобладают проприетарные решения. Участие в открытых проектах вряд ли позволит получить опыт работы с ними, но и работа с открытыми аналогами может серьезно помочь в будущем. Например, вряд ли вы найдете много открытых проектов, связанных с СУБД Oracle. Но знание открытых продуктов, наподобие MySQL и PostgreSQL, будет серьезным подспорьем в изучении этой проприетарной СУБД.

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

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


Автор: admin | 12-09-2013, 18:09 | Просмотров: 1993
Категория: Технологии
Другие новости по теме:
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.