То, что я хотел бы знать, будучи новичком

TLDR;

  • Изучить основы компьютерного программирования
  • Изучите и выберите язык программирования и изучите его фундаментальные концепции
  • Разобрать каждую концепцию
  • Гуглить и задавать вопросы по сложным концепциям
  • Многократно отрабатывайте концепции
  • Понять концепцию, прежде чем переходить к другой
  • Научитесь использовать технику решения проблем
  • Старайтесь не заучивать решения кода
  • Избегайте ада учебников
  • Найдите наставника

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

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

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

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

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

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

Машины не являются исключением, но в данном случае они понимают машинные коды, т.е. серии нулей и единиц. Можем ли мы сами написать коды машины? БОЛЬШОЕ НЕТ! У нас есть среда, где мы можем использовать наш повседневный синтаксис простого английского языка для общения с компьютером. Эта среда/язык известна как язык программирования.

«Язык программирования — это любой набор правил, который преобразует инструкции, чаще всего записанные в виде строк, в машинные коды для обработки, хранения, извлечения или вызывания события».

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

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

В твиттер-пространстве JavaScript мусолится почти везде, где есть обсуждение технологий, единственный ли это язык? Нет, самый мощный? Нет, но он один из самых используемых в кругу разработчиков. Есть и другие почетные упоминания, такие как Python, C#, Java, Kotlin, C++, Carbon и т.д., которые являются настолько мощными, что сами по себе являются таковыми.

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

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

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

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

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

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

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

Затем мы рассмотрим типы циклов: for…, do…while и while loop. Знание концепции того, зачем они существуют, позволит правильно их применять.

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

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

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

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

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

Вместо этого можно поступить следующим образом:

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

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

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

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

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

9. Избегайте ада учебников: Что такое учебный ад?
Учебный ад может означать процесс, когда человек постоянно смотрит видео, чтобы овладеть знаниями, но практически не может реализовать решения после этого.

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

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

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

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

*10. Найдите наставника: *
> «Если я и видел дальше, то только стоя на плечах гигантов» — Исаак Ньютон.

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

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

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

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

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