Факторы, мешающие junior-разработчику достичь большего успеха, и как с ними бороться

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

Кaк определить уровень веб-разработчика

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

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

Оценить качество кода можно по двум показателям:

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

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

Помимо соответствия кода указанным параметрам, есть еще ряд качеств, отличающих профессионалов от новичков. В разных источниках списки разнятся, но в них прослеживаются общий вектор — необходимо прокачивать: любопытство, знание области, ответственность, умение работать в команде. Видно, что основная масса свойств относится к софт скиллам и мало касается именно профессии в техническом смысле. В качестве вывода можно отметить, что веб-разработчику скорее нужно мыслить в направлении: «Каким мне нужно стать», а не пытаться вычленить истину из холиваров о том, что лучше — React или Angular.

Веб-разработчик: составляющие профессионализма

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

Личностная зрелость

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

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

Интерес

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

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

Опыт и портфолио

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

Углубиться в тонкости будет легче, если выбрать узкую нишу, так как материалов будет значительно меньше, чем при изучении большого стека технологий. В последнее время часто слышно о fullstack-разработчиках — многие стремятся к тому, чтобы создавать сайты в одиночку и знать максимум инструментов. У такого подхода есть существенный минус — предельно малый процент fullstack смогут стать профессионалами во всех областях. Зачастую, возникает ситуация, когда разработчик лучше разбирается во frontend, а в backend проседает.

Востребованность

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

Распространенные ошибки начинающих IT-шников

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

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

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

Заметили ошибку? Выделите ее и нажмите Ctrl+Enter, чтобы сообщить нам.

26.08.2019
44
Автор: Ася Яскер