Первая работа, задачи и действия джуниора во фронтенд-разработке

Разговариваем с наставником Практикума

Первая работа, задачи и действия джуниора во фронтенд-разработке

Сегодня разбираем интересную тему: что ждёт джуниор-фронтендера на его первой работе. Мы пообщались с Даниилом Бердниковым, разработчиком в Яндексе и наставником Практикума, о том, какие типичные задачи бывают у новичков и как с ними справляться.

Типичная стартовая задача начинающего джуниор-программиста

Ситуация: представьте, что вы — джуниор-программист в ИТ-компании. И вам дали первую задачу: разобраться с мелким багом в коде. Вы ищете, прочитали уже всю документацию, почитали код, но никак не можете понять, где баг. 

Теперь что делать в такой ситуации.

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

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

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

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

Как быстро погрузиться в новый и незнакомый проект

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

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

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

Допустим, вы делаете определённую страницу — тогда посмотрите, как сделаны страницы соседние. Скорее всего, будет плюс-минус одинаковая структура, они выполняют плюс-минус одинаковые задачи, но всегда есть куда подсмотреть, чтобы понять, а как оно вообще работает.

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

Самые популярные задачи у джуниора во фронте

Отработка багов

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

Техническая вёрстка

Если мы говорим о коммерческих сайтах, то это вёрстка огромного количества страниц и элементов. Условно, вам приносят картинку (или ссылку на Фигму) и говорят сделать так же, но уже в вебе. Это достаточно механическая работа, она относительно несложная и как раз уровня джуниор-разработчиков.

Технически это HTML, CSS плюс JS, потому что большая часть вёрстки является сейчас интерактивной, там могут быть и более сложные анимации или параллаксы. Мало ли что дизайнеры напридумывали. А ещё там могут быть базовые задачи валидации, интерактивности (типа открыть-закрыть, переключить вкладку) — и это всё закрывает JavaScript. 

Работа с шаблонами и CMS

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

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

Что не стоит делать начинающему разработчику

Что плохо повлияет на репутацию, на развитие, либо и на то, и на другое вместе.

Грохнуть историю коммитов в репозитории

Это абсолютный лидер среди того, что новички могут сделать случайно.

Как это происходит:

  • вы получили свою первую задачу;
  • склонировали репозиторий; 
  • радостно кинулись решать задачу;
  • потом сделали commit, сделали push, а репозиторий говорит, что нет, что-то нельзя, там что-то есть;
  • но вы это не прочитали, вы увидели там параметр «используйте force».

И вы такие push --force туда. Всё, история коммитов стирается, а потом сеньоры всё пытаются восстановить. Через это прошли все команды и большое количество джунов.

❗️ Забудьте про push --force, не используйте до тех пор, пока не будете знать, что это и зачем это нужно. Просто будьте сначала внимательны, не спешите. Очень многие приходят и начинают сразу бросаться на амбразуру, спешить, пытаться быстрее сделать. Сначала познакомьтесь с системой, с кодом и всегда принимайте продуманные решения.

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

Игнорирование корпоративных стилей и правил

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

Непрошенное улучшение

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

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

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

Неуважение к другим профессиям

Ещё одна важная проблема — неуважение к смежникам, которые работают с вами в команде. К сожалению, бывает предвзятое отношение к дизайнерам, проект-менеджерам, тестировщикам. Здесь важно научиться понимать, что все эти люди вместе с вами работают над проектом, выполняют свою важную роль. 

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

Про харды и софты

Софты качаются медленно, а вот харды — это то, что придёт с опытом.

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

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

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

Вам слово

Приходите к нам в соцсети поделиться своим мнением о статье и почитать, что пишут другие. А ещё там выходит дополнительный контент, которого нет на сайте: шпаргалки, опросы и разная дурка. В общем, вот тележка, вот ВК — велком!

Обложка:

Алексей Сухов

Корректор:

Елена Грицун

Вёрстка:

Мария Климентьева

Соцсети:

Юлия Зубарева

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
А вы читали это?
easy