Виноградная улица 20А
### Общие ожидания
Приглашаем специалиста с широким техническим кругозором, способного решать задачи на уровне архитектуры и эффективно взаимодействовать со смежными командами. Ключевая специализация — веб-разработка, однако ожидается глубокое понимание смежных областей (операционные системы, сетевые протоколы, веб-серверы, низкоуровневое взаимодействие, аппаратное обеспечение, криптография, безопасность) для принятия взвешенных инженерных решений.
### Ключевые обязанности
- **Разработка экосистемы приложений:** проектирование и создание клиентских и внутренних веб-приложений, интерфейсов, а также сопутствующих инструментов автоматизации и интеграции.
- **Техническое развитие:** непрерывное изучение новых подходов, языков и инструментов, совершенствование собственных навыков и распространение экспертизы внутри команды.
- **Внедрение инноваций:** оценка и внедрение новых технологий, современных практик разработки, повышение качества и эффективности процессов.
### Пhофессиональные компетенции
**Базовый стек и экосистема**
- Глубокое понимание современного стека веб-разработки, основными технологиями являются JavaScript, HTML, CSS.
- Опыт работы с Vue.js (готовность разбираться в его внутреннем устройстве, а не только использовать API).
- Практическое применение Node.js для построения серверной логики, инструментов сборки, вспомогательных сервисов.
**Системные знания и инфраструктура**
- Уверенная работа в нескольких ОС: **Linux, FreeBSD, Windows** — администрирование, настройка окружения разработки, деплой и отладка.
- Глубокое понимание сетевых протоколов: **TCP/IP, DNS, DHCP, HTTP/HTTPS, TLS/SSL, WebSocket** — умение анализировать трафик, диагностировать проблемы, проектировать надёжные сетевые взаимодействия.
- **Практические навыки настройки веб-серверов и прокси:** конфигурирование **nginx** и **Apache**, настройка виртуальных хостов, балансировка нагрузки, проксирование (forward/reverse proxy), кэширование, оптимизация производительности и безопасность.
- Понимание аппаратных элементов компьютера: **архитектура процессоров** (x86, ARM), принципы работы **оперативной памяти** (иерархия, кэширование), устройство **дисковых подсистем** (HDD, SSD, NVMe, контроллеры) и влияние этих компонентов на производительность и надёжность программного обеспечения.
- **Понимание архитектуры операционных систем:** осознанное разграничение пользовательского пространства (userspace) и пространства ядра (kernelspace), принципы взаимодействия между ними, механизмы системных вызовов, управление памятью и процессами.
- Знание **алгоритмов шифрования** (симметричных, асимметричных, хеширование) и принципов их применения для обеспечения безопасности приложений и данных.
**Качество и инструменты**
- Опыт написания Unit-тестов, понимание роли тестирования в обеспечении надёжности ПО.
- Профессиональное владение Git, знание стратегий ветвления (Git Flow, ревью кода).
- Чёткое понимание **синхронных и асинхронных методов** программирования, умение выбирать подходящую модель для решения задач (коллбэки, промисы, async/await, реактивные потоки).
- **Понимание узких мест безопасности** и умение проектировать и разрабатывать приложения **с учётом защиты от утечек данных** (безопасное хранение секретов, валидация входных данных, защита от инъекций, управление доступом, безопасная обработка пользовательской информации).
**Личностные и командные качества**
Готовность работать в команде, конструктивно участвовать в обсуждениях, делиться опытом и влиять на технические решения.
- Ориентация на пользователя: желание создавать приложения, которые решают реальные задачи, и постоянно улучшать их с учётом обратной связи и бизнес-целей.
Будет преимуществом
- Опыт наставничества или технического лидерства в команде.
- Понимание принципов CI/CD, опыт настройки конвейеров сборки и деплоя.
- Знание дополнительных языков или фреймворков (TypeScript, React, Python, Go, Rust) как подтверждение широты кругозора.
- Практический опыт низкоуровневой разработки (драйверы, модули ядра, системное программирование).
- Опыт работы с криптографическими библиотеками (OpenSSL, libsodium и др.).
- Опыт проведения аудита безопасности кода.
- Размер заработной платы будет обсуждаться индивидуально с каждым кандидатом на интервью.