Краткий вывод из 2-х лет работы (+ поиска работы )на фронтенде.
~ 75 - 80 % вакансий достаточно однообразны, унылы и включают в себя набор из клиентского фреймворка (В порядке убывания популярности React, Vue, Angular, Svelte) с его архитектурой управления данными (Redux/ Vuex). Верстка - CSS Grid/ Flexbox, препроцессор не важен, обычно это Less, SASS, чуть реже - Stylus.
Решаемые задачи безблагодатны чуть более, чем совсем и состоят в сотворении web-приложений для управления корпоративной инфой (назначалки заданий и поручений, выдача списков с клиентами/ товарами/скриптами для продажников/ просмотр и редактирование разной отчетности, документов и прочей макулатуры онлайн или в интранете). Кровавый enterprise, хуле.
А теперь самое веселое, отчасти неприятное, но отчасти мотивирующее. Чем задача более уныла, тем скорее ее автоматизируют. Собсна, отчасти этот процесс уже идет, и на выходе мы видим Magento, Shopify и прочие приблуды, позволяющие разрабатывать однотипные платформы для е-скаммерсии посредством спецыально обученных пионэров. + Tilda, Wix и прочие конструкторы для zero-code написания совсем уж простеньких лендингов и визиток
И сейчас йа думаю, чем парировать эту угрозу.
1.Продвинутая визуализация.
Ближе всего по личному опыту/ предпочтениям. Создание компьютерной графики на базе веб-платформ, потенциально - также standalone-приложения на электроне (тож занятное направление, но об этом - в следующем выпуске).
Требования - понимание принципов 3D-графики. Из чего состоит модель, как описать в коде примитивы, формирущие собой модель (прямые, плоскости, точки, пересечения и проекцыи)?
Собсно, йа приступила к изучению Blender-а и радуюсь, что располагаю инженерным опытом SolidWorks/ Compas.
Математика - здесь нужно повторить азы линейной алгебры. Геометрический смысл скалярных и векторных произведений, понятие базиса и переходы между разными базисами, матрицы вращений и переносов.
Визуализация на клиенте - Canvas, более продвинутый уровень - webGL. Я начала изучение, но сейчас пришла к выводу, что для начала нужно погрузицо в 3D-моделирование. Патамушта надо понимать, ЧТО ты выводишь на экран (а еще есть анимация, и там все совсем дивно)
Отсюда косвенно выходят еще два направления.
- Python. На змеюке работает консоль Блендера (и при должно скилле можно писать фсякие макросы для рутинных операцый с моделями).
- Визуализацыя часто бывает нужна там, где есть большие объемы данных. Которые обычно обрабатывают все той же змейслой.
Направление два - это C/C++. Поскольку они лежат в основе GLSL, которым мы в shaderProgram-ах webGL позиционируем точки и красим фрагменты. + получи технология web assembly (написание отдельных функций на "быстрых" языках с импортом в виде "черных ящиков" в js-ный код)