Я сделал это, и ты тоже можешь

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

В программировании замечательно то, что это профессия, не требующая ученой степени. Для этого даже не требуется формального обучения. Это то, чему вы можете научить себя, находясь взаперти во время COVID.

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

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

Какой язык тебе следует учить?

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

Вместо этого вы должны спросить себя: «Что я хочу делать?» Я хочу сделать…

  • iOS разработка
  • Android-разработка
  • Кросс-платформенные мобильные приложения
  • Веб-разработка
  • Серверная (бэкэнд) разработка

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

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

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

Тот факт, что существует большой спрос на определенный тип разработчиков, не означает, что это увеличит ваши шансы найти работу. Большой спрос означает, что больше людей пытается удовлетворить этот спрос.

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

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

Разработка под iOS - Swift, Objective-c
Разработка под Android - Java, Kotlin
Кросс-платформенная мобильная разработка - React Native, Ionic, Flutter, Xamarin
Веб-разработка - Javascript, Typescript, Python, HTML
Разработка на стороне сервера - Python, Ruby, JavaScript, NodeJS (NodeJS не является языком), C #

Начало работы с видео или письменным обучением

У вас есть два варианта обучения. Вы можете читать или смотреть видео. Решение, которое вы выберете, зависит от вас. Кто-то предпочитает видео, кто-то предпочитает читать.

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

Что касается платных курсов, я бы рекомендовал проверить следующее.

  • Pluralsight
  • Удеми
  • Udacity
  • Codeacademy.

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

В какой-то момент вам нужно прочитать

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

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

Сделайте несколько руководств по проектам

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

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

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

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

Не выполняйте руководство. Изучите руководство.

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

"Важно не обязательно количество времени, которое вы проводите на практике: это то, что вы вкладываете в практику". -Эрик Линдрос

Делая это, вы освоите учебник. Чем больше учебных пособий вы освоите, тем лучше будет ваш фундамент.

Создавайте собственные проекты

После того, как вы освоите несколько руководств, вы должны достаточно хорошо изучить основы.

На этом этапе не прекращайте делать уроки, а начните делать свои собственные проекты вместе с уроками.

Вот несколько идей, которые вы можете попробовать

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

Если ни одна из этих идей вас не интересует, придумайте что-нибудь крутое и создайте это.

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

Сборка программного обеспечения включает в себя много шагов.

  • Дизайн и планирование
  • Архитектор
  • Написание кода
  • Отладка
  • Тестирование
  • Исправление ошибок и других проблем
  • Развертывание
  • Тестирование в вашей производственной среде

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

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

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

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

Продолжайте строить проекты

Строительные проекты - это место, где вы повышаете свои навыки разработчика. Чтение книг. Смотрю видео. Узнавать новую информацию - это здорово. Но одного обучения недостаточно. Вы должны применять все, что вы узнали. Вы должны практиковать то, что изучаете.

Мы учимся на практике. Независимо от того, означает ли это научиться танцевать, занимаясь танцами, или научиться жить, практикуя жизнь, принципы одинаковы ». - Марта Грэм

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

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

Найдите работу

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

Получить реферал

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

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

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

Поговорите с друзьями и семьей

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

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

Таким образом я заключил несколько отличных контрактов.

LinkedIn

LinkedIn великолепен. Попробуйте пройти тест на некоторые из их навыков и обратиться к нескольким рекрутерам. Рекрутерам платят, когда они находят сотрудников для работы. Так что в их интересах заставить вас работать.

Сайты фрилансеров

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

Если вы в состоянии сделать это, то делайте это во что бы то ни стало. Но я никогда не чувствовал, что это того стоит.

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

Мой личный опыт получения моей первой работы

Мой брат разработчик. Благодаря ему я получил свою первую работу программиста. В то время я был не очень хорошим разработчиком, но я знал свое дело. Я мог создать приложение без присмотра. Но у меня не было трактата. К счастью, поскольку меня порекомендовал мой брат, я смог устроиться на работу. Эта работа заставила меня задуматься и потребовала гораздо больше работы.

Преодоление синдрома самозванца

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

Как преодолеть синдром самозванца?

Прежде всего, осознайте, что есть много других, кто так думает. И некоторые из них - очень опытные разработчики.

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

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

«Развивайте страсть к обучению. Если вы это сделаете, вы никогда не перестанете расти ». - Энтони Дж. Д’Анджело

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

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

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

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

Последние мысли

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

Пришло время начать учиться.

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

  1. Решите, какой тип программного обеспечения вы хотите создать?
  2. Начните читать книги по физике или книги в Интернете или смотреть видео, в которых рассказывается об основах того, что вы хотите узнать.
  3. Сделайте несколько уроков
  4. Начни строить свои личные проекты
  5. Продолжайте строить свои собственные личные проекты
  6. Начать поиск работы

Если вы хотите научиться программировать или в настоящее время учитесь и вам нужна помощь, оставьте комментарий. Я был бы рад помочь, чем смогу. Вы также можете написать мне по адресу [email protected].