Практические советы, как сделать первый шаг к тому, чтобы стать разработчиком

Время от времени мне задают вопрос в той или иной форме: «Какой язык программирования мне следует выучить?»

Это кажется довольно популярным вопросом среди новичков в технической индустрии, о чем свидетельствуют бесчисленные вопросы на Quora, такие как:

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

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

Если вы чувствуете это беспокойство, знайте, что вы не одиноки, и… читайте дальше.

Такой же, как и когда-либо

Бытует мнение, что технологии развиваются так быстро, что навыки, приобретенные 5 лет назад, теперь теряются. В частности, в веб-пространстве наблюдается высокий уровень оттока пользователей, поскольку многочисленные платформы и методы конкурируют за создание современных клиентских веб-приложений. Но, по большому счету, Интернет сегодня работает так же, как и с самого начала, и создание клиентских приложений не сильно отличается от создания старых серверных приложений. И все эти фреймворки (Angular, Vue, Preact, React, Ember и т. Д.) Выполняют одни и те же задачи аналогичным образом.

Технологические изменения во многом похожи на волны в океане - на поверхности наблюдается большая активность (отток), но внутри изменения происходят гораздо медленнее и устойчивее, а в некоторых случаях практически не меняются. Например, наши компьютеры сегодня работают точно так, как описано Джоном фон Нейманом в 1945 году. Вот еще 3 быстрых примера:

  • Базовая ОС на устройствах Mac основана на проектах операционных систем, которым уже почти 50 лет. Если вы используете Mac / iPhone, даже модные Apple Watch, вы используете операционную систему OSX / iOS. система, вдохновленная операционной системой Unix 1970-х годов, принятая Apple через FreeBSD через NeXT в 1990-х годах для XNU, основы всех устройств Apple.

  • Популярным основным языковым потокам, используемым в настоящее время, от 20 до 30 лет: Ruby, Python, PHP, Java, C #, JavaScript появились примерно в то же время, в середине 1990-х годов плюс-минус несколько лет. Каждый из них нашел различные ниши и преимущества в нашей нынешней технологической экосистеме Интернета / мобильных устройств / настольных компьютеров, а также в новых пространствах IoT и AR / VR / MR. Все они вдохновлены предыдущими языками, такими как C / SmallTalk / Lisp, которым 40–50 лет, и которые все еще существуют.
  • 43% банковских систем построены на COBOL. 80% личных транзакций используют COBOL. 95% считываний банкоматов полагаются на COBOL. 220 миллиардов строк COBOL используются сегодня : Классический пример того, насколько устойчива старая технология - COBOL . В 60 лет он по-прежнему широко используется во всем мире и не исчезнет в ближайшее время, потому что, когда технология глубоко внедряется в систему, действительно становится трудно изменение. Затраты на замену систем и связанные с этим риски огромны, особенно в финансовой отрасли, поэтому она остается и продолжает выполнять работу, для которой была создана десятилетия назад.

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

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

Выучите один язык и выучите его хорошо

Что следует делать, если вы начинаете становиться разработчиком?

Выберите язык и потратьте некоторое время на его изучение.

Но вот секрет: неважно, какой язык вы выберете.

Просто начни.

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

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

Но все же вы говорите, какой язык выбрать мне? Вот некоторые предложения:

  1. Бросьте кости. Существует около 6 основных языков (Ruby, Python, C #, Java, JavaScript, PHP). Оставьте это на волю случая, и какое бы число вы ни выбрали, это ваш язык.
  2. Узнайте, что изучают ваши друзья. Если вы знаете людей, которые изучают язык или уже знают язык, объединитесь и учитесь вместе с ними. С другими учиться всегда веселее.
  3. Выберите вино с крутым названием или с самым крутым логотипом. Это похоже на винную стратегию: если вы очень мало знаете о вине, вы всегда можете обратиться к маркетингу. Какое имя / бренд вам нравится? Я думаю, что Python довольно крутой, крутой и резкий ...
  4. Пусть решает Вселенная. Продолжает ли язык программирования появляться в вашей повседневной жизни, как этот симпатичный бариста, которого вы постоянно видите? Доверяйте своему внутреннему «я» - это Вселенная пытается добраться до вас. Просто пойти на это.
  5. Задайте себе несколько вопросов о карьере. В какой компании я действительно хочу работать? И / или какая отрасль / домен мне нравится? Если вы знаете ответы на эти вопросы, вам следует выучить язык (и), наиболее популярный в компании / отрасли, к которой вы относитесь. Например, если вы действительно хотите создавать приложения для iOS, вам нужно изучить Swift; для Android, Java. Любите Интернет? Рано или поздно вы столкнетесь с JavaScript. Вы также можете использовать JavaScript, если хотите работать на мобильных устройствах и даже на компьютерах. 3 птицы, 1 камень. Если вы действительно хотите использовать рациональный подход, исследуйте компании / отрасли, которые вас интересуют, и вы найдете свой ответ.
  6. Узнайте все, что требуется для конкретной работы. Предлагается ли вам в настоящее время работа или вы подаете заявку на работу, требующую знания языка, которого вы не знаете? Вам, вероятно, следует этому научиться. Pronto.

Бонусный секрет

Вот бесплатный бонусный секрет: Если вам наскучил язык, вы всегда можете выучить другой. Это не так сложно, как только вы научитесь.

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

Изучение языка сегодня не означает, что вы замужем за ним.

Если вы не влюблены в это, отпустить будет сложно.

📝 Прочтите этот рассказ позже в Журнале.

👩‍💻 Просыпайтесь каждое воскресное утро и слушайте самые интересные истории недели в области технологий, которые ждут вас в вашем почтовом ящике. Прочтите информационный бюллетень« Примечательно в технологиях .