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

Начните с малого

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

Найдите подходящий учебный курс

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

Настройтесь на рост

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

Преодолейте страх неудачи

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

Обратиться за помощью

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

Рекомендуемая литература:

Учимся учиться:

Https://www.freecodecamp.org/news/learning-how-to-learn-the-most-important-developer-skill-7bf62dfaf67d/

Мышление о росте.

Https://hbr.org/2018/09/having-a-growth-mindset-makes-it-easier-to-develop-new-interests



Что на самом деле означает« установка на рост
Ученые глубоко удовлетворены, когда их идеи приживаются. И они еще больше довольны, когда их идеи превращаются в… hbr.org »



Страх неудачи:

Https://www.psychologytoday.com/us/blog/smashing-the-brainblocks/201801/how-conquer-fear-failure