@agafonovfit
Frontend немного Backend

Устроился работать Junior Frontend и попал в ад, что делать?

О себе:
Мне 31 год живу в Москве. Решил сменить кардинально профессию с врача на frontend. Верстка, React, redux, нативный js и полный комплект стандартных инструментов к этому.
За 3 недели нашел себе работу Junior Frontend. На собесе пообщались рассказали про проект - это что-то типа конструктора срм / сложных корпоративных систем по принципу low-code, но проект старый.

Написан на бустрапе, jqerry, бэк на node, некоторые виджеты на реакте. Ну я и подумал, что пофигу на var, jQerry и кучу сторонних библиотек типа bluebird для асинхронности. Главное первый опыт, главное взяли. Мне дали доступ к платформе, и я сижу 4 день в шоке.

Тут очень хитрая система: чтобы разработать приложение в платформе-ты задаешь классы, свойства, методы, строишь взаимосвязи, таблицы, словари, типы данных для метода, FOREIGN KEY колекции (типа наследования классов). Затем Вся инфа идет на сервер и преобразуется в базу данных и код приходит к тебе в клиент уже сгенирован. Ну к примеру класс с 7 методами это 4000 строк кода)). Затем выбираешь формы и начинается Ад, потому что нужно как-то выводить данные в формы и строить бизнес логику. Код пишешь на самой платформе, код уходит на сервер с ним что-то проходит)))

Ад в том, что это вообще не типичный фронтэнд. По сути есть объекты в которые обворачивается твой код. Чтобы понять какие данные приходят из инпута нужно танцы с бубном танцевать (типа this.total.console.log() и ответ в консоль приходит в виде объекта) или чтобы сделать запрос в базу с ФРОНТА, ты создаешь объект с настройками и кидаешь в функцию. Нельзя навесить обработчики событий, они заданы в системе в виде глобальных методов на которые я не могу посмотреть.

Ну то есть я даже не могу код посмотреть, чтобы понять какой метод вызывать, и как классы наследуются. Ну то есть оно происходит где-то там "под капотом". Соответственно любое обращение к методу это асинхронная задача. Документации почти нет, комментариев к коду нет, так как сервер генерит структуру фронта из тех параметров которые ты задал, а твоя задача строить бизнес логику между классами и методами и выводит в формы.
Мне дают простую задачу "жмешь эту кнопку, а в этом окне появляется инфа с сервера", которую бы за 15 минут бы решил на реакте, нативном жс, а тут я вожусь один день, чтобы вообще понять как "достучаться до метода класса"

Я понимаю, что тут стек технологий какой-то непонятный, что хотел бы все таки упор делать react (на гите 5 приложений написано, со всеми плюшками типа хуки, редакс, сага, базу данных firebase юзаю), typeScript, node js то что сейчас востребовано, а не работать с легаси кодом.

Это мой первый опыт. У меня прям ступор, что мне делать? Учиться и получать заветный "коммерческий опыт", но древние технологии? или что? Подскажите плиз Ваше мнение, мне больше у кого спросить
  • Вопрос задан
  • 728 просмотров
Решения вопроса 2
Aetae
@Aetae Куратор тега JavaScript
Тлен
1. Сырцы на всё должны быть. Обязательно. Если нет - то только валить. Если есть - всегда можно разобраться, написать автоматизацию лично для себя и пинать хуи - тут переходим к пункту 2.
2. Сколько платят и сколько дают времени на задачу? Если ответ "нормально" и "много" - см. пункт 1, нарабатывается стаж, а свободное время тратится на развитие. Иначе - валить.)
Ответ написан
@twolegs
Сложно сказать, насколько это вообще ад.
Да, возможно стек старый, но с архитектурной точки зрения приложение может быть сделано хорошо.
Ваша проблема сейчас в том, что вы в какой-то мере начали понимать типичный реакт стек, но не видели мира за его пределами.
Приложения на реакте, как правило, это пример плохой архитектуры. В реакте есть какие-то общие практики, но сейчас вы не можете сказать хороши они или нет, потому что вы не работали с другими.
Мой совет - продолжить работать и попытаться понять глобально как работает продукт, какие архитектурные паттерны и решения в нем используются.
Когда вы пройдете стадию отрицания и разберетесь в том, как все работает, у вас будет два пути - либо вы поймете что код на самом деле не так плох, и почерпнете для себя несколько хороших идей, либо окончательно убедитесь что код и в самом деле говно, но с полноценным набором причин, а не теми, что вы описали. Сейчас ваше описание выглядит просто как неаргументированная паника разработчика, который столкнулся с чем-то отличным от базового стека. Анализируйте, изучайте. То, как не надо делать - это тоже хороший опыт.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
saboteur_kiev
@saboteur_kiev
software engineer
А почему вы считаете, что это старые технологии?
Везде уже давно кричат, что скоро программисты будут не нужны. Будут нужны люди, которые пишут пару строк в табличках, потом все уходит на какой-то сервер и возвращается готовой программой. И документация потеряна 100 лет назад.

Вот вы и попали в проект будущего..
Поработайте полгодика, потом расскажете как там в будущем...
Ответ написан
Mesuti
@Mesuti
Все в порядке, вольетесь.
4 дня не срок, работодатель закладывает время на адаптацию + с junior спрос небольшой.
То что уже умеете оценивать ситуацию, это хороший плюс.
Ответ написан
Комментировать
@axel777999
Подскажите, сколько времени заняла переквалификация и обучение? Как обучались? Буду признателен за ответ, очень актуально для меня.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы