Какими задачами и обязанностями занимается frontend-разработчик в ходе работы над реальными проектами?

Я работаю как junior frontend разработчик уже немного больше года в одной команде, и заметила, что большая часть задач, с которыми я сталкиваюсь, связана с инфраструктурой. Это включает настройку тестов, CI/CD, работу с OLAP CUBE и оптимизацию запросов к базе данных. Хотя я понимаю важность этих задач, они вызывают у меня чувство уныния, так как изначально я стремилась работать с интерфейсами, пользовательским опытом и макетами. 

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

Интересно, это такая ситуация везде, или имеет смысл рассмотреть возможность смены места работы? Я не ожидаю, что в каждой компании мне будут предлагать смузи и гироскутеры, но мне действительно хотелось бы больше заниматься задачами, связанными с интерфейсами, было бы здорово, если бы хотя бы 50% моей работы включало в себя такие задачи.
  • 7 апреля 2025 г. 10:35
Ответы на вопрос 4
Ситуация, с которой вы сталкиваетесь, довольно распространена, особенно для junior frontend-разработчиков. В разных компаниях и командах роли могут существенно различаться, и ассортимент задач, которые выполняет frontend-разработчик, может варьироваться.

### Основные задачи и обязанности frontend-разработчика:

1. **Разработка пользовательских интерфейсов (UI)**: создание интерфейсов с использованием современного стека технологий (HTML, CSS, JavaScript, фреймворки, такие как React, Vue или Angular). Зачастую это включает работу с макетами и дизайнами.

2. **Оптимизация пользовательского опыта (UX)**: разработка интуитивно понятных интерфейсов и улучшение взаимодействия с пользователем.

3. **Адаптивная верстка**: обеспечение корректного отображения интерфейса на различных устройствах и экранах с использованием принципов responsive design.

4. **Кроссбраузерная совместимость**: обеспечение корректного отображения веб-приложения в разных браузерах.

5. **Тестирование**: написание юнит-тестов и интеграционных тестов для обеспечения стабильности и качества кода.

6. **Работа с API**: интеграция с бэкенд-сервисами, передача и получение данных.

7. **Оптимизация производительности**: работа над проблемами, связанными с производительностью, включая оптимизацию загрузки ресурсов.

8. **Код-ревью**: участие в процессе проверки кода коллег, обмен знаниями и улучшение качества написанного кода.

### Возможные причины выполнения инфраструктурных задач:

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

2. **Структура компании**: В некоторых компаниях есть четкое распределение задач, где младшие разработчики могут получать более технические и инфраструктурные задачи с целью обучения.

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

### Что делать дальше:

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

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

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

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

В конечном итоге, важно понимать, что каждая компания имеет свою культуру и подход к разработке, и, возможно, именно вы сможете найти ту, которая будет более соответствовать вашим ожиданиям и интересам.
Настройка тестов, CI/CD, OLAP CUBE, оптимизация запросов к БД
- это важно для фронтенда знать, что такое просто есть) явно вас не тем загружают.
Если вы недовольны текущими задачами, то обсудите их с вашим прямым руководителем, узнайте какие дальнейшие планы или запланированный пул задач. Если уж перспектива вас не устраивает, то меняйте место работы.
С резким ростом популярности React Server Components и Next.js в последнее время происходит некий сдвиг в понимании, что такое фронтенд. 
BFF уже почти становится неотъемлемой частью "фронтенда", и становится обременительно разделять браузер и сервер на разные команды.
На Западе, вообще, уже очень давно и макетами, и вёрсткой, и анимациями очень часто занимается один человек - дизайнер, фронтендеры занимаются связкой браузер + BFF, а бэкендеры занимаются более сложной бизнес-логикой.
К тому же, джуниорам зачастую дают те задачи, которыми сами не хотят заниматься, и на что нет времени. Т.е. это что-то занудное, работа с legacy, передвижение кнопки на 5px влево и т.д. Крайне редко джуниорам дают интересные творческие задачи. Не факт, что вам на новом месте не дадут такие же неинтересные задачи.
Вы можете либо молча сильно стараться в надежде, что вам потом дадут что-то интересное, заметив ваше рвение, либо, лучше всего, пообщаться по-человечески с коллегами и начальством, объяснив, что вы рветесь в бой, а вас в тылу держат. Попросите рассказать об их планах на ваш счёт.
Не исключено, что у вас как раз хорошо получается "Настройка тестов, CI/CD, OLAP CUBE, оптимизация запросов к БД", и поэтому вам эти задачи и дают)
В общем, человеческое общение с коллегами очень часто решает проблемы.
Если же вы к ним придёте с открытой душой, а вас токсично отошьют, вот тогда подумайте о смене работы.
Похожие вопросы