Важность обучения новым технологиям

Мир программного обеспечения постоянно меняется очень быстрыми темпами. Вчерашние аксиомы могут быть завтрашними антипаттернами.

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

Единственная уверенность в том, что мы не знаем, что принесет нам будущее.

Вот частичный список новых технологий за последние годы:

1. Блокчейн
Само собой разумеется, что блокчейн имеет хороший шанс разрушить мир, как мы знаем сегодня.

2. Ренессанс машинного обучения
Увеличение аппаратных возможностей принесло новую волну инструментов и разрушения во многие отрасли, которые используют преимущества машинного обучения.

3. Контейнеры
Теперь гораздо проще развернуть автономные изолированные компоненты в облаке. Контейнерная инфраструктура оркестрации, которую раньше имели только такие гиганты, как Google, теперь общедоступна для всех (сейчас король здесь — Kubernetes, но будущее наверняка принесет новые инструменты).

4. Веб-сборка
Мотивация — иметь один универсальный байт-код, который будет использоваться не только в браузерах, но и во всем (рабочий стол / смартфоны / бог знает).
Эта технология преобразует мобильность программного обеспечения между платформами.

5. Ржавчина
Один из самых инновационных языков программирования, когда-либо изобретенных,
Rust делает системное программирование настоящей радостью. Самый любимый язык программирования в опросах Stack Overflow за последние 4 года.

6. Эликсир
Решение сделать виртуальные машины Erlang (называемые BEAM) массовыми, в основном благодаря их Ruby-подобному синтаксису и отличным инструментам.

7. Без сервера
Зачем развертывать контейнеры в облаке, если нам нужна только одна функция, которая не должна работать 24×7?

8. GraphQL
REST API не идеален для каждой проблемы, многие модели данных на самом деле выглядят лучше в виде графика, и этот протокол прекрасно с ними работает.

9. Redis
Инновационная база данных ключ-значение с таким количеством структур данных.
Самая любимая база данных в опросах Stack Overflow за последние 3 года.

10. Кафка
Распределенный журнал фиксации, который служит единой точкой истинности системных данных. Это позволяет очень легко добавлять / удалять независимых производителей / потребителей для нашей системной архитектуры.
Благодаря Kafka легко выбрать пункт пропуска и «Переигрывать» исторические данные.

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

Я всегда любил (и до сих пор люблю) учиться.

Я люблю читать технические книги (у меня слишком много).

Я люблю читать красивые кусочки исходного кода.

Я всегда ищу способы быть более продуктивными и выйти из своей зоны комфорта.

Но я думаю, что есть одна важная вещь, которую люди часто упускают из виду, и это важность отучивания вещей.

Отмена обучения означает, что мы должны признать, что может быть более одного решения для данной проблемы, и это решение может быть для нас нелогичным.

Это также требует смирения и готовности начать все сначала, чтобы обрести новую перспективу и расширить наш инструментарий.

Давайте рассмотрим приведенный выше список технологий:

1. Блокчейн
Чтобы понять, как работают технологии блокчейна, мы должны забыть о централизованной модели посредников.

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

3. Контейнеры
Контейнеры разрушили мир DevOps и являются основной причиной взрыва архитектуры микросервисов. Без них мы бы остались с более монолитными системами.

4. Веб-сборка
Откроет много возможностей, очевидным является использование новых языков программирования для Frontend Programming. Другой мир возможностей будет использовать библиотеки WebAssembly и использовать их в наших приложениях. Например, программа Rust, которая будет запускать среду выполнения WebAssembly, на которой размещаются другие программы wasm, которые изначально были закодированы в Golang / Swift / other).

6. Эликсир
Пусть это потерпит крах Философия Эрланга просит нас принять неизвестное и что все сломается и подготовится к ним с самого начала.

7. Без сервера
Просит нас перестать думать только об услугах, но и об отдельных функциях. Это открывает новые возможности для экономии денег, так как мы платим только за использование функции (которая может быть недоступна 24×7).

8. GraphQL
Требует от нас признать, что REST не всегда лучший для каждого сценария и что иногда на самом деле есть график. (Лично я считаю, что начинать с REST API и постепенно переходить к GraphQL менее рискованно для проекта «зеленого поля»)

9. Redis
Требует от нас представления данных во многих других формах: ключ-значение / хэши / набор / сортированные наборы / списки и т. Д.

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

Отучиться — это непрерывная внутренняя борьба. Если все сделано правильно, это может стать огромным стимулом, а если нет, то мы рискуем упустить возможности роста.

«Изменение в перспективе приносит 80 баллов IQ».

— Алан Кей



Источник: Важность обучения новым технологиям


Похожие материалы по теме: Важность обучения новым технологиям

Leave a comment