Описание работы
Компания TaxBit ищет опытного инженера-программиста для проектирования, разработки и поддержки сложных современных приложений, которые предоставляют клиентам элегантные, согласованные и эффективные функциональные возможности. В этой роли вам предстоит тесно сотрудничать с кросс-функциональными командами для создания инновационных решений, соответствующих бизнес-целям и потребностям пользователей. Идеальный кандидат будет отвечать за построение масштабируемых систем и сервисов, которые бесшовно интегрируются с существующими платформами, обеспечивая высокую производительность и надежность. Вы также внесете вклад в общую стратегию продукта, сотрудничая с дизайнерами и менеджерами продуктов для определения лучших практик разрабатываемых инструментов, уделяя внимание пользовательскому опыту и техническому совершенству. Для этой должности требуется глубокое понимание жизненного цикла разработки программного обеспечения и способность предоставлять высококачественный код в установленные сроки.
Ключевые обязанности
- Разработка и поддержка сложных приложений с использованием современных технологий и фреймворков, обеспечивая соответствие требованиям клиентов по функциональности, производительности и масштабируемости.
- Сотрудничество с дизайнерами и менеджерами продуктов для преобразования бизнес-потребностей в технические спецификации, совершенствуя инструменты и процессы для оптимального пользовательского опыта и эффективности системы.
- Написание чистого, хорошо документированного и поддерживаемого кода, соответствующего лучшим практикам, включая читаемость, тестируемость и соблюдение принципов проектирования ПО.
- Участие в ревью кода для обеспечения его качества, выявления потенциальных проблем и обмена знаниями внутри инженерной команды, включая анализ производительности, безопасности и поддерживаемости.
- Решение сквозных задач в нескольких системах и сервисах, самостоятельная отладка, оптимизация и улучшение существующих решений при взаимодействии с другими инженерами для преодоления технических сложностей.
- Отслеживание новых технологий и трендов отрасли для постоянного совершенствования процессов разработки и предоставления передовых решений, отвечающих растущим запросам клиентов.
- Участие в создании технической документации, включая спецификации API, руководства пользователя и диаграммы архитектуры системы, для обеспечения ясности и удобства использования для стейкхолдеров.
- Поддержка внедрения методологий гибкой разработки (Agile), включая ежедневные стендапы, планирование спринтов и ретроспективы, для своевременной поставки качественного ПО.
- Применение практик непрерывной интеграции и поставки (CI/CD) для автоматизации тестирования, развертывания и мониторинга, обеспечивая надежную и масштабируемую доставку приложений.
- Сотрудничество с QA-командами для проектирования и выполнения тест-кейсов, гарантируя соответствие всех функций требуемым стандартам качества и ожиданиям пользователей.
Требования к кандидату
- Подтвержденный опыт разработки сложных приложений на языках программирования, таких как Python, JavaScript или Java, с глубоким пониманием ООП и принципов проектирования ПО.
- Знание современных фреймворков для веб-разработки (React, Node.js, Django) и умение реализовывать масштабируемые, безопасные и поддерживаемые решения.
- Понимание технологий баз данных (PostgreSQL, MongoDB, MySQL), включая оптимизацию запросов, моделирование данных и интеграцию с логикой приложения.
- Опыт работы с облачными платформами (AWS, Azure, Google Cloud), включая развертывание, настройку и управление масштабируемой инфраструктурой и сервисами.
- Отличные навыки решения проблем, способность отлаживать, устранять неполадки и оптимизировать сложные системы с акцентом на производительность, надежность и безопасность.
- Владение системами контроля версий (Git), включая стратегии ветвления, совместную работу над кодом и поддержание чистоты истории коммитов.
- Способность работать самостоятельно и в команде в условиях сжатых сроков, с высокой степенью ответственности за результаты.
- Отличные коммуникативные навыки для эффективного взаимодействия с кросс-функциональными командами, презентации решений и документирования процессов.
- Внимание к деталям и умение писать чистый, структурированный и поддерживаемый код в соответствии со стандартами и лучшими практиками.
- Опыт работы с CI/CD-конвейерами (Jenkins, Travis CI, GitHub Actions) для автоматизации тестирования, развертывания и мониторинга.
- Знание методологий тестирования ПО (юнит-тесты, интеграционные тесты, end-to-end тесты) для обеспечения высокого качества и надежности.
- Способность анализировать технические требования, преобразовывать их в функциональные спецификации и эффективно реализовывать в коде.
- Опыт работы с DevOps-практиками и инструментами Infrastructure as Code (Terraform, Ansible) для управления масштабируемыми системами.
- Понимание системной архитектуры и умение проектировать масштабируемые, безопасные решения, интегрируемые с существующими платформами.
- Навыки тайм-менеджмента и приоритезации задач для соблюдения сроков проекта.
- Владение гибкими методологиями и адаптивность к изменениям требований в динамичной среде.
- Знание разработки и интеграции API (RESTful, GraphQL) для обеспечения взаимодействия между системами.
- Способность работать с кросс-функциональными командами (дизайнеры, менеджеры продуктов, QA-инженеры) для создания целостных пользовательских решений.
- Понимание жизненного цикла разработки ПО и умение отслеживать прогресс с помощью инструментов (Jira, Trello).
- Опыт работы с контейнеризацией (Docker) и оркестрацией (Kubernetes) для развертывания масштабируемых приложений в production.