Как повысить базовые знаний архитектуры?

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

Суть:
Работаю в небольшом городе России 200+ населения, в веб студии, зарплата для своего региона достаточно высокая, 50 000р.
У себя на работе стек HTML, CSS, JS + PHP на уровне создания тем, модулей под WP, Opencart, Modx, ....другие cms.
Т.е по сути работа достаточно галлерная, но интересная в плане заказов, интересные фичи, верстка. В компании только cms, таких "гигантов как Symfony и Laravel" нет, да и в принципе душа лежит не лежит к бэку, нравится именно фронт и клиентская часть.
К самой работе притензия одна - нет роста, а если нет роста - не растет и зарплата.
К сожалению на весь город 2 вакансии Реакта и Вью, PHP в роли WP и Битрикса, и пару вакансий C# middle+ и сеньора джавы. + остальное это студии с меньшим количество зарплаты(раза в 2). Сам студент( еще 1,5 года учиться), поэтому релокейт в крупный город пока не светит. Пытаюсь уже месяц выйти на удаленку и соскочить с студии, но фронт джунов - очень мало вакансий на удаленку, больше требуют мидлов. Либо - прошел на 2 собеседования, но не понравилось то, что та же галера что у меня, т.е помощи и вопросов не дождешься, проблемы так же решаются через стак, подсказать пишу ли говнокод или нет - некому.

Как пытаюсь решить проблему:
На работе за 2 года поднял скилы на хороший уровень, спокойно работаю с нативным js + jquery. Но сам понимая что стагнирую плотно сел за пет проекты, в качестве либы\фрейма взял react, сейчас подсел на next. В бэк сильно не лезу, поэтому в качестве бэка беру пока что сервисы вроде firebase. Спокойно сделал пару проектов вроде сервисного центра с авторизацей, пагинацией, фильтрацией, drag-n-drop и прочими приблудами - в целом было сложно, но стак, тостер и гугл решают все проблемы.

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

Далее гуглю дальше, понимаю что прокидывать пропсы через все приложение не тру, для этого существует контекст, создаю контекст, оборачиваю в него в него все приложение, и далее беру напрямую. Опять переписываю "всё" приложение.

И вот таких моментов 1000 и 1 поиск по гуглу и стаку. Всё собирается по крупицам. Это не говоря о том что я только что узнал что есть такие вещи как интерцепторы, записывание определенных ключей в env, и еще куча примеров. Всё отрывками, и очень скомкано.

Вопрос: есть ли на ютубе каналы, или хорошие книги, которые будут показывать как всё таки правильно делать архитектуру для таких примеров, и как не наступать в говнокод? Рассазывают почему именно так, а не иначе?
Про паттерны проектирования, про ООП вообще молчу, так как не понимаю как это применяется. Из паттернов применял пока только observer, и то на уровне mobx и под его либой.

Буду рад любым советам.
  • Вопрос задан
  • 1232 просмотра
Пригласить эксперта
Ответы на вопрос 5
saboteur_kiev
@saboteur_kiev Куратор тега IT-образование
software engineer
И вот таких моментов 1000 и 1 поиск по гуглу и стаку.

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

Продолжай делать как делаешь. Много практики, много гугления. Можно смотреть чужой код, но тут проблема в том, что чужой код, для того чтобы понять его смысл, нужно не посмотреть, а хорошо вникнуть, а это время. Поэтому надо выбрать 1-2 опенсорс проекта и с ними разобраться, там уже изнутри, будет понятно где архитектура хорошая (и почему и для чего сделано было так), а где "исторически сложилось" или "срочно надо было заделать".
Ответ написан
Комментировать
@Kirill-Gorelov
С ума с IT
Похожий вопрос, на который я так же отвечал
Где найти книги или курсы по PHP, где даётся проектирование приложений с учётом ООП?

А вообще, я считаю, что работа в вебстудии, это самое лучше (пока), что случалось со мной случалось в плане прокачки скилов, задач полно, разнообразные. Постоянно новые решения. И с опытом, когда решаешь похожие задачи начинаешь видеть лучшие решения, как улучшить, как не гавнокодить в очередной раз.......
Просто некоторые вещи приходят с опытом......

Тут понимаешь, нету как такового дельного совета, качай скилы, пока есть возможность. И на удаленку в Москву или еще куда.

Тебе пока наверное лет 20, может чуть больше, семьи своей нету? Тогда совет, который я бы дал себе двадцатилетнему.....
Забей на телочек, забей на гулянки, самообразовывайся. Учи английский, учи одну-две технологии, фреймворка и стремись выйти на ЗП в раза три больше чем сейчас. Сложно будет, сложно отказаться от девок, от гулянок, но оно потом все оправдается.....

Потом и девчата появятся и деньги, и все-все что нужно......

Извини за разброс мыслей.... мне еще работать сейчас....
Ответ написан
Комментировать
Думаю стоит попробовать поискать решение вашей проблемы в социально-процессной плоскости.

На работе за 2 года поднял скилы на хороший уровень, спокойно работаю с нативным js + jquery. Но сам понимая что стагнирую плотно сел за пет проекты

А что говорят на этот счёт люди, принимающие решение в вашей веб-студии? Если никто не использует инструменты, которые вы считаете эффективными, почему бы вам не быть первым?

Совет может быть немножко вредный, раз вы только начинающий в реакте и вообще в разработке, но вреден он будет скорее для веб-студии, а не для вас.
Ответ написан
approximate_solution
@approximate_solution
JS Developer. Angular\React\Vue\Ember
Самый верный и правильный вариант - качнуть себя настолько, насколько возможно для pre-джуна. Сделать пет проект, довести его до ума, с ним идти на hh и долбиться на каждую вакансию.

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

А пока что к сожеланию вывод такой - сейчас на джуна накидывают работу мидла, поэтому в проекте где новичок должен делать логику вроде "условный рендеринг в зависимости от данных сервера", вывод модалки -> человек пишет говно-архитектуру и приложение как мотылек умирает, так как не расширяемо.
Ответ написан
Комментировать
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
Попробуй начать ходить по собесам в поисках дистанционных вакансий в своем стеке на позицию мидла. Как вариант даже лучше пойти в аутстафинговую компанию, там за пару лет можно пройти через несколько разных проектов и изнутри изучить и процессы, и архитектуру и вариации стека и пр. Параллельно можно читать книжки, смотреть ролики про архитектуру и далее развиваться в этом направлении.

Оффлайн отходит на второй план, сейчас многие компании научились в онлайн, что вообще снимает вопрос о географии.

На среднесрочную перспективу качай инглиш хотя бы до B2, тогда тебе откроется еще и зарубежный аутстафф с чуть более другими рейтами. :)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы