Краткий вывод из 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-ный код)