Full-Stackers мира, услышьте: давайте объединимся и создадим посредственную продукцию!

После полусырого исследования Google можно увидеть, что термин и название «Full-Stack Developer» существовали с тех пор, как ранние языки программирования компилировались буквально из ничего, начиная с начала 70-х и 80-х годов. Эти люди создавали сам стек, владели им, поэтому вполне логично, что они называли себя тотальными или полными стекерами.

Этот термин снова стал известен примерно в 2014 году, и сейчас он популярен как никогда. Вы можете увидеть это в резюме или профилях LinkedIn, которые вы просматриваете в свободное время, или в объявлениях о вакансиях компаний, пока вы ищете следующую работу. Продолжаются споры о том, что должно представлять название или должно ли вообще быть такое название, и я считаю, что деконструкция того, как этот термин воспринимается, является хорошим представлением нашей повседневной жизни; не только для разработчиков, но и для каждого человека, который пытается зарабатывать на жизнь.

Надуманный вы говорите? Перестань быть таким полным стеком и потерпи меня.

У этого повествования есть две стороны; один от работодателя и один от работника.

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

  • Хороший дизайн — повествование. Вам нужен рассказчик, который имеет опыт геймификации повествования, чтобы игра могла рассказывать непринужденную историю, одновременно вызывая привыкание. то же время
  • Художественное оформление — красивые объекты/графика. Вам нужен художник, имеющий опыт проектирования элементов пользовательского интерфейса, сосуществующих с пользовательским интерфейсом и соответствующих повествованию. в то же время гладкий с точки зрения создания активов, которые вызовут призыв к действию
  • Техническая игровая механика, работающая с точностью часового механизма: вам нужны инженеры-программисты, которые воплотят идею идеальной игры, которую вы задумали, в реальность. Они должны иметь особый опыт работы с движком или платформой, на которой вы планируете создавать свою игру, и должны иметь достаточные знания в области кодирования для серверной части, интерфейса, игровой механики и общей архитектуры.

В идеальной разделенной рабочей структуре ваша команда будет состоять из:

  • Отдел дизайна: гейм-дизайнер, дизайнер повествования, дизайнер пользовательского интерфейса, дизайнер пользовательского опыта.
  • Художественный отдел: цифровой художник 2D/3D.
  • Технический отдел: разработчик игр, бэкенд-разработчик, фронтенд-разработчик

Если эта команда мечты, которую вы собрали, имеет подтвержденный послужной список в соответствующих областях, единственное, что может помешать вам создать хитовую игру, — это наладить связь между членами команды для эффективной работы и привести их к победе ( в этом случае публикация, монетизация и данные исключаются, конечно, это другая история). Ваша команда работает слаженно, чтобы добиться наилучшего результата; как завораживающий оркестр и ты в роли дирижера! Хотя дирижирование с вышеупомянутой идеальной структурой может показаться легкой задачей, не каждый в мире может быть Зубином Метой, и не у всех есть в распоряжении Венский филармонический оркестр. Кстати, очень рекомендую Новогодний концерт 2007. Теперь вернемся к полнофункциональному найму.

Как дирижеру вам нужно сыграть концерт, и вам не хватает активов, например. барабанщик и гитарист. Именно здесь в игру вступают игроки с полным стеком; с единственной предпосылкой довести дело до конца. Полный стек, который утверждает, что играет на барабане и на гитаре, входит в уравнение и дает вам обещание играть на обоих инструментах с легкостью. Поскольку вам предстоит концерт, вы не можете тратить время на поиски двух отдельных виртуозов игры на барабанах и гитаре, к тому же вам нужно довести дело до конца, поэтому вы скажите: «Хорошо, полный стек, ты не виртуозно играешь на барабанах или на гитаре, но ты в порядке, так что пошли». Как и почти все в жизни, это решение сопряжено с компромиссом, и как дирижеру вы должны мириться с результатом.

Хватит музыкальных метафор, возвращаясь к технике.

Изменение нарратива на рассказ сотрудника;

  • Инициализация степени бакалавра… Готово.
  • Разбор онлайн-курсов… Сделано.
  • Размещение саморекламного резюме… Готово.
  • Анализ объявлений о вакансиях… Готово.
  • Ищем самоуничтожающиеся зависимости…

Я могу только пожелать, чтобы процесс наемного работника мог быть развернут в иерархическом порядке, похожем на код, как тот, который я написал выше, но все мы знаем, что это не так (за исключением последней строки кода, конечно, психическое здоровье - это реальная проблема). Что мы также знаем без единого сомнения, так это тот факт, что точка зрения работодателя, которую я продемонстрировал ранее в виде оркестрового сценария, играет важную роль в том, как потенциальные сотрудники выбирают свой карьерный путь. Когда работодатель находится на грани выгорания из-за сжатых сроков, он, как правило, соответствующим образом курирует вакансию. Они публикуют сообщения в надежде нанять человека, который пообещает что-то сделать, тогда как на самом деле этим занимаются целые отделы. По сути, это брачный звонок разработчика полного стека в форме объявления о вакансии.

Некоторые работодатели, как правило, в этом преследовании «изящнее», чем другие, называя вакансию не полноценным разработчиком, а что-то более обманчивое, например, младшая позиция.

Когда дело доходит до технологий, коллективные ноу-хау и практическая реализация программного обеспечения как услуги достигли определенного уровня сложности, когда для человека почти невозможно даже заявить, что он / она отлично владеет одним языком программирования после 30 лет. лет практики, не говоря уже о списке языков или архитектуры. Чтобы дать вам представление о том, насколько сложно быть в курсе последних событий, я собираюсь использовать Java в качестве примера. Интервал между выпусками Java от J2SE (1998 г.) до Java8 (2014 г.) составляет 2,5 года, а от JavaSE9 (2017 г.) до последней версии JavaSE17 (2021 г.) — 7 месяцев. Я даже не рассматриваю специальные библиотеки, зависимости и вопросы компиляции.

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

Должны ли мы взять наши факелы и сплотить всех фулстекеров из нашей рабочей среды? Не совсем.

Независимо от того, являетесь ли вы работодателем или наемным работником, можно утверждать, что полная рабочая среда может быть полезной в зависимости от бизнес-модели, которую вы имеете в виду, и активов, которыми вы владеете; это было бы справедливо, как и в случае с печально известной сенсацией мобильных игр Flappy Bird.

Еще в 2014 году, когда мобильные игры все еще были в некоторой степени под вопросом, Донг Нгуен сам разработал игру Flappy Bird за несколько дней, и в итоге игра стала хитом как на iOS, так и на Android с точки зрения количества загрузок. Теперь возникает вопрос: можем ли мы назвать Нгуена полноценным разработчиком? Ну да, потому что он кодировал и создавал ресурсы сам, но нет, потому что игра в любом случае не требовала такого большого опыта в соответствующих областях. Это была бесконечная летающая игра с аркадной графикой; Итак, Нгуен сел и полностью уложил лоскут птицы. То, что сделал Нгуен, может быть лучше определено как интегратор, и эта интеграция также не нуждалась в полном стеке. Нгуен был опытным инженером-программистом; он знал риски и проблемы, с которыми он столкнется при разработке, и он объединил необходимые знания, чтобы просто сделать это правильно для своей конкретной игры.

Будучи интегратором, понимание всего цикла разработки требует большого терпения, а также практического опыта работы с необходимой технологией, чтобы получить представление о характеристиках, которые помогут интегратору создать эффективную рабочую среду. Грибовидное распространение full-stack разработчиков и работодателей, требующих работы отдела от отдельного лица, может быть вызвано отсутствием в их структуре опытного интегратора, подобного Nguyen и Flappy Bird; которые могут понять и контролировать требования для выполнения работы. Наличие способного интегратора устранило бы необходимость в рабочей структуре типа «один человек-армия» и прозрачно изложило бы потребности рабочей среды потенциальным сотрудникам, чтобы они могли в конечном итоге стать экспертами в своих областях, а не пытаться стать бессмертными. Возвращаясь к музыкальным метафорам; человек не может быть виртуозом во всех инструментах оркестра, но он может иметь опыт в теории музыки и работать интегратором, чтобы направить нужного человека на правильный инструмент.

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

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

Приветствую всех людей, которые работают над треугольником, и интеграторов с полным стеком, которые помогают сохранить надежду на треугольник!