> DOU
middle
The Gravity AgencyBackend Engineer
format:Hybridcompany:Outsource
pythonfastapisqlalchemypostgresqlpostgismongodbredisrabbitmqkafkadocker
gdalasynciowebsocketspytestalgorithms
> full description
Привіт!
Ми шукаємо досвідченого Backend розробника на Python для розробки та підтримки геоінформаційної системи в Дніпрі.
Основні обов’язки:
- розробка та підтримка backend-частини на основі FastAPI з використанням REST API та веб-сокетів;
- проектування та оптимізація баз даних на PostgreSQL/PostGIS для роботи з геопросторовими даними;
- робота з сокетами та веб-сокетами для забезпечення обміну даними у реальному часу;
- використання GDAL для обробки та аналізу геоданих;
створення масштабованих ефективних сервісів для обробки великих обсягів даних; - забезпечення безпеки та оптимізації API;
- розробка автоматизованих тестів для підтримки якості коду;
- взаємодія з командою frontend-розробників для інтеграції API та потоків даних;
- участь у проектуванні архітектури системи;
- підтримка і вдосконалення існуючого коду.
Що важливо:
- досвід розробки на Python від 3 років;
- впевнене володіння FastAPI, SQLAlchemy;
- глибокі знання PostgreSQL і PostGIS для роботи з геопросторовими даними;
- досвід роботи з MongoDB, Redis, RabbitMQ, Apache Kafka;
досвід роботи з GDAL та іншими бібліотеками обробки геоданих (Shapely, Fiona); - знання принципів роботи з сокетами та веб-сокетами (asyncio, websockets);
- розуміння та застосування принципів побудови REST API;
- розуміння мікросервісної архітектури та принципів розподілених систем;
- досвід оптимізації запитів до баз даних і роботи з великими обсягами даних;
- навички роботи з Docker для контейнеризації додатків;
- досвід роботи з системами контролю версій (Git);
- досвід написання тестів (pytest або подібні);
- глибокі фундаментальні знання алгоритмів, структур даних;
- англійська мова на рівні розуміння документації.
Для проєкту є важливими:
- здатність розбивати складні задачі на менші підзадачі, визначати основні проблеми та знаходити оптимальні рішення;
- вміння знаходити найбільш ефективні за швидкістю, продуктивністю чи використанням ресурсів рішення;
- здатність генерувати нестандартні ідеї та підходи до вирішення завдань;
- здатність приймати зважені рішення в умовах браку повної інформації або в стислих термінах;
- вміння швидко знаходити та усувати помилки;
- ефективна комунікація при обговоренні технічних проблем, здатність пояснити своє рішення іншим учасникам проекту.
Компанія пропонує:
- Компенсацію 50% від вартості курсів іноземної мови та занять спортом;
- гібридний графік;
- Оплачувану відпустку та лікарняні.