5 вопросов с отправкой воли

6 июня Уилл Сентанс пришел в офис New York Times, чтобы провести семинар по JavaScript. Позже мы связались с ним, чтобы поговорить о JavaScript и о его работе в Codesmith. Интервью ОЛИВЬЕ ДЕ МЕЛДЕР.

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

Мне посчастливилось изучать политику, философию и экономику в Оксфорде. Это был замечательный опыт - собрать вместе разношерстную группу, чтобы подумать о том, как решать сложные проблемы. Но учеба там в разгар финансового кризиса 2007–2008 годов показала мне недостающие элементы традиционного образования. Я пришел к выводу, что то, что даст организациям, миссиям и компаниям преимущество в следующем поколении, - это способность понимать, строить и руководить с помощью технологий.

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

Два кампуса в Нью-Йорке и Лос-Анджелесе полны замечательных жителей («резиденты» - это название, которое мы даем студентам), строящих необычные проекты. Только за последний год три из 25 крупнейших проектов в сфере open source были разработаны резидентами Codesmith.

В этом году мы также начали преподавать онлайн. Он следует тому же самому сократовскому методу - для меня было огромным сюрпризом, что он сработал в Интернете. Это позволяет нам обращаться к людям по всему миру. У нас будут люди из Бангалора, которые будут настроены в 4 часа утра вместе с кем-то из Лагоса, занимающимся парным программированием в прямом эфире со студентом из Кливленда - это довольно необычно.

На учебных курсах и онлайн-курсах вы уделяете почти все внимание JavaScript. Чем вас привлек этот язык и почему вы любите его преподавать?
Выпускники работают в Golang, занимаются машинным обучением с R, разработкой для iOS, солидностью для блокчейна. Codesmith действительно больше занимается обучением информатике и программированию, достаточным для того, чтобы получить кого-то на должности среднего или высшего звена.

При этом ускорение требует сосредоточенности. Прелесть JavaScript в его универсальности: браузер, сервер, оборудование.

Мне он также очень нравится как язык. Раньше в JavaScript были «хорошие стороны», но те времена давно прошли. Этот язык не любили из-за действительно плохих суждений в его дизайне. Но большая часть неприязни была вызвана критикой не JavaScript, а веб-браузеров, в которых он работал (со всеми их различными последствиями всего, от таймеров до самой консоли). Большая часть этого изменения теперь исправлена.

Новые функции ES2015 представили сверхсложные методы для взаимодействия с данными (итераторы, генераторы) и для работы с асинхронным кодом (возможность выполнять более медленные задачи, такие как получение обновлений с сервера, не влияя на производительность), такие как async / await

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

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

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

Итак, как вам лучше справляться с новыми проблемами? К сожалению, единственный способ - делать это снова и снова. Я называю это «усердным обучением», как в случае с онлайн-программой Гарвардского университета, посвященной информатике, EdX, где процент выбытия составляет 96 процентов. Это сложно, но если вы пройдете программу и выполните все материалы и задания, вы фактически получите степень Гарвардского университета в области компьютерных наук.

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

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

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

Учебные курсы, напротив, испытывали соблазн научить таким вещам, как «как реализовать React v16», что является очень узким пониманием того, что значит быть эффективным инженером-программистом, и не всегда ведет к устойчивому коду или даже карьере.

Вот почему мы решили углубиться в программирование и основные принципы информатики в программе Codesmith: алгоритмы, структуры данных, операционные системы, потоки, лексическая область видимости, системы событий.

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

У Codesmith есть школы в Нью-Йорке и Лос-Анджелесе, и, насколько я понимаю, вы путешествуете между этими двумя городами. Планируете ли вы открыть больше школ?
Мне нравится дружное сообщество в Лос-Анджелесе и Нью-Йорке. Чтобы это проявилось, нужно время и замечательная команда - такие люди, как Шно Мозинго, возглавляющий учебный план, и Шанда МакКьюн и Оливия Лейтнер, управляющие всеми аспектами программы. Чтобы иметь другие места, нам потребуется такой же уровень лидерства.

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

Уилл Сентанс - автор курса Frontend Masters и генеральный директор Codesmith, школы разработки программного обеспечения в Лос-Анджелесе и Нью-Йорке.