Чтобы стать разработчиком, существует множество различных образовательных онлайн-платформ. Назову лишь некоторые из них: Codecademy, Udacity, EDx, Udemy и Coursera. Их привлекательность очень сильна: пройдите несколько онлайн-курсов, а затем вас устроят программистом. У Udacity даже есть гарантия возврата денег. Почему бы вам выбрать другой способ обучения с такими доступными онлайн-курсами?

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

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

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

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

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

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

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

Для контраста Когда я преподаю разработку программного обеспечения, ученики часто указывают мне на экран и в упор говорят: «Почему это не работает?»

Как это применимо к программированию? Codecademy, Udacity, EDx, Udemy и Coursera могут научить вас, как построить программную систему, такую ​​как мобильное приложение или веб-сайт. Однако они не могут научить вас другим очень важным навыкам или дать вам социальный капитал, необходимый для успеха.

Как разработчик программного обеспечения в Google я постоянно сталкивался с этими проблемами. Мне постоянно приходилось работать с системами, которые были мне совершенно неизвестны, а предоставленная документация часто была неадекватной или неточной. Если бы я не мог получить помощь, необходимую для решения проблемы, я либо сдавался, либо тратил невероятное количество времени на решение того, что должно было занять 5 минут.

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

Хакерский полдень - это то, с чего хакеры начинают свои дни. Мы часть семьи @AMI. Сейчас мы принимаем заявки и рады обсуждать рекламные и спонсорские возможности.

Чтобы узнать больше, прочтите нашу страницу о нас, поставьте лайк / напишите нам в Facebook или просто tweet / DM @HackerNoon.

Если вам понравился этот рассказ, мы рекомендуем прочитать наши Последние технические истории и Современные технические истории. До следующего раза не воспринимайте реалии мира как должное!