Самооценка для программистов


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

Матрица самооценки навыков программирования — это таблица, доступная по международной лицензии Creative Commons Attribution-ShareAlike 4.0. Он был составлен Рафаэлем «Кена» Посс, исследователем из группы архитектуры компьютерных систем Амстердамского университета.

В своем посте «Насколько хорошо вы умеете программировать?» Посс объясняет, что первоначальная идея матрицы оценки появилась во время обсуждений средних навыков программиста на онлайн-форумах и что он использовал структуру CEFR (Общеевропейские рамки компетенции владения иностранным языком). в отношении владения иностранными языками как основы для измерения уровня владения языками программирования.

Матрица может быть применена к любому языку и определяет три широких уровня:

A — Базовый

B — средний

C — Опытный

Уровни — это столбцы таблицы, каждый из которых разделен на два с проверяемыми этапами для каждого подуровня.

Строки предназначены для различных программных действий в трех группах:

Письмо

Написание кода

Рефакторинг

Встраивание в более крупную систему

Понимание

Повторное использование кода

Объяснение / Обсуждение кода

Взаимодействуя

Изучение, самообучение

Владение окружающей средой

Поиск проблемы

Посс дает следующие советы по использованию матрицы.

строка за строкой, чтобы оценить свой уровень по каждому виду деятельности (возможны разные уровни навыков для разных видов деятельности);

столбец за столбцом слева направо, чтобы определить свой собственный минимальный уровень для языка программирования (крайний правый уровень, где все требования в столбце и все столбцы слева совпадают);

столбец за столбцом справа налево, чтобы определить наиболее развитый навык (крайний правый уровень, на котором выполняется любое требование в столбце);

язык на язык, чтобы оценить собственное относительное владение разными языками программирования.

и предлагает несколько сценариев, в которых это может быть полезно:

отслеживать собственный прогресс, обучаясь программированию;

Например: в этом году я перешел с A2 на B2 в C ++. Что касается Java, я B1 для понимания, но все еще A2 для написания.

рекламировать образовательные цели курса программирования;

Например: этот вводный курс по Java приведет вас к уровню A1 или A2 для всех видов деятельности.

рекламировать свой собственный набор навыков коллегам или потенциальным работодателям;

например: я C1 в Python, B2 в O’Caml и A2 в Haskell.

установить требования к базовому уровню для курсов или профессиональной деятельности:

Например: этот курс требует владения языком на уровне А2 с языком семейства C.

выбрать курс программирования, наиболее соответствующий вашему уровню подготовки;

например: Мой текущий уровень — A2, но для этого курса требуется B1, поэтому перед началом мне потребуется дополнительная работа.

координировать учебные цели последовательных курсов программирования в учебной программе;

Например: наш вводный курс подводит студентов к A2 на Java, но для нашей последующей программы требуется B1 или B2, поэтому нам нужно предложить дополнительный курс для этого уровня.

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


Добавить комментарий