Место работы: Кыргызская Республика, г. Бишкек
ОСНОВНЫЕ ТРЕБОВАНИЯ:
- Теоретические знания:
- Глубокое понимание принципов и основ объектно-ориентированного программирования (ООП).
- Знание основных паттернов проектирования.
- Языки программирования и технологии:
- Отличное знание Java
- Уверенное знание JavaScript.
- Опыт работы с TypeScript.
- Знание и опыт работы с Angular 2.0 (и выше).
- Опыт работы с Swagger (OpenAPI).
- Интеграция и взаимодействие:
- Опыт построения синхронных и асинхронных интеграционных взаимодействий.
- Навыки реализации интеграции со сторонними сервисами (REST API, JSON, XML).
- Инфраструктура и разработка:
- Опыт использования GitLab CI/CD, Flux CI/CD + Helm Chart.
- Опыт деплоя приложений в контейнеризированной среде (Docker, Kubernetes).
- Опыт работы с gitlab.
- Опыт работы:
- Опыт работы разработчиком Angular не менее 3 лет.
- Опыт работы разработчиком JavaScript не менее 3 лет (может пересекаться с опытом работы с Angular).
- Опыт работы с базами данных Postgresql. My SQД, Redis, Maria DB
- Опыт работы со статическим и динамическим анализом кода.
- Опыт работы по разработке скриптов Python/Bash.
Желательные навыки и опыт (плюсы):
- Публичные проекты:
- Участие в публичных проектах на GitHub (наличие собственных проектов, участие в известных командах или сообществах).
- Собственные репозитории:
- Наличие собственных репозиториев на целевых технологиях.
Личные качества:
- Аналитический склад ума.
- Способность к быстрому обучению.
- Умение работать в команде.
- Ответственность и внимательность.
- Коммуникабельность.
ОСНОВНЫЕ ОБЯЗАННОСТИ:
Разработка программного обеспечения:
- Основная задача - написание эффективного, чистого, поддерживаемого и хорошо документированного кода на одном или нескольких языках программирования в соответствии с требованиями проекта и стандартами компании.
- Обслуживание и масштабирование действующей системы компаний.
- Участие в разработке архитектуры программных систем, проектировании отдельных модулей и компонентов.
- Преобразование требований заказчика или технических заданий в работающий программный код.
- Интеграция разработанных компонентов с другими частями системы или внешними сервисами и API.
Тестирование и отладка:
- Разработка и написание юнит-тестов, интеграционных тестов и других видов автоматизированных тестов для обеспечения качества кода.
- Выполнение ручного и автоматизированного тестирования разработанного функционала.
- Поиск, анализ и устранение ошибок (багов) в программном коде.
- Совместное тестирование с владельцами бизнес процессов проверка соответствия, разработанного ПО требованиям.
Поддержка и сопровождение:
- Оперативное исправление ошибок, обнаруженных в рабочей системе.
- Отслеживание работы разработанного ПО, выявление и устранение проблем с производительностью.
- Внесение изменений в существующий код для улучшения его структуры, производительности и безопасности.
- Создание и обновление технической документации (комментарии в коде, технические спецификации, руководства пользователя и т.п.).
Участие в процессе разработки:
- Участие в анализе и уточнении требований к программному обеспечению.
- Оценка времени и ресурсов, необходимых для выполнения задач разработки.
- Активное взаимодействие с другими разработчиками, тестировщиками, аналитиками, менеджерами проектов и заказчиками.
- Посещение и участие в командных совещаниях, обсуждение технических решений и прогресса проекта.
- Просмотр кода других разработчиков и предоставление обратной связи.
Обучение и развитие:
- Постоянное изучение новых языков программирования, фреймворков, инструментов и подходов к разработке.
- Участие в тренингах, конференциях и других мероприятиях для повышения своих профессиональных навыков.
- Делиться своим опытом и знаниями с другими членами команды.