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

Многие люди этим занимаются, но как вы к ним присоединитесь? Давайте разберемся.

1. Проведите исследование

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

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

Мы все были там. На собственном опыте я понял, что вместо того, чтобы начинать новое путешествие с Hello World, начните с плана и набора вопросов:

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

Не поймите меня неправильно: обучение программированию - важная часть становления разработчика программного обеспечения. Но разработчики делают больше, чем просто разминают клавиатуру. Работа включает в себя много планирования, проектирования, решения проблем, мозгового штурма, сотрудничества с другими и принятия риска.

Наряду с обучением программированию обратите внимание на то, как работают компьютеры, сети, облако и такие вещи, как SDLC, и управление проектами, которые принесут вам пользу, когда вы начнете работать в ИТ-компании.

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

  • JavaScript
  • Python
  • Джава
  • PHP
  • C#
  • Быстрый
  • C++

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

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

2. Следуй за своей страстью

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

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

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

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

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

3. Оставайтесь модными

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

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

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

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

Чтобы облегчить ваше решение, существует японское понятие Икигай, что переводится как причина существования:

Чтобы достичь Икигай, вы должны записать четыре принципа:

  • Что ты любишь
  • Что у тебя хорошо получается
  • За что вам могут заплатить
  • Что нужно миру

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

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

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

4. Ставьте цели заблаговременно.

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

Бывают моменты, когда вам будет лень учиться, времена, когда все станет тяжело, и времена, когда вы начнете сомневаться в себе.

Это долгий процесс. Старайтесь придерживаться своих целей.

Если сегодня ваш первый день программирования, поставьте себе цель изучить основные принципы программирования за первые три месяца. Через три месяца узнайте немного о структурах данных и алгоритмах. Позже вы сможете научиться хранить данные в базе данных, а также в HTML / XML и CSS, а к концу года вы сможете объединить все эти навыки в создание действительно крутого веб / мобильного приложения - если, конечно, вас это интересует!

5. Узнай всего понемногу

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

  • Если вы разработчик Android, расширьте свои навыки, узнав, как создавать приложения для iOS.
  • Если вы интерфейсный веб-разработчик, узнайте об инструментах браузера и разработчика, облаке и API, о том, как хранить свои данные, обеспечивать безопасность и многих других функциях.
  • Если вы в центре внимания бэкэнд, узнайте о безопасности, базах данных, развертываниях, прокси-серверах, контейнерах и т. Д.

Главное в обучении не в количестве языков и фреймворков, которые вы изучаете. Речь идет об изучении сути этой технологии.
Когда вы научитесь использовать базовые элементы, такие как переменные, условия, массивы и циклы, вы сможете примените эти концепции к любому языку.

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

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

Это мир с безграничными возможностями.

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

Бонусный совет: с чего начать

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

и просмотром таких YouTube-каналов, как TheNewBoston, TheNetNinja, TraversyMedia и многих других.

С тех пор я провел бесчисленное количество часов, тренируясь, составляя приложения и готовясь к собеседованиям, что в конечном итоге привело к тому, что я нашел свою первую работу, а затем перешел на другую работу.

Я также много читаю на Medium, где также пишу о JavaScript и Node.js. Если вас это интересует, не забудьте нажать кнопку подписки. До скорого!