Список первостепенных компетенций будущего программиста
Профессиональные навыки
Федеральный государственный образовательный стандарт высшего образования описывает компетенции интеллектуальной составляющей программиста следующим образом:
· Владение культурой мышления, способность к обобщению, анализу, восприятию информации, постановке цели и выбору путей ее достижения (общекультурная компетенция);
· Способность совершенствовать и развивать свой интеллектуальный и общекультурный уровень (общекультурная компетенция);
· Культура мышления, способностью выстраивать логику рассуждений и высказываний, основанных на интерпретации данных, интегрированных из разных областей науки и техники, выносить суждения на основании неполных данных (общепрофессиональная компетенция);
· Способность разрабатывать методы решения нестандартных задач и новые методы решения традиционных задач (профессиональная компетенция) и другие.
Профессиональный навык каждому специалисту нужен ровно один: программисту — программировать, строителю — строить, хирургу — хирургировать (неуместная шутка) и так далее. В этот навык входит то самое бесконечное количество знаний, которым обладает специалист. В случае с программистом — это и понимания той самой великой базы, которые все должны знать, понимание принципов работы его языка программирования и так далее.
Компетенции
Cпособность к самостоятельному обучению новым методам исследования, к изменению научного и научно-производственного профиля своей профессиональной деятельности (общекультурная компетенция);
Cпособность воспринимать математические, естественнонаучные, социально-экономические и профессиональные знания, умение самостоятельно приобретать, развивать и применять их для решения нестандартных задач, в том числе в новой или незнакомой среде и в междисциплинарном контексте (общепрофессиональная компетенция).
Программисту по роду своей деятельности приходиться общаться и с другими людьми: коллегами (дизайнером, верстальщиком) и при необходимости с клиентами. Для таких IT-специалистов необходимо уметь работать в команде, в коллективной разработке. В данном случае идёт речь о следующих компетенциях:
· Организация взаимодействия коллективов разработчика и заказчика, принятие управленческих решений в условиях различных мнений (профессиональная компетенция);
· Готовность к кооперации с коллегами, работе в коллективе, знание принципов и методов организации и управления малыми коллективами (общекультурная компетенция).
Для программистов немаловажным качеством является целеустремлённость, работа на результат. Программист всегда должен достигать результат, преодолевая все препятствия, и часто неважно какими целями он это сделает (если по техническому заданию не предусмотрено иное).
IT-специалисту необходимо хорошее логическое мышление и хоть какие-либо творческие способности, поскольку программистам приходится постоянно думать, фантазировать и решать разные задачи.
Владение английским языком на уровне чтения технической документации является еще одним обязательным требованием, предъявляемым к представителям этой профессии. В данном случае будущий специалист должен обладать следующими компетенциями:
· Умение свободно пользоваться русским и иностранным языками как средством делового общения (общекультурная компетенция);
· Владение, по крайней мере, одним из иностранных языков на уровне социального и профессионального общения, способность применять специальную лексику и профессиональную терминологию языка (общепрофессиональная компетенция).
Цифровые навыки — это одно из условий. Потому что ИТ сегодня проникает во все отрасли. Сложно найти отрасль, которая сегодня не поддаётся цифровизации. Для программистов цифровые навыки и профессиональные навыки сильно пересекаются.
Надпрофессиональные навыки. По сравнению с профессиональные навыками, надпрофессиональных навыков нужно каждому специалисту несколько, а лучше много. Примеры надпрофессиональных навыков: тайм-менеджмент, поиск ресурсов, использование ресурсов, умение договариваться, коммуникабельность, управление людьми, публичные выступления и т.д.
Топ 6 важных надпрофессиональных навыков, которыми должен обладать любой современный специалист:
· Тайм-менеджмент. Навык тайм-менеджмента лишь косвенно относится к оценке задач. Оценка задач — это профессиональный навык. Тайм-менеджмент для программиста — это логичное распределение времени на кодинг, чтение статей, самообразование и митинги.
· Умение работать в команде. Проекты в одиночку почти никто не делает. Умение работать в команде абсолютно незаменимый навык.
· Умение обучать - умение вводить в контекст, навык, сравнимый с умением обучать. Задача человека, который обучает — это по сути введение в контекст. Программисты очень часто меняют контексты из-за смены проектов и команд.
· Деловой этикет. Начиная от соблюдения правил русского языка и заканчивая элементарными правилами общения с заказчиками.
· Целеполагание. Двух видов. Личное и проектное. Целеполагание в проекте тоже важный момент. Нужно уметь планировать развитие любой части проекта в долгосрочной перспективе. Какие абстракции появятся, какие модули уйдут отдельно жить своей жизнью и так далее.
· Коммуникабельность. Речь об умении общаться с коллегами из других профессий. Быть отзывчивым, помогать коллегам разбираться в своих вопросах, которые связаны с нашими профессиональными навыками.