Практические советы, как сделать первый шаг к тому, чтобы стать разработчиком
Время от времени мне задают вопрос в той или иной форме: «Какой язык программирования мне следует выучить?»
Это кажется довольно популярным вопросом среди новичков в технической индустрии, о чем свидетельствуют бесчисленные вопросы на Quora, такие как:
- Что лучше изучить в первую очередь между Java и Python и почему?
- C # лучше Java?
- При прочих равных, что лучше изучать сегодня: C, C # /. Net, C ++ или Java?
- Какие 5 языков программирования, скорее всего, исчезнут в ближайшие годы?
Учитывая все существующие языки и все технологии, связанные с этими языками, понятно, что вопрос о том, какой язык программирования изучать, кажется непреодолимым.
Эти вопросы вызваны опасением узнать «не то». Страх, что усилия будут потрачены впустую и что карьера в разработке будет недолговечной из-за решения выучить «неправильный язык» или технологию, которая «вымерла», как динозавры.
Если вы чувствуете это беспокойство, знайте, что вы не одиноки, и… читайте дальше.
Такой же, как и когда-либо
Бытует мнение, что технологии развиваются так быстро, что навыки, приобретенные 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 лет он по-прежнему широко используется во всем мире и не исчезнет в ближайшее время, потому что, когда технология глубоко внедряется в систему, действительно становится трудно изменение. Затраты на замену систем и связанные с этим риски огромны, особенно в финансовой отрасли, поэтому она остается и продолжает выполнять работу, для которой была создана десятилетия назад.
Просто технологии не меняются так быстро, как люди думают, и даже когда это происходит, они эволюционируют, а это означает, что любые навыки, которые вы усвоили в какой-то момент, могут быть перенесены на следующий уровень эволюции. Тот факт, что язык / технология, которые вы недавно выучили, попадает в немилость, не означает, что вы должны умереть вместе с ними. Вы можете вспомнить хорошие времена и двигаться вперед в будущее.
Если вы посмотрите на технологию под широким углом, вы увидите, что все, что вы изучаете, вписывается в общую картину и укрепляет ваше понимание технологий. Все это можно передать и связать. Беспокойство по поводу изучения неправильной технологии неуместно, и на самом деле все остается таким же, как и всегда.
Выучите один язык и выучите его хорошо
Что следует делать, если вы начинаете становиться разработчиком?
Выберите язык и потратьте некоторое время на его изучение.
Но вот секрет: неважно, какой язык вы выберете.
Просто начни.
Все, что вам действительно нужно сделать, это узнать, как программировать, и основные парадигмы, используемые в программировании, язык, который вы используете, не так уж и важен. Первый язык, который вы выучите, научит вас этому навыку, и оттуда вы сможете развивать свой фундамент с помощью других языков / технологий. Могут быть языки более сложные или простые для изучения, или более популярные / менее популярные языки для изучения. Но все, чему вы научитесь, продвинет вас вперед.
И что еще важнее, чем изучение одного языка, так это понимание технологической экосистемы и того, как все элементы объединяются, например, в Интернете или на мобильных устройствах. Конкретный язык - это только один аспект экосистемы.
Но все же вы говорите, какой язык выбрать мне? Вот некоторые предложения:
- Бросьте кости. Существует около 6 основных языков (Ruby, Python, C #, Java, JavaScript, PHP). Оставьте это на волю случая, и какое бы число вы ни выбрали, это ваш язык.
- Узнайте, что изучают ваши друзья. Если вы знаете людей, которые изучают язык или уже знают язык, объединитесь и учитесь вместе с ними. С другими учиться всегда веселее.
- Выберите вино с крутым названием или с самым крутым логотипом. Это похоже на винную стратегию: если вы очень мало знаете о вине, вы всегда можете обратиться к маркетингу. Какое имя / бренд вам нравится? Я думаю, что Python довольно крутой, крутой и резкий ...
- Пусть решает Вселенная. Продолжает ли язык программирования появляться в вашей повседневной жизни, как этот симпатичный бариста, которого вы постоянно видите? Доверяйте своему внутреннему «я» - это Вселенная пытается добраться до вас. Просто пойти на это.
- Задайте себе несколько вопросов о карьере. В какой компании я действительно хочу работать? И / или какая отрасль / домен мне нравится? Если вы знаете ответы на эти вопросы, вам следует выучить язык (и), наиболее популярный в компании / отрасли, к которой вы относитесь. Например, если вы действительно хотите создавать приложения для iOS, вам нужно изучить Swift; для Android, Java. Любите Интернет? Рано или поздно вы столкнетесь с JavaScript. Вы также можете использовать JavaScript, если хотите работать на мобильных устройствах и даже на компьютерах. 3 птицы, 1 камень. Если вы действительно хотите использовать рациональный подход, исследуйте компании / отрасли, которые вас интересуют, и вы найдете свой ответ.
- Узнайте все, что требуется для конкретной работы. Предлагается ли вам в настоящее время работа или вы подаете заявку на работу, требующую знания языка, которого вы не знаете? Вам, вероятно, следует этому научиться. Pronto.
Бонусный секрет
Вот бесплатный бонусный секрет: Если вам наскучил язык, вы всегда можете выучить другой. Это не так сложно, как только вы научитесь.
Шутки в сторону. То, что вы выучили язык в этом году, не означает, что вы не сможете выучить еще один в следующем году, если бы действительно захотели. Чтобы выучить язык, действительно не так много времени - вы можете научиться бегло говорить в течение нескольких недель, компетентно в течение нескольких месяцев, сильным в течение года или двух.
Изучение языка сегодня не означает, что вы замужем за ним.
Если вы не влюблены в это, отпустить будет сложно.
📝 Прочтите этот рассказ позже в Журнале.
👩💻 Просыпайтесь каждое воскресное утро и слушайте самые интересные истории недели в области технологий, которые ждут вас в вашем почтовом ящике. Прочтите информационный бюллетень« Примечательно в технологиях .