Авторські блоги та коментарі до них відображають виключно точку зору їхніх авторів. Редакція ЛІГА.net може не поділяти думку авторів блогів.
31.08.2016 16:31

Что такое кодерство?

Директор Центру підготовки сертифікованих програмістів

В адрес онлайн-курсов можно часто услышать обвинения от «матерых» программистов: «Вы готовите кодеров, за которыми потом все переделывать приходится!».

write_code_with_coffee_by_themarchello-d5ovb98.jpg


В адрес онлайн-курсов можно часто услышать обвинения от «матерых» программистов: «Вы готовите кодеров, за которыми потом все переделывать приходится!». Не отстают и представители классического образования: «Упор на практику уводит слушателей от теории – кодер в программиста никогда не вырастет». Иными словами, формируется позиция, что кодерство – это ремесленничество, ничего общего не имеющее с «настоящим программированием». Однако, давайте разберемся, насколько же справедливы эти обвинения?

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

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

Классическая методика преподавания основана на принципе «Сначала теория, потом практика». То есть предполагается, что слушатель/студент/ученик сначала должен ознакомиться с теоретическими основами, изучить фундаментальные знания в различных смежных областях (например, если мы говорим о программировании, в области математики) – и только потом уже приступать к практической реализации полученных знаний. И с точки зрения идеалистических теорий все, вроде бы, правильно. Однако, что нам демонстрирует суровая реальность? А в жизни мы видим, что теоретическую часть слушатели/студенты/ученики просто пропускают мимо ушей.

Нет, они, конечно, могут прекрасно сдать зачет или экзамен – но тут же забывают все, что им рассказывали, как только получают оценку. Просто потому, что они абсолютно не понимают: для чего им это все? «Опыт и практика – великая сила», - вот какая сентенция движет ими. Ведь всем же известно, что на рынке IT выше ценится не тот специалист, у которого оценки в дипломе лучше, а тот, у которого опыта работы больше и портфолио «толще». Так зачем забивать себе голову какими-то диффурами второго порядка, если за их знание тебе лишний доллар не заплатят?

Далее, человек, который пропустил/забыл теорию, приступает к практике. И вот тут мы подходим к самому важному.

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

Как показывает практика (моя – в том числе) знания гораздо выше ценятся учениками в том случае, если они понимают, где их потом применить. Поверьте, когда эти «кодеры» столкнуться необходимостью выучить «вышку», потому что она окажется полезной на практике – они ее выучат!

Вот простой пример из жизни. Когда-то группа ребят, слушатели нашего курса JavaGr8, обратились с проблемой. Им надо было разработать относительно простую игрушку для планшета: велосипедист едет по горам то вверх, то вниз. Соответственно, поворотом планшета изменяется направление его движения. И вот с изменением движения, как раз, не складывалось.

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

В этом кроется основная проблема! Теоретические дисциплины необходимо преподавать так, чтобы были четко видны точки их практического приложения. В противном случае, в глазах слушателей это будет не обучение чему-то важному, а сотрясание воздуха. А это, согласитесь, два совершенно разных процесса.

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

А теперь давайте ответим на вопрос, который стоял перед нами в самом начале статьи. Является ли кодерство «тупиковой ветвью» развития специалиста в сфере IT? Ответ очевиден: отнюдь нет!

Онлайн-курсы по изучению языков программирования – это не путь наименьшего сопротивления и ремесленнические училища. Это, скорее, курс молодого бойца для тех, кто хочет связать себя с IT-отраслью. Ведь нельзя отправлять новобранца на выполнение боевой задачи не научив его стрелять, верно?

Кодерство – это просто первый шаг. Оно, как бы, приоткрывает дверь в мир программирования, дает возможность посмотреть на него, по-настоящему понять, подходит ли он тебе, интересно ли тебе решение сложных задач. Вот только дверь эта достаточно тяжелая и необходимо приложить усилия, чтобы открыть ее полностью. И без тренировок (читай, изучения той же математики) ты в волшебный мир «настоящего IT» не попадешь!

Якщо Ви помітили орфографічну помилку, виділіть її мишею і натисніть Ctrl+Enter.
Останні записи
Контакти
E-mail: [email protected]