Программист
Wymagane:PythonPHPLaravelGraphQLGitDockerSenior
Доработка существующего кода ( Python, Django, PHP, Laravel )
- Анализ архитектуры и кода проекта. Изучение структуры приложения, выявление узких мест, дублирования кода, неэффективных решений и потенциальных проблем с безопасностью;
- Исправление ошибок и багов. Локализация и устранение проблем в уже написанном коде;
- Оптимизация производительности. Анализ и улучшение скорости работы приложения, снижение нагрузки на сервер;
- Рефакторинг. Улучшение читаемости и поддерживаемости кода без изменения его внешнего поведения;
- Миграции базы данных. Обновление схемы базы данных при изменении моделей Django (Laravel);
- Интеграция с внешними системами. Подключение к API других сервисов, баз данных, сторонним API;
- Обеспечение безопасности. Внедрение защиты от распространённых угроз (SQL-инъекции, XSS, CSRF);
- Документирование. Создание технической документации, комментирование кода;
Создание нового функционала
- Проектирование архитектуры. Разработка высокоуровневых дизайн-решений для новых функций и систем, выбор технологий и инструментов;
- Написание чистого и эффективного кода. Реализация новых возможностей с соблюдением лучших практик и стандартов;
- Разработка API. Создание REST API или GraphQL для взаимодействия с фронтендом или внешними системами;
- Работа с ORM. Взаимодействие с базой данных через Django ORM, проектирование моделей данных. Интеграция с внешними сервисами. Подключение к внешним API, обработка данных для отображения на сайте.
- Тестирование и отладка. Написание юнит-тестов и интеграционных тестов, выявление и исправление ошибок.
- Автоматизация рутинных задач. Написание скриптов для упрощения разработки и поддержки.
Дополнительные задачи
- Поддержка и сопровождение. Долгосрочная поддержка и техническое обслуживание бэкенд-части приложения;
- Работа с системами контроля версий. Например, Git, для совместной работы и управления кодом;
- Деплой. Развёртывание приложения на сервере, работа с Docker и docker-compose
Требования:
- высшее профессиональное (техническое или экономическое) образование и стаж работы по направлению профессиональной деятельности не менее 1 года;
Базовые технические навыки:
- Python: уверенное владение языком, понимание ООП, структур данных, исключений, контекстных менеджеров, генераторов, итераторов. Для Middle/Senior понимание того, как работает интерпретатор на базовом уровне (GIL, управление памятью, импорты);
- Django Core: модели, миграции, ORM, представления (FBV/CBV), шаблоны, формы, валидация, админка, middleware, сигналы, настройки проекта;
- HTTP и веб-фундаменты: методы запроса, статусы, куки, сессии, заголовки, CORS, принципы REST;
- Базы данных и SQL: PostgreSQL (чаще всего в продакшене), индексы, транзакции, связи, нормализация, базовые планы выполнения запросов. Умение писать и читать SQL-запросы, понимать, где ORM генерирует лишние JOIN и как это оптимизировать
Требования
- высшее профессиональное (техническое) образование и стаж работы по направлению профессиональной деятельности не менее 1 года;
Высшее образование — специалитет, магистратура; Опыт: 1 лет