Шесть типичных ошибок и одна фатальная начинающего программиста

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

Ошибка №1: больше теории, меньше практики

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

К примеру, рассмотрим обучение в МГУ. Сегодня университет можно считать лучшим по подготовке программистов в России. Его команда второй раз победила на международной студенческой олимпиаде по программированию. Так вот, есть там направление «Прикладная математика и информатика» по профилю подготовки бакалавров «Системное программирование и компьютерные науки».

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

  1. 2228 лекций.
  2. 4553 часа самостоятельных работ.
  3. 8968 часов практики в целом.

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

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

Ошибка №2: торопиться в принятии решений

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

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

Опытный программист обдумывает несколько разных решений, взвесит все «за» и «против» для конкретной задачи, и только тогда выберет лучший вариант. Если у вас не получается увидеть другие решения в своем коде, то это от недостатка опыта. Решение проблемы – избегай ошибки №3.

Ошибка №3: быть одиночкой

Разделим проблему на две части.

  • Не посещать профильные мероприятия
  • Не обращаться к коллегам за советом в социальных сетях или на форумах.

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

Кроме того, хакатоны посещают работодатели – прекрасная возможность заявить о себе. Но и без них на хакатонах можно заработать: средний призовой фонд таким мероприятий превышает 100 000 рублей.

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

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

Ошибка №4: отказаться от систем контроля версий

Вы только начали, в резюме ничего серьезного – так что тут сохранять? На самом деле есть несколько причин делать это:

  1. Понятная история версий. Иногда возникает необходимость в какой-то части удаленного кода, по тем или иным причинам нужна прошлая версия.
  2. Непонятно, когда надо. Постепенно развиваясь, вы будете наращивать свое портфолио. В этот момент сложно оценить, когда контроль версий просто удобная приблуда, а когда бесценный помощник. Чтобы не обжечься, начните с самого начала.
  3. Помощь другим и расширение опыта. Коллеги увидят процесс образования программы, принципы ее работы, назначение той или иной функции. Возможно, ваше решение принесет им ценный опыт.

Ошибка №5: не использовать преимуществ Open Source

Некоторые новички думают, что разработка проекта с открытым исходным кодом, это сложное и не оплачиваемое занятие только профессионалов. Правда в том, что вы пишите библиотеку для своей задачи, выкладываете ее на GitHub и вуаля – ваш первый Open Source проект доступен всем участникам. Это просто.

Преимущества для новичков:

  1. Портфолио. Показывайте работодателям свой профиль на GitHub. Это полноценное портфолио. Чем больше проектов вы поддержали или выложили, тем выше шанс, что вас заметят и оценят.
  2. Участие в больших и известных проектах. NGINX, Chromium, Linux – возможно, вы оставите свое имя в истории этих проектов. Это шикарная строчка для резюме, а также хороший опыт работы с огромными проектами.
  3. Дисциплина. Если код доступен всему миру, то оформлять его надо в соответствии со стандартами. Отступы, описания методов и классов, методология, понятные имена переменных. Учиться писать чистый код нужно с самого начала, и Open Source станет идеальным вариантом.

Ошибка №6 безоговорочно доверять интернету

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

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

Самая серьезная ошибка: не отдыхать

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

Заключение

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