Введение

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

Не стремитесь стать экспертом в первую неделю.

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

Не позволяйте себе перегружаться.

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

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

Создайте как можно скорее

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

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

Это как играть с Lego.

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

Сводка

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