«Если вы хотите научиться программированию, будьте готовы потратить на это 10 лет» Статьи редакции

Директор по исследованиям Google

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

В любом книжном магазине можно найти книги про то, как за 24 часа выучить язык программирования C, SQL, Ruby и прочее, пишет Норвиг. И, судя по обилию подобных произведений, количество людей, которые хотят быстро научиться программированию, постоянно растет.

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

Директор по исследованиям Google ссылается на ряд исследований (Блум, 1985 год, Брайна и Хартер, 1899 год, Хайес, 1989 год, Симмон и Чейз, 1973), которые доказывают, что на полное изучение одной отрасли нужно потратить 10 лет — например, чтобы научиться играть в шахматы, теннис, пианино или изучить нейрофизиологию.

По словам исследователей, суть в том, чтобы изучающий постоянно ставил себе более сложные задачи, которые выходят за рамки его знаний и опыта. Например, Моцарт хоть и написал первый концерт в четыре года, но стал известным мировым музыкантом только спустя 13 лет. Британская группа Beatles также провела больше 10 лет, выступая в небольших клубах Ливерпуля.

Существует и другая теория, принадлежащая Малколму Гладвеллу, который утверждает, что для того, чтобы стать профессионалом в определенной сфере, нужно потратить на её изучение 10 тысяч часов.

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

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

Лучше всего начать обучение сразу с выполнения простых задач. По мере получения навыков Новик рекомендует изучать работу других разработчиков — смотреть код их программ: «Это намного важнее книг и курсов».

Компьютерное образование никого не сделает экспертом в программировании — так же, как изучение красок и кистей не сделает из вас художника.

— Эрик Реймонд, автор The New Hacker's Dictionary

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

0
35 комментариев
Написать комментарий...
Aleksej Modelski

вот пидр, все настроение испортил

Ответить
Развернуть ветку
Maxim Alexandrovich

Дело дедуля говорит)А то начитаются книг типа выучить php за 24 часа и уже лезут на сайты работы и просят заоблачную зарплату)

Ответить
Развернуть ветку
Drus Uilis

10000 часов - это если уделять обучению 3 часа каждый день, то и выходит почти 10 лет.

Ответить
Развернуть ветку
Куда пойти

Совершенно верно. Можно приложить упорство и заниматься программированием по 12-15 часов в сутки. Тогда, разумеется, срок в 10 лет может уменьшиться до 2. Но тут важно еще получать кайф. Без кайфа совершенно все бессмысленно и далеко не уедешь.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
FruitofDesign

Программирование - это ремесло, где нет входного порога или образовательного ценза. Приложение с одной кнопкой размещается на маркете рядом с серьезным софтом. Автор нам намекает, что излишний объем предложения вреден. 3 d конструирование (не рисование) также сложная область, но смотрите - на сайте агрегаторе ... объявление: "Наши 1.2 м дизайнеров предложат вам свои услуги".

Ответить
Развернуть ветку
Александр Гойда

Сейчас рекрутеры почитают это и напишут в объявлениях "с опытом от 8-10 лет" и учиться программировать станет еще дольше...

Ответить
Развернуть ветку
Антон Лапшин

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

Ответить
Развернуть ветку
Alex Markelov

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

Ответить
Развернуть ветку
SocialWarrior

Так как Питер эксперт в области искусственного интеллекта, то думаю, он имел в виду код, который связан с наукоемкими технологиями.

Ответить
Развернуть ветку
Anthony Marchenko

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

Ответить
Развернуть ветку
Александр Филипьев

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

если вы хотите жить как обыденный человек без режима и тайм менеджмента, то да, уйдет 10 лет с чем то. А так, что бы стать профессионалом, хватит 3-4 года, уделяя каждый день по 6-8 часов своей сфере. Если чуть меньше, то 4-5 лет. Самое забавное, что если жить как Леонардо Да Винчи, по его режиму, то хватит и 1 года, это все зависит от памяти и практики

Ответить
Развернуть ветку
Гала Перидоловна

Не реально. Прошло около 9 лет с момента когда я открыл книжку по ассемблеру до момента когда смог отдаленно понимать что делает процессор в конкретный момент времени. Это при условии что мне доступны видеоматериалы и книги, которые не доступны обычным разработчикам. За это время я научился говнокодить на перле, пхп, пописал хайлоад проект, разобрался с С и даже отправил пару патчей для драйверов под линупс. На даже сейчас я знаю какие области CS у меня слабые. За год освоить это невозможно. И память в CS практически не нужна, нужно понимать основы из которых можно вывести более высокоуровневые абстракции. Все тоже самое что и в математике.

Ответить
Развернуть ветку
Alexander Bahmatov

Простой ход сохранять лидерство. Отпугивая такими высказываниями молодое поколение.

Ответить
Развернуть ветку
Yury Nechaev

Нет.

Ответить
Развернуть ветку
Valentin Kirillov

Одного меня смущают даты этих исследований? "Директор по исследованиям Google ссылается на ряд исследований (Блум, 1985 год, Брайна и Хартер, 1899 год, Хайес, 1989 год, Симмон и Чейз, 1973),"
особенно в 19 веке люди много о программировании знали.
Подождите лет 5 и увидите как двоечники в школах кодят приложения пока вы рассуждаете о том, сколько десятков лет нужно на то, чтобы этому научиться.

Ответить
Развернуть ветку
Andrey Petrosyan

Талант забыли учесть

Ответить
Развернуть ветку
Александр Шураков

часто то, что называют "талантом" - это доведенные до совершенства навыки.

А совершенство навыков = f(инвестированное время, эффективность технологий обучения, настроение во время обучения)

Так что все учли))

Ответить
Развернуть ветку
Michael Babich

Интересный нюанс в том, что через 10 лет знания программирования не нужны будут. Это будет довольно узкая специальность. Все будут самообучающиеся программы делать. Создавать продукт-приложение будет сродни давания голосовых команд и двиганья квадратиков на экране. Реальный код будут видеть и писатт только те, кто это все будет обслуживать. То есть будут востребованы только действительно те, кто вдохновляется написанием хорошего кода и постоянно обучается всему новому. Очень скоро не будет смысла вообще учить программирование массово.

Ответить
Развернуть ветку
Alexey Pomogaev

Через 10 лет в лучшем случае будут фреймворки избавляющие от рутины программирования. По типу как лучше сериализовать данные в БД или для сетевой передачи. Или какую БД под задачу выбрать. В этом плане, да, скорее всего появятся самообучающиеся системы, которые автоматически будут подстраиваться под данные приложения и нагрузку на него.

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

Ответить
Развернуть ветку
Michael Babich

Суть в том, что большинство наиболее востребованных массовых задач будет уже готова out of the box. Я говорю не о том, что програмирование не нужно будет, а о том, что толкать в сторону обучения программированию кучу народа, как это происходит на западе, особенно который туда идет только из-за шумихи, а не вдохновения, не очень целесообразно т.к. бОльшая часть базовых задач, для которых сейчас необходмы программисты, будет автоматизирована и коммодитизитрована и для этого не будет необходимости в программистах. А это значит, что необходимо будет меньше специалистов, но более узкопрофильных. Увидим через 10 лет кучу народу, которые посредственные программисты и для которых нет работы.

Ответить
Развернуть ветку
Alexey Pomogaev

А кто будет виртуальные миры кастомизировать? Самообучающие системы? Сомневаюсь, что они осилят психологию человека к 2026 году.

А кто будет программировать логистику для будущих транспортных компаний с автопилотами? Сомневаюсь, что самообучающие системы к 2026 осилят кастомизировать софт под транспортную компанию.

Опять же дронов по добыче астероидов нужно кастомизировать. Заполонивших все и вся роботов - кастомизировать. Умные дома с OLED обоями или дополненой реальностью - надо кастомизировать.

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

Так что работы программистам только прибавиться. А низкоуровенных программеров просто хватать не будет.

Ответить
Развернуть ветку
Евгений Сухарников

Нет.

Ответить
Развернуть ветку
Andrey Petrosyan

Может кто опровергнет? Из практики личной. Хотя вроде полно молодых ребят 20- написавших сами или в компании таких вполне продающиеся игры и приложения.

Цель какая? Стать гуру, тогда мб и 10 лет

А сделать и продать толковое приложение, мб все-же не так долго? :grinning:

Ответить
Развернуть ветку
Руслан Иминов

смотря что программировать... :) написать сайт - не сложно, а вот какую-нибудь сетевую 3D игру - тут уже на годы время пойдёт если одному делать

Ответить
Развернуть ветку
Андрей Куфтачев

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

Ответить
Развернуть ветку
Valentin Dombrovsky

Вообще это довольно старенькая статья Норвига, которая уже переведена на несколько языков, включая русский (ссылки на переводы есть на странице): http://www.norvig.com/21-days.html
Непонятно, почему Кварц именно сейчас решил её напечатать.

Ответить
Развернуть ветку
Valentin Dombrovsky

P.S. А ну вот, даже ссылку на эту статью в конце статьи на Кварце увидел. Гм.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Roman Goncharenko

Но ведь я же думал Geekbrains, 70 тысяч и 7 месяцев говорили они, как же так, моя мечта разрушена....

На самом деле нет!

Ответить
Развернуть ветку
Сергей Шмаков

2 года "начинал" учиться программировать. В итоге изучил парочку основных моментов: переменные, циклы, типы данных и тд.

Чтобы было интереснее было изучать решил сразу применять на практике. Практика связана с работой в социальных сетях, в частности ВК. Так как мало кто из SM-специалистов умеет программировать решил оформить всё в небольшой курс https://github.com/kepatopoc/vkapi-course

С каждым занятием я изучаю что-то новое, заодно пытаюсь рассказать это другим.

Как минимум 3х человек уже вовлёк (прошли больше 5 уроков) и считаю это крутым показателем.

Ответить
Развернуть ветку
Андрей Иванов

Тем временем, 20-летние петербургские студенты стали чемпионами мира по программированию...

Ответить
Развернуть ветку
Андрей Куфтачев

они с 9 лет начали ))))))

Ответить
Развернуть ветку
Руслан Иминов

пр

Ответить
Развернуть ветку
Alex Maslou

"Британская группа Beatles также провела больше 10 лет, выступая в небольших клубах Ливерпуля." - они несколько лет катались в Гамбург и там играли по 8-10 часов, так и стали профи и при этом сыгрались, научились работать с публикой и не обращать (в нужные моменты) на её реакции внимание, а потом уже Ливерпуль, где была бешеная конкуренция между сильно похожими группами

Ответить
Развернуть ветку
Alexander Baygeldin

Правильно, пусть поднимает авторитет профессии. А то на математических факультетах погромистов уже за людей не считают. Обезьянки, которые кодют :) А ведь CS — многоплановая и очень непростая область, и именно она будет двигать AI в ближайшие годы.

Ответить
Развернуть ветку
Читать все 35 комментариев
null