«Полный стек» - заблуждение

Я не плодовитый блогер. Я бы даже не сказал, что я плодовитый разработчик. Я отец, мне нравится готовить и строить вещи из дерева, и я зарабатываю на жизнь написанием javascript. И у меня уже почти 14 лет - почти половина моей жизни.

Несмотря на то, что я не часто публикую контент и не участвую в Stack Overflow столько, сколько прокручиваю комментарии, я, как правило, создаю и фиксирую свою справедливую долю кода, что и было за последние полтора десятилетия.

За это время я видел, как «Полный стек» пронизывает нашу отрасль. Я бы определил Full Stack как одного разработчика, одновременно выполняющего две работы для одной компании: Frontend и Backend. Для меня это заблуждение, и вот почему.

Но сначала я хотел бы рассказать немного о своем опыте разработки javascript и о том, как я видел, как «Full Stack» соотносится с языком, на котором я сделал карьеру.

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

Ванильный javascript и jQuery были королем. Следующей революционной вещью для Javascript Frontend будут псевдо-фреймворки, такие как Backbone и Handlebars. Но со временем такие фреймворки, как Angular и React, сделали Frontend необходимой позицией в команде, а такие вещи, как Node и PouchDB, узаконили javascript на Backend. Сам Javascript становился «полным стеком».

Мои друзья и коллеги, которые любят исследовать, начали пересекать черту между Frontend и Backend, в то время как я все глубже погружался в пиксели. Компании, желающие нанять двух разработчиков по цене одного, поймали ветер и вообразили команду, в которой один разработчик может практически беспрепятственно переходить от базы данных к бизнес-логике, пикселям и обратно.

Сначала я считал это невозможным. Я имею в виду, что независимо от того, используют ли оба Frontend и Backend javascript, это совершенно разные точки зрения. Разрабатывать бэкэнд - это все равно, что представлять себе, как разобрать автомобиль и собрать его снова, прежде чем это будет даже визуализировано. А развиваться во внешнем интерфейсе - все равно что рисовать самую красивую картинку в мире с помощью психологии.

Я не говорю, что один человек не может быть чрезвычайно методичным и невероятно артистичным. Или что искусство не может быть методичным, а методический подход не может быть художественным. Я ЕСМЬ говорю, что переключение между этими двумя режимами на ежедневной или даже ежечасной основе день за днем ​​может сделать что-то, что уже является сложным и тонким, даже более сложным.

На моей последней должности я впервые в карьере проводил почти все свое время в Backend. На самом деле я никогда не проводил НИКАКОГО времени в Backend, но больше года я писал API, уровни нормализации, сторонние интеграции с использованием Node и архитектурные структуры баз данных с использованием PSQL. И вот что интересно, временами я также создавал сложные интерфейсные компоненты с помощью React.

Я Был 👏 А 👏 Полный 👏 Стек 👏 Разработчик 👏

Я стал тем, о чем не думал. Но вот что вам нужно. Я никогда не был одним человеком, выполняющим две работы. Меня никогда не нанимали для выполнения двух целых работ. Я никогда не переключался между двумя образами мышления изо дня в день.

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

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