# Технології

Інструмент — це засіб. Клієнт купує судження, яке обирає правильний, і
дисципліну, яка дає ним добре керувати. Але ви спитали, з чим ми працюємо, —
тож ось воно, і кожен рядок підкріплений роботою в [портфоліо](/uk/portfolio/).

## Мови та середовища виконання

**Python** для роботи з даними, автоматизації та сервісів. **Go** там, де мають
значення один статичний бінарник і мале споживання. **TypeScript** і сучасний
JavaScript на вебрівні. **SQL** як повноцінна мова, а не те, що генерує ORM, —
більшість роботи з продуктивністю, на яку нас кличуть, живе саме там. **Bash**
для склейки, написаний так, щоб його читали.

## Дані

**PostgreSQL** — наш типовий вибір, і ми заходимо з ним дуже далеко, перш ніж
тягнутися до чогось іншого: партиціонування, реплікація, розширення та
планувальник запитів. Ми також обслуговуємо **MS SQL Server**, **BigQuery**,
**SQLite** і **Redis**, а поверх того — просторовий набір: **PostGIS**,
**QGIS**, **GDAL** та **ArcGIS**. Конвеєри будуються так, щоб їх можна було
безпечно перезапустити, бо питання після інциденту завжди одне: чи можемо ми
програти це наново.

## Хмара та інфраструктура

**Google Cloud** і **AWS**, з **Azure** там, де клієнт уже живе в ньому.
**Linux** під усім — Debian і Ubuntu. **Docker** і **Kubernetes** для
навантажень, які їх заслуговують, і звичайні юніти systemd для тих, які ні.
**Ansible** і **Terraform** описують машини, тож середовище є документом, а не
археологічним проєктом. **Caddy** і **nginx** попереду.

## Життя у продакшені

**Prometheus** і **Grafana** для метрик, структуроване журналювання для решти та
сповіщення, які спрацьовують на симптомах, помітних користувачеві, а не на
кожному сіпанні графіка. CI-конвеєри, які збирають, тестують, сканують і
розгортають без людини в циклі. Резервні копії зроблені — і відновлення
перевірені.

## Вебрівень

Спершу статика, де вона пасує, бо сторінка, яка є файлом, — це сторінка, яка не
впаде: **Hugo** збирає цей сайт. **Django** і **PHP** там, де є застосунок, який
треба віддавати. Семантичний HTML, написаний вручну CSS і доступність як
вимога, а не як зауваження аудиту.

## Як ми обираємо

Нудна технологія, обрана свідомо, виграє в новітньої, обраної за звичкою. Ми
обираємо під задачу, під те, чим ваша команда зможе керувати після нашого
відходу, і під те, як річ ламається, а не як вона демонструє. Коли правильна
відповідь — той стек, який у вас уже є, ми так і кажемо; а коли ні — кажемо й
це, із записаним обґрунтуванням.

Цей сайт — власний розв'язаний приклад: [сторінка подяк](/uk/credits/) називає
кожну технологію за ним, аж до гарнітури й інструмента резервного копіювання.

Якщо вам потрібен підрядник із позицією, а не зі списком уподобань,
[розкажіть, що ви будуєте](/uk/contact/) *(і ми будемо їх обстоювати)*.

<https://engineer.company/uk/tech-stack/>
