Описание
Роль разработчика — создавать качественные технические решения для задач, поставленных Engineering Manager и Product Owner. Работает в команде, как и другие разработчики. Пишет тестовый и production код хорошего качества с минимальным контролем. Обладает знаниями для использования правильного паттерна проектирования в нужный момент и следует лучшим практикам, таким как SOLID и DRY, с минимальной поддержкой.
Задачи
•Имеет достаточные знания для создания программных приложений, используя соответствующие языки разработки и применяя знания систем, сервисов и инструментов, подходящих для бизнес-области.
•Имеет достаточные знания для написания читаемого и переиспользуемого кода, применяя стандартные паттерны и используя стандартные библиотеки.
•Имеет достаточные знания для рефакторинга и упрощения кода путём внедрения паттернов проектирования при необходимости.
•Имеет достаточные знания для обеспечения качества приложения, следуя стандартным методам тестирования, соответствующим стратегии тестирования.
•Имеет достаточные знания для поддержания безопасности, целостности и качества данных, следуя стандартам компании и лучшим практикам.
•Имеет базовые знания для владения сервисом от начала до конца: активный мониторинг работоспособности и производительности приложения, настройка и отслеживание метрик, реагирование при их нарушении.
•Имеет базовые знания для снижения рисков непрерывности бизнеса и bus factor, применяя современные практики и инструменты, а также составляя документацию (runbooks, OpDocs).
•Имеет базовые знания для снижения рисков и получения обратной связи от клиентов, используя continuous delivery и фреймворки экспериментирования.
•Имеет базовые знания для самостоятельного управления приложением или сервисом, работая с развёртыванием и операциями в production.
•Имеет базовые знания для оценки возможных архитектурных решений с учётом стоимости, бизнес-требований, технологических требований и новых технологий.
•Имеет базовые знания для описания последствий изменения существующей системы или добавления новой системы в определённой области, обладая широким высокоуровневым пониманием инфраструктуры и архитектуры систем.
•Имеет базовые знания для помощи в развитии бизнеса и/или ускорении разработки ПО, применяя инженерные техники (прототипирование, спайки, оценку вендоров) и стандарты.
•Имеет базовые знания для удовлетворения бизнес-потребностей, проектируя решения, которые соответствуют текущим требованиям и адаптируемы для будущих улучшений.
•Имеет базовые знания для устранения проблем в production, минимизируя влияние на клиентов в рамках SLA.
•Имеет базовые знания для повышения общей надёжности систем через долгосрочные решения на основе root cause analysis.
•Имеет базовые знания для отслеживания инцидентов, участвуя в процессах postmortem и логировании текущих проблем.
•Имеет достаточные знания для систематического выявления паттернов и скрытых проблем в сложных ситуациях и поиска решений, применяя логическое и аналитическое мышление.
•Имеет достаточные знания для конструктивной оценки и развития идей, планов и решений, объективно рассматривая внешние знания, инициируя 'SMART' улучшения и аргументируя их.
•Имеет достаточные знания для выявления возможностей улучшения процессов, систем и структуры (повышения производительности), анализируя текущие процессы, методы и стандарты.
•Имеет достаточные знания для проектирования и внедрения соответствующих улучшений, определяя адаптированные/новые процессы, стандарты и практики, способствующие бизнес-показателям.
•Отвечает за поддержание безопасности, целостности и качества данных, следуя стандартам компании и лучшим практикам, а также направляя младших членов команды в этом вопросе.
•Имеет достаточные знания для предоставления чёткой, структурированной и значимой информации целевой аудитории, используя подходящие средства коммуникации и язык, адаптированный к аудитории.
•Имеет достаточные знания для достижения взаимовыгодных решений, сохраняя адаптивность, ясно и последовательно выражая идеи и практикуя активное слушание.
•Имеет достаточные знания для задавания релевантных (уточняющих) вопросов, чтобы полноценно участвовать в разговоре и понимать собеседника, применяя техники слушания и рефлексии.
Требования
•Знакомство с построением программных приложений
•Знакомство с End-to-End System Ownership
•Знакомство с проектированием программных систем (Software Systems Design)
•Опыт эффективной коммуникации
•Знакомство с непрерывным улучшением качества
•Опыт критического мышления
Условия
Условий в вакансии нет.