Skip to content

Latest commit

 

History

History
32 lines (18 loc) · 8.2 KB

IT-тренды.md

File metadata and controls

32 lines (18 loc) · 8.2 KB

IT тренды

Date: 19 May 2021


Особенностью IT-сферы является постоянная смена тенденций, ведь и мир не стоит на месте. Ещё вчера все учили ООП, спорили о включении принципа абстракции и сокрытии инкапсуляции. А уже сегодня - вспоминают монады, чистые функции и неизменяемость. Как быть востребованным специалистом на рынке? Кто-то может спорить о полном или узком стеке технологии, однако, даже на это появился свой тренд. Итак, самое важное - следить за трендами. И вот что я думаю об этом...

T-Shaped

Это как раз те люди, которых добивает синдром самозванца и они пытаются из узких специалистов стать full-stack и наоборот. Ситуация, когда человек знает что-то достаточно глубоко, но при этом не перестаёт развиваться в других технологиях и расширяет кругозор - это и есть T-shaped специалист. Спрос на таких специалистов растёт из-за их универсальности.

Backend development

Проходит пора, когда разработка серверной части - это только иерархии классов. Рынок любит проверять гипотезы и делать это максимально быстро. Не нужно брать ASP.NET и пытаться на нём написать простенький REST, CRUD или business layer, когда есть Golang, Flask и, в конце концов, король всех прототипов - Node.js. Крупные фреймворки в основном используются корпоративным сегментом. Но это текущий тренд и он завершает свою эпоху. Рынок перенасытился поверхностными специалистами, которые сосредоточены на технологии прототипов. Здорово, что все научились программировать и эти тенденции дали бизнесу новый опыт - помимо скорости, нужна повсеместная оптимизация. Теперь неинтересно писать и поддерживать огромные монолиты, когда можно построить проект на микросервисной архитектуре, закинуть в контейнер типа Docker или CRI и пустить его в оркестрацию k8s, swarm и так далее. Однако решения вроде Go, Deno и Erlang предполагают своё использование без контейнеризации. Если с первыми двумя всё более понятно (серьёзные инструменты прототипирования), то интересной технологией здесь является функциональный язык Erlang, теперь достаточно обладать базовым математическим аппаратом (научиться строить конечные автоматы) и быстрое прототипирование поможет создать серьёзное решение с которым мало кто сможет тягаться в производительности. Всё это привело нас к тому, что текущий тренд backend технологий - быстрое и эффективное выполнение задач с минимальным потреблением ресурсов и бесконечным потенциалом масштабирования. Так появились Cloud Functions. А высокопроизводительный код остался за кулисами и обосновался в IoT-решениях, ведь вам же нравится, когда микроволновка может сказать что-то голосом Алисы и продолжать при этом работать дальше?

Итог: бессерверные приложения - тренд на ближайшие несколько лет, на своих позициях уверенно остаётся IoT и прототипирование.

Frontend development

Когда-то давно HTML, CSS и JavaScript жили в мире, пока корпорации не решили захватить сегмент веб-приложений. Так появились TypeScript и Flow, Angular и React, а также аутсайдеры вроде Vue и Ember. Но тренд на подобные решения стал падать. Причина такая же как и на backend - перенасыщение рынка специалистами прототипов, хотя спрос на них не перестаёт падать и вряд ли перестанет. Основной фокус всей frontend разработки на сегодняшний день - это производительность. Если недавно вы отвечали на интервью чем Virtual DOM лучше DOM, приготовьтесь рассказать, чем DOM лучше Virtual DOM, ведь в игру вступают компилируемые фреймворки по типу Svelte. Да, Redux - классная технология, которая показала, что конечные автоматы на frontend имеют право на жизнь, так появился Xstate, однако, основная тенденция - не код внутри фреймворка, а сам фреймворк. Монолиты на React уже показали низкую эффективность при масштабировании, Webpack предоставил Module Federation, кто-то начал распиливать код на bundles и закидывать их в npm-пакеты, но смысл остался тем же - микрофронтенды. Да, в docker эту штуку не закинуть. Но распилить огромный frontend проект стало новым трендом, причём на микровиджеты на том же Svelte. Да ещё и с крутой системой сборки Vite, Snowpack. И с крутым менеджером пакетов, например, pnpm. А если надо что-то производительное писать, то это конечно WASM. Естественно, с применением подходов вроде PWA и SSR.

Итог: погоня за производительностью и распиливание монолитов - основной тренд frontend разработки на ближайшее время.

DevOps

Настроить Jenkins для запуска автоматики, а также написать пару Shell скриптов - это, конечно, весело. Но теперь это умеют и системные администраторы. А большая часть автоматики настраивается с помощью графических интерфейсов, стараясь минимизировать Yaml-конфигурации, например Azure DevOps. Какие тренды? Всё просто - машинное обучение, облака и вообще инфраструктура как сервис. Рост сегмента безопасности в виде SecOps.

Согласны?