Лого vc.ru

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

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

Директор по исследованиям 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

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

Популярные статьи
Показать еще
Комментарии отсортированы
как обычно по времени по популярности

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

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

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

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

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

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

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

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

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

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

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

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

1

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

0

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

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

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

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

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

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

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

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

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

0

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

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

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

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

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

0

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

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

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

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

0

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

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

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

0

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

0

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

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

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

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

Возможность комментирования статьи доступна только в первые две недели после публикации.

Сейчас обсуждают
Дмитрий Кононов

В загадке не написано, сколько хотят пираты. Они могут хотеть равную долю, а может они добрые и готовы забрать 40, 30 или вообще 20 процентов? Вдруг для них капитан выше чем богатства. Вдруг они понимают, что именно он привел их к богатству. Также в загадке написано слово "Вы нашли сундук с золотом". Так какого хера вообще капитан должен отдавать большую часть золота своим матроскиным, если сам же капитан и нашел сундук?

Бывший глава Google затруднился ответить на один из традиционных вопросов компании на собеседованиях
0
Владимир Толстиков
literator

Да, тариф "Монстр общения 2011"

Как избавиться от лишних платных подписок — советы абонентам «Мегафона», МТС, «Билайна» и Tele2
0
Николай Костиков
Sign.Me

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

«ВКонтакте» закроет публичный доступ к аудиозаписям для сторонних приложений
0
Роман Ресенчук

Все равно то что у Yota бесплатные Telegram, WhatsApp, Viber, TeamSpeak и push-уведомления -- это намного круче и полезнее

Tele2 предложил абонентам в роуминге безлимитный интернет с ограничением скорости
0
Владимир Толстиков
literator

"Отключение услуги невозможно. Данный сервис не был у Вас подключен". В "Мой Билайн" -> "Услуги" его нет, но в детализации есть

Как избавиться от лишних платных подписок — советы абонентам «Мегафона», МТС, «Билайна» и Tele2
0
Показать еще