Найти тему
CodoRobo

Изучать программирование или учиться на программиста ?

Python c 10 лет ? Легко !
Python c 10 лет ? Легко !

Приветствую тебя Дорогой читатель, меня зовут Борис Бачурин, я являюсь руководителем клуба программирования и робототехники CodoRobo и основателем проекта FastyCRM. В данной статье я продолжу свои рассуждения вокруг IT.

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

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

Программист - человек обладающей достаточной компетенцией в программировании и выбравший его в качестве основного источника дохода.

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

Как Вы можете видеть, оба этих человека обладают "достаточной компетенцией", но уровень подготовки обоих специалистов может отличаться на несколько порядков. Как же так получается, что оба специалиста могут программировать, но первый учится всю жизнь, а второй потратил несколько лет, но тоже может написать программу, которая упростит его труд. Дело в том, что современные программисты работают с большим количеством вспомогательных инструментов и стандартов необходимых для работы IT компании, созданы эти инструменты и стандарты с целью, ускорить разработку и упростить поддержку, привести весь код к единому виду чтобы исключить возникновение непредвиденных ситуаций на производстве. Необходимы ли эти инструменты человеку, который не работает в IT? Только если они упрощают ему разработку, то есть по желанию. Может ли человек не работающий в модном фреймворке и не использующий современные методологии разработки программного обеспечения написать программу, которая будет выполнять необходимые действия? Да, конечно, без проблем. Возможно его код не пройдет ревью (проверку), но это и не особо то и нужно. Сможет ли он его в дальнейшем поддерживать и развивать свой продукт? Зависит только от компетенций конкретного специалиста.

В связи с вновь открывшимися обстоятельствами встает вопрос: стоит ли выбирать программирование в качестве основного источника дохода или есть другой путь ? Если вы любите программировать и не представляете себе жизнь без кода то конечно стоит, но есть и другой путь, путь разработки продукта, он возможен только при объединении компетенций в программировании и любой другой сфере. Данный подход подойдет далеко не всем, он тернист и требует живого, творческого ума. Как Вы думаете, почему появляется большое количество разнообразных инструментов для программистов? Одних JS фреймворков столько, что если записать из названия в одну строку, она обогнет земной шар несколько раз. Я вижу в этом проблему! На мой взгляд так получается когда творческий, достаточно компетентный программист обладает очень узким кругозором и весь его потенциал реализуется только в одной области. Давайте представим, что тот же самый специалист обладает схожей компетенцией еще и в биомедицине, такой специалист на мой взгляд мог бы сделать огромное количество узкопрофильного программного обеспечения, которое существенно бы продвину вперед эту область. А представьте себе, что таких специалистов тысячи.

Конечно, сиюминутно невозможно обучить новых специалистов в нескольких областях, но что, если программирование преподается с 10-12 лет и к моменту поступления в ВУЗ программирование является навыком, нет необходимость дальше его развивать и можно сосредоточиться на любой другой области. Конечно, уровень программирования такого специалиста может быть не очень высок, но тот способ мышления, который развивает программирование позволит ему видеть возможности применения своих навыков в тех местах, где специалист без знания программирования и предположить бы не мог. Дальше следует разработка MVP(минимально рабочего прототипа программы), проверка гипотезы и последующая передача на доработку уже узконаправленным специалистам в области программирования. Как Вам такой подход?

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

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

Что я в итоге хотел сказать в этой статье ? Не обязательно всем мчаться за "высокими зарплатами" и становиться программистами, на мой взгляд вся отрасль получит больше выгоды от того, что знания будут применяться в разных областях и синергия программирования с другими областями даст несомненно больше, чем ежели мы станем аутсорсовым придатком первых экономик мира. Изучайте программирование паралельно работая на прежнем месте и возможно именно Вы предложите уникальные решения для своей отрасли.

На семинарах по программированию и робототехнике в клубе я стараюсь максимально применять данный подход на практике, особенно четко прогресс прослеживается на занятиях с использованием роботехнических наборов, даже используя скудный потенциал визуально-графических языков есть возможность объяснять конструкции и парадигмы из программирования, не скатываясь на изучение конкретного языка, так на мой взгляд и должно происходить обучение такому нелегкому ремеслу как программирование, тогда, и только тогда мы получим первоклассных специалистов в области IT а не копипаста("copy paste" копировать вставить).

Надеюсь Вы не умерли, читая этот невероятно скучный текст.Благодарю всех, кто смог дочитать его до конца. Буду рад подискутировать с Вами в комментариях. До новых встреч.

#it-технологии #робототехника #наука и образование #разработка #детское обучение #онлайн образование #программирование #программирование с нуля #программирование для начинающих #codorobo