المسؤوليات الرئيسية: تصميم وتطوير وصيانة خدمات الواجهة الخلفية في بيئة الإنتاج باستخدام Python وFlask. بناء وتوثيق واجهات برمجة التطبيقات (REST APIs) التي تستهلكها تطبيقات الواجهة الأمامية والأنظمة الخارجية. تطوير وتحسين معالجة المهام غير المتزامنة والموزعة باستخدام Celery وRedis، بما في ذلك المهام طويلة الأمد والقابلة لإعادة المحاولة. العمل مع PostgreSQL وSQL وSQLAlchemy لضمان استمرارية البيانات ونماذج بيانات التطبيق. فحص وتحسين استعلامات قاعدة البيانات وأداء تطبيقات الواجهة الخلفية. تطوير وظائف معالجة البيانات وتحويلها والتحقق منها وتكاملها. تصميم آليات مناسبة لمعالجة الأخطاء وتسجيل البيانات والتحقق منها وإدارة الاستثناءات.
المؤهلات المطلوبة: خبرة مهنية لا تقل عن 5 سنوات في هندسة البرمجيات، منها 4 سنوات على الأقل في بيئة إنتاج باستخدام Python. خبرة عملية قوية في Flask أو إطار عمل مشابه مثل FastAPI أو Django، مع بناء وتشغيل واجهات برمجة التطبيقات REST. خبرة في معالجة المهام الموزعة باستخدام Celery ووسطاء الرسائل مثل Redis أو RabbitMQ، بما في ذلك استكشاف أخطاء أحمال العمل غير المتزامنة وإصلاحها. خبرة قوية في PostgreSQL أو أي قاعدة بيانات علائقية أخرى مع تصميم نماذج البيانات والعلاقات. خبرة عملية في SQLAlchemy أو ORM مشابه. معرفة قوية بـ SQL والقدرة على فحص وتحسين استعلامات قاعدة البيانات. خبرة في تصميم وكتابة اختبارات الوحدة والتكامل، بما في ذلك محاكاة التبعيات الخارجية، ويفضل استخدام pytest. كفاءة في مكتبة pandas وخبرة في معالجة تنسيقات البيانات المهيكلة مثل JSON أو YAML أو CSV أو Excel. أساسيات قوية في JavaScript وTypeScript، مع القدرة على المساهمة في تطوير الواجهة الأمامية عند الحاجة. خبرة في Git والتطوير القائم على طلبات السحب (Pull Requests)، بما في ذلك مراجعة الكود والمساهمة في التصميم الفني والقرارات المعمارية. خبرة في Docker وبيئات التطوير القائمة على Linux وأتمتة CI/CD. المؤهلات المفضلة: تعتبر الخبرة في أي من المجالات التالية ميزة إضافية: خبرة عملية في Angular. خبرة في قواعد البيانات الرسومية مثل Neo4j. خبرة في العمل مع تطبيقات المؤسسات الكبيرة وقواعد الكود الناضجة التي تحمل ديوناً تقنية قائمة. خبرة في AWS أو بيئات الاستضافة السحابية الأخرى. خبرة في أنظمة CI/CD مثل GitHub Actions. خبرة في تحليل أداء التطبيقات وتحسينه. خبرة في توثيق واجهات برمجة التطبيقات باستخدام Swagger / Open API. خبرة في أنظمة المصادقة والتفويض، بما في ذلك SSO. خبرة في ممارسات الترميز الآمن وإدارة الأسرار.
Key Responsibilities Design, develop, and maintain production backend services in Pythonusing Flask. Build and document REST APIs consumed by web front-end clients andexternal systems. Develop and optimize asynchronous / distributed task processing using Celery with Redis, including long-running, retry-safe, idempotent jobs. Work with Postgre SQL, SQL, and SQLAlchemy for data persistence andapplication data models. Investigate and optimize database queries and backend applicationperformance. Develop data-processing, transformation, validation, and integrationfunctionality. Design appropriate error handling, logging, validation, and exceptionmanagement mechanisms.
Required qualifications5+ years of professional software engineering experience, including 4+years of production Python experience. Strong hands-on experience with Flask, or a comparable Python webframework such as Fast API or Django, building and operating REST APIs. Experience with distributed task processing using Celery and messagebrokers/backends such as Redis or Rabbit MQ, including troubleshootingasynchronous workloads. Strong experience with Postgre SQL or another relational databasedesigning relational data models and database relationships. Hands-on experience with SQLAlchemy or a similar ORM. Strong SQL knowledge and the ability to investigate and optimize databasequeries. Experience designing and writing unit and integration tests, includingmocking external dependencies, preferably using pytest. Proficiency with pandas and experience processing structured dataformats such as JSON, YAML, CSV, or Excel. Solid Java Script and Type Script fundamentals, with the ability tocontribute to front-end development when needed. Experience with Git and pull-request-based development, includingreviewing code and contributing to technical design and architecturaldecisions. Experience with Docker, Linux-based development environments, and CI/CD automation. Preferred Qualifications Experience in some of the following areas would be considered an advantage:Hands-on experience with Angular Experience with graph databases, such as Neo4j. Experience working with large enterprise applications and maturecodebases carrying existing technical debt. Experience with AWS or other cloud-hosted application environments. Experience with CI/CD systems such as Git Hub Actions. Experience with application performance profiling and optimization. Experience with API documentation using Swagger / Open API. Experience with authentication and authorization systems, including SSO. Experience with secure coding practices and secrets management.