Про мой взгляд на фронтенд-разработку и профессиональные ценности
В своём блоге мне важно говорить не только о чисто технических вещах, но и транслировать мотивации, цели и ценности того, чем я занимаюсь. Я считаю, что для профессионала эти вещи не менее важны, чем уровень скиллов. Хочу в нескольких тезисах поделиться своим видением, которое я вывел для себя за годы карьеры:
0️⃣ Программирование не должно быть самоцелью
Фронтенд — это не только про код, архитектуру, фреймворки, сборщики и линтеры. Всё это должно в конечном итоге служить на благо пользователей и помогать им эффективно решать свои задачи, приносить пользу продукту и бизнесу, а не становиться карго-культом для разработчика.
1️⃣ Приносить пользу проще всего в стартапах
Я делал разные проекты: «франкештейны» из нескольких слоёв легаси, большие энтерпрайз-сервисы с устоявшимися подходами к архитектуре и разработке, однако больше всего мне нравится пилить стартапы и стартовать проекты с нуля, выстраивая процессы разработки. Так я максимально закрываю свою потребность в творчестве и чувствую самое прямое влияние на результат.
2️⃣ Важно быть не только глубоким экспертом в чём-то одном, но и разбираться в смежных областях
От сильного разработчика требуются не только отличные хард-скиллы, но и умение разбираться в других смежных областях. Это умение поможет понимать общий контекст, быть способным принимать взвешенные решения и вести эффективную коммуникацию со всеми участниками процесса разработки. У такого подхода к развитию компетенций есть своё название из agile: T-shaped специализация. T-shaped специалист обладает глубокой экспертизой в одной области знаний, но выбирает несколько смежных областей для дополнительного развития. Для меня такие области — это UI/UX, проектирование продукта, управление людьми и процессами, IT-инфраструктура.
3️⃣ Если вокруг нет профессионалов — нужно валить
Я приводил это правило в действие на нескольких проектах, и ни разу не пожалел об этом. Если люди вокруг не разделяют моих ценностей, то в какой-то момент я начну саботировать процесс, лишь бы не погрязнуть в общем болоте, так что правильно будет уходить сразу, как только понимаешь, что серьёзно работать здесь никто не хочет.
4️⃣ Техническая часть должна быть на высоком уровне
И хоть программирование не должно быть самоцелью и единственной экспертизой, технические навыки обязаны быть на высоком уровне. Ведь это главный инструмент, с помощью которого я могу приносить пользу. Важно никогда не прекращать обучаться, уметь выходить из зоны комфорта и браться за неизвестное, иметь несколько решений одной и той же проблемы, быть способным обоснованно выбирать лучшее.
5️⃣ Не стоит жалеть время на улучшение UX
Интерфейс — это способ коммуникации пользователя с программой. И именно фронтенд определяет то, насколько эффективной будет эта коммуникация. Не стоит жалеть время на изучение и применение того, что может эту коммуникацию улучшить — механизмы рендеринга элементов на странице, скорость загрузки и отображения контента, плавность и производительность анимаций, троттлинг и дебаунс событий, оптимистичный UI и доступность — всё это и много чего ещё может критически повлиять на впечатления, которые пользователи будут получать от коммуникации с программой. Тщательно проработанный UX выгодно отличит моё приложение от приложений конкурентов, а от плохого UX бизнес будет терять деньги и доверие клиентов.
6️⃣ В работе должны быть ещё какие-то мотивации, кроме денег
Для меня принципиально важно, какую проблему решает продукт. Если я не буду чувствовать, что своей работой, как бы это банально не звучало, я делаю мир лучше, то меня не заманит жирный оффер или набор плюшек от работодателя. Но работа не должна превращаться в благотворительность — если продукт приносит реальную пользу, то на это должна указывать финансовая состоятельность компании. Успешный бизнес сможет позволить себе профессиональных сотрудников, а профессиональные сотрудники смогут позволить себе успешный бизнес.
***
Поделитесь, что для вас является главными профессиональными ценностями в работе?
Post #65
1.35K
- 👍 27
- 🔥 8
- 👏 2