7 советов для разработчиков самоучек

7 советов для разработчиков самоучек Изучение

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

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

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

Подождите секунду, как вы самоучка?

Я считаю себя самоучкой, и у меня есть степень магистра компьютерных наук.

Чтобы объяснить вам, насколько я самоучка, я нарисую вам картину моего студенческого опыта. Я не чувствовал себя готовым к работе, когда вышел из программы. После того, как я получил степень, я немного знал Flash и Scratch. Сегодня Flash больше не используется, а Scratch — визуальный язык программирования для детей. Мы также изучили такие языки, как Pascal и Turbo Pascal, которые практически устарели с точки зрения промышленного использования. Хотя у нас был курс C++, мы изучили только самые основы языка. Что еще хуже, все наши студенческие учебники были на русском языке, а я не знаю русского языка. Когда я спросил свою учительницу, есть ли у нас английская или армянская версии, она не смогла помочь.

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

Читайте также:  Кто изобрел Python?

Мои навыки самообучения начали развиваться после окончания учебы. По большей части, именно здесь и начался мой путь самоучки. Я взял годичный отпуск перед поступлением в аспирантуру, в течение которого я изучил несколько предметов, в том числе C++, линейную алгебру, физическое программирование и графическое программирование (последние два довольно сложны, поэтому я продолжал изучать их в свободное время во время учебы). программа). И вместо того, чтобы просто изучать вещи на высоком уровне, я, наконец, присел на корточки и начал делать то, что хотел: делать игры. Я исследовал и использовал все ресурсы, которые мог, чтобы направлять меня.

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

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

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

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

Моя ситуация также была довольно самостоятельной из-за необходимости. Программированию игр я научился в Армении, в то время, когда не было активной индустрии, где я мог бы консультироваться с профессионалами. Популярные сегодня игровые движки, такие как Unity и Unreal Engine, также были не очень доступны. Помню, когда я был на игровой конференции в Техасе в 2011 году, у Unity не было ничего, кроме крошечного раскладного стола в конце конференции. Никто еще не знал, кто они такие. Сегодня Unity и Unreal — одни из самых мощных инструментов для оптимизации разработки игр. К настоящему времени я изучил оба. Но прежде чем я получил к ним доступ, мне пришлось научиться делать игру от А до Я (что включало создание движка, создание графики и программирование физики).

В конце концов, пока мы учим себя в свободное время, мы все самоучки.

7 советов по обучению и карьере для разработчиков самоучек

1. Составьте список своих привилегий и недостатков и спланируйте их

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

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

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

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

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

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

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

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

3. Попробуйте связать каждую тему с общей картиной

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

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

4. Не бойтесь сделать что-то неправильно и потерпеть неудачу

Лично я знал, что моя цель — делать игры. Но очень долгое время я не знал, с чего начать, и не знал, как этому научиться. Иногда я застревал на неделю или две, просто гугля, думая: «Я должен это знать, как насчет этого?»

На самом деле мне просто нужно было начать учиться — и смириться с тем, что я делаю что-то неправильно или терплю неудачу.

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

5. Примите тот факт, что вы не справитесь со всем

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

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

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

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

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

6. Поделитесь своей работой

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

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

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

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

7. Научитесь жить со страхом

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

  • Смогу ли я это сделать?
  • Я зря трачу время?

Преодоление страха или неуверенности не в том, чтобы избавиться от них. Речь идет о том, чтобы научиться жить с этим.

Это то, что многие люди говорят, что если вы действительно не сделали это — живя в страхе — вы можете не понять, что это выполнимо. Но это определенно выполнимо. И это может быть очень мотивирующим время от времени тоже.

Быть эффективным разработчиком-самоучкой

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

  • Любопытство
  • Мотивация
  • Самодисциплина

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

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

Оцените статью
bestprogrammer.ru
Добавить комментарий