Программирование в Украине — это удочка, с помощью которой можно ловить жирную рыбу. Многие папаши-программисты это понимают, поэтому ещё до рождения своих первенцев начинают фантазировать о том, как доця в три годика напишет свой первый скриптик на JS. В конце концов, если это удалось
Вырастить из ребенка программиста
Насколько это реально? На этом вопросе спорщики разделяются на два лагеря: консерваторов и прогрессивных. Первые считают, что человек рождается с определенными навыками, и так и живёт с ними всю жизнь. Вторые уверены, что всему можно научиться.
Долгое время наука была на стороне консерваторов. Это огорчало тех, кому генетика сказала: «не в этой жизни, дружище!», и радовало тех, кто, обнаружив свой талант, думал: «какое счастье, что у меня талант к рисованию (вставить свое)! — то, чего нет у других». Хотя, конечно, консерваторам тоже приходится несладко: найти и развить свой талант — та ещё задача. Но последние 30 лет этой теме уделялось всё больше внимания, что вылилось в исследования, оформленные в бестселлеры вроде Talent is Overratedи Talent Code. Оказалось, что не генетикой единой: можно очень радикально прокачать мозг и тело в любом направлении, если грамотно к этому подойти и создать нужные условия. Так что, кто знает, может, мою кошку удастся таки научить парсить XML (те самые, скребущие движения лапой у лотка).
Когнитивное развитие детей
Дети мыслят символами и образами — иначе бы они не играли в скучные (с точки зрения взрослых) игры с бездушными предметами, которые в их воображении обязательно оживают. Казалось бы — вот оно, абстрактное мышление! Но абстрактное мышление требует большего — способности использовать концепции, оперировать сложными отвлеченными понятиями и умозаключениями, способности понимать обобщения, уметь абстрагироваться и строить связи между явлениями и понятиями.
Так что одни лишь символы и образы никак не потянут на абстрактное мышление, без которого в программировании — никуда. Для начала нужно разжиться хотя бы логикой.
Согласно теории Пиаже,ребенок до
Так что логика начнет давать копоти только начиная лет с семи. До этого времени остается довольствоваться разве что символами и образами.
В период
То есть оптимальный возраст для начала обучения программированию сферического ребенка в вакууме —
Работает ли такой подход?
Как знать. Например, Максим Заславский, который благодаря отцу начал программировать в 7, уже к 13 годам почувствовал, что серьезно продвинулся в программировании: начинал он с Visual Basic 6, затем познакомился с HTML, а в
Сам Максим советует родителям в качестве pet-project для ребенка придумать что-нибудь более визуальное, где больше картинок, — чтобы заинтриговать. В этом плане поисковый движок проигрывает какой-нибудь красочной игрулине. История Максима — успешный пример программирования с детства, которое к чему-то привело.
С другой стороны, наличие отца-программиста и мамы-сисадмина не гарантирует светлое будущее в Кремниевой долине. Яблоко от яблони недалеко падает только в том случае, если яблоня растет на равнине, а не, скажем, на холме или скале. Дети бывают совсем не похожими на своих родителей как по характеру, так и по интересам. Конечно, семья влияет на ребенка и есть вероятность, что он прогнется в сторону предков, но может быть и наоборот: ребенок, насмотревшись на ежедневно торчащих у ноутбуков папу и маму, подумает: «ну нет, я лучше буду больше двигаться и общаться с людьми, пойду-ка в риелторы!».
Ребенок может выбрать другую стезю как из протеста, вопреки роду деятельности родителей, так и просто потому что ему, например, больше понравится играть на скрипке, чем лопатить код. И вполне возможно, что на каждого ребенка, который получил компьютер и учебники и стал программистом, найдется ребенок, у которого всё это было, но программистом он не стал. Да и вокруг немало примеров людей, которых с детства обучали фортепиано, а они его потом всю жизнь ненавидят.
Может, мы детей не так учим?
Если опираться на школы с их вечно зевающими преподавателями по информатике, блудными блок-схемами и чахнущими процессорами, то дела не будет. Становление ребенка как программиста в такой среде происходит не благодаря, но вопреки. Очевидно, что нужно повышать качество преподавания. Проблема лишь в том, что школы, как и любые государственные структуры, слишком инертны для быстрых и качественных преобразований.
Негоже ждать у моря погоды — поэтому родители, которые хотят вырастить программиста, выбирают путь домашнего образования: либо обучают самостоятельно, либо приглашают раз в недельку ментора. Такой подход не может не дать хоть каких-нибудь плодов. Исходя из тех же принципов «10 тысяч часов», «deliberate practice» и «practice makes perfect», которые сквозят из множества книг и исследований на тему способностей и таланта, ребенок будет обречен повысить свои навыки в программировании. Да и не только ребенок.
Кадровый голод на рынке IT
Чтобы понять, как решить вопросы нехватки специалистов, посмотрим, как СССР утолял свой кадровый голод в сфере науки.
Ведь, с одной стороны, с чем-чем, а с наукой в СССР всё было в шоколаде. Когда до правящей верхушки дошло, что в школах следует поднимать техническое образование, во многих ВУЗах Союза начали создавать факультеты общетехнических дисциплин и труда, которые могли бы готовить квалифицированных преподавателей.
В 1956 году начался выпуск «Юного Техника». Ещё через десять лет стал выходить журнал по детскому техническому творчеству «Моделист-конструктор». Юный советыш не только получил возможность записаться в конструкторское бюро при школе, но и, начиная с 1968 года, мог принимать участие в регулярно проводимых всесоюзных соревнованиях ракетомоделистов-школьников. Настоящий конструкторский рай — только успевай собирать на свалках стройматериал для конструкторской деятельности.
Да и гуманитарные факультеты ломились от толп желающих и приблатненных, поэтому на технические специальности, где нужно думать, поступить было даже в каком-то смысле проще, чем на другие. Все карты в руки будущему ученому!
Но была ли она — великая наука?
Вот что по этому поводу в своей книге «За фасадом империи» говорил Александр Никонов:
С одной стороны, все выглядело прекрасно. Число ученых в СССР неуклонно росло. Студенты стремились в науку, в аспирантуру были конкурсы. С другой стороны, я сам работал в науке, и мне байки лудить про передовую советскую науку не надо. Я не понаслышке знаю о десятках никому не нужных НИИ, готовивших никому не нужные проекты и отчеты. Знаю про хроническое отставание нашей науки от науки западной. Знаю, что падение уровня знаний у выпускников вузов, на которое сейчас многие сетуют, началось не вчера.
Про науку в СССР высказался и нобелевский лауреат по физике Виталий Гинзбург:
Не надо идеализировать советскую науку! Действительно, она в некоторых областях, типа физики и математики, была на очень высоком уровне. Ну, это и понятно: от физики коммунистам нужна была бомба, поэтому и деньги были большие у физиков. Помню, когда американцы впервые взорвали атомную бомбу, у меня зарплата сразу же выросла раза в три. Но были в советской науке области совершенно провальные, ярчайший пример тому — биология, кибернетика.
Очевидно, что советский подход не сработал. Пытались взять количеством: выйди на советскую улицу, кинь камнем — попадешь в инженера. Пытались взять качеством — не удалось. Даже бросая все ресурсы на вооружение и науку, СССР было не догнать Запад. Хотя, казалось бы, в то время у детей, а затем — у студентов были все карты на руках.
Будет ли оно — «великое IT»?
Все эти инициативы родителей и государственные программы рано или поздно упираются в одну и ту же проблему — человеческий фактор. Одного хлебом не корми — дай покопаться в электронике, второго не трожь, оставь у холста, третьего соблазняй зарплатой программиста, а он, подлец, имея все козыри для перехода в IT, так и будет сидеть в НИИ, выращивая свои водоросли, потому что ему это интересно.
Сможет ли массовая популяризация программирования среди детей поднять уровень их развития и расширить кругозор? 100%. Вырастет ли из семени подсолнуха помидор, если его посадить в парник, давать ему учебники по помидороведению и ухаживать за ним, как за помидором? Может быть. Генная инженерия творит чудеса, да и человек отлично умеет адаптироваться и подстраиваться. Другой вопрос, будет ли ему это приносить удовольствие. Ведь где нет вознаграждения в виде удовольствия, там нет долгосрочного прогресса.
Так что попытаться ребенка если и не обучить, то хотя бы познакомить с программированием — благородное дело (скупая слеза ностальгии по «Энциклопедии профессора Фортрана»). Ну, а дальше всё будет зависеть от уровня демократии в семье и желаний самого ребенка.
Что же касается насыщения рынка IT, то толковых людей всегда было мало, поэтому перспективу утолить кадровый голод в IT следует рассматривать больше в плоскости увеличения количества кодеров, которые могли бы выполнять простые и рутинные задачи, чем в плоскости увеличения количества реальных программистов.