Обновить

🏗️ Темы по архитектуре для инженеров ПО💪

Уровень материала: 🐓 #senior

Разгребая бэклог, добрался до поста канала S0ER с «темами по архитектуре, которые должны входить в архитектурный минимум каждого инженера». Структуризация, возможно, спорная, но это авторское видение, и если «душность» оставить за скобками, то ещё и очень хорошая система тегов для профессионального развития.

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

☝ Пользуясь случаем, напомню, что игры — это тоже ПО. А разработка ПО — инженерная дисциплина. У игр, несомненно, есть своя специфика, но она никак не отменяет всего остального инженерного бэкграунда. Особенно, когда работаешь не только на клиентской части.

🤓 Скорее всего, вся эта «техническая канитель» не нужна людям, которые идут в геймдев ради творчества и самореализации через инди-проекты в инди-командах. Но если ты осознаёшь себя программистом, осознаёшь геймдев своей специализацией, хочешь уметь разрабатывать более сложные продукты, развиваться как профессионал, расширять зону ответственности, приносить больше ценности для своей команды и, как следствие, в какой-то форме для себя, то (-записывайся на курс-) держи бесплатную верхнеуровневую роудмапу для расширения своих компетенций. Корреляция с игровыми проектами произойдёт сама собой по мере получения большего опыта в сфере.

🎥 Можно ещё побродить по YouTube-каналу S0ER'а. Видео не выходили давно, но контента там уже накопилось много. Например, я недавно пересматривал видео по KISS, чтобы освежить в памяти некоторые красноречивые пункты.

🕸 Схема в текстовом виде:

Архитектура:

|- Требования:

|---- Функциональные

|---- Нефункциональные

|---- Производные

|---- Пользовательские истории

|- Принципы:

|---- Границы: толстые, тонкие

|---- YAGNI

|---- KISS

|---- DRY

|- Подходы:

|---- Проектные

|---- Продуктовые

|- Методология:

|---- DDD: тактика, стратегия

|---- Agile: SCRUM, экстремальное программирование

|---- Waterfall: сверху вниз, снизу вверх

|- Процессы:

|---- Документирование: BPMN, UML

|---- Проектирование: ADR, C4

|---- Выпуск: версионирование, CI/CD

|- Уровень предприятия:

|---- ITIL

|---- PRINCE2

|- Облачная архитектура

|- Проектирование и разработка:

|---- Уровень кода:

|------- Шаблоны проектирования (GoF)

|------- Парадигмы:

|---------- ООП: SOLID, GRASP, DI

|---------- ФП

|---- Уровень приложения:

|------- Концепции:

|---------- Реактивная архитектура

|---------- Чистая архитектура

|---------- Порты и адаптеры

|---------- Feature Sliced

|------- Структура:

|---------- Монолит

|---------- Сервис

|---------- Микросервис

|---------- Микроядро/плагин

|------- Данные:

|---------- Потоки данных: CQRS, Конвейер/pipe, pub/sub, SAGA

|---------- Целостность: BASE, ACID

|---- Системный уровень:

|------- Данные: Data Lake, Data Mesh

————————————

#gamedev #development #architecture #roadmap #software #геймдев #разработка #архитектура #по #рекомендация

Теги:
Всего голосов 3: ↑1 и ↓20
Комментарии3

Как я, учась в айти, работаю на 15-тонном советском станке и автоматизирую его без CAM‑системы и комментариев

Мне 19. Днем я очный студент айтишник, а в остальное время — единственный человек в цеху, кто работает на 15-тонном советском горизонтально‑фрезерном станке ИР-500. Мозги у этого монстра под стать эпохе: древняя корейская стойка Fanuc 0-M 1982 года.

Сам ИР-500 — настоящий танк. По оси Z ездит сразу вся огромная чугунная коробка на рельсах.. А когда эта масса разгоняется, пол вибрирует, но сам станок стоит намертво. Он воспринимает дикие нагрузки на минимальных оборотах — как легкую прогулку.

Но есть проблема, передачу файлов через кабель он не поддерживает, CAM‑систему не подключить..
Для меня, привыкшего к созданию 3D‑моделей и визуализации всех траекторий в Fusion360 — было непросто адаптироваться.

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

Пока детали требовали обработки в пару проходов, было все отлично. Но потом...

Началось спагетти из g‑кода. Пошли заказы на глубокое торцевание (или более сложные траектории, но сегодня не об этом), где можно потратить пол смены на написание программы.

Как я, учась в айти, работаю на 15-тонном советском станке и автоматизирую его без CAM‑системы и комментариев

Публикации