عنوان شغلی: مهندس داده / ETL
شرح موقعیت
بهدنبال مهندسی داده با تجربهٔ عمیق در طراحی و راهاندازی پایپلاینهای داده هستیم. تمرکز نقش بر ساخت «شاهراه داده» از منابع متنوع، تضمین کیفیت و امنیت، و آمادهسازی داده برای کاربردهای جستوجو، تحلیل و مدلهای زبانی است. محیط کار چابک است و خروجیهای شما مستقیماً روی قابلیتهای محصول اثر میگذارد.
مسئولیتها
- طراحی و پیادهسازی پایپلاینهای استاندارد: Ingestion → Cleaning/Normalization → Serving.
- ایجاد لایههای داده (Bronze/Silver/Gold)، ذخیرهسازی بهینه (Parquet/JSON/CSV) و مدیریت نسخهپذیری دیتاستها.
- طراحی و اجرای جریانهای برداری برای RAG/جستوجو: chunking، انتخاب embedding، ساخت ایندکس (pgvector/FAISS/Milvus) و پایش کیفیت.
- ارکستراسیون، زمانبندی و مانیتورینگ پایپلاینها (Prefect/Airflow)، مدیریت خطا و بازیابی.
- تعریف Data Contracts، مستندسازی شفاف (schema، owner، SLA)، و ایجاد Data Catalog/Lineage.
- کنترل کیفیت داده با تستهای خودکار (range/type/uniqueness)، آلارم و گزارشدهی.
- پیادهسازی سیاستهای امنیتی و محرمانگی (PII filtering، دسترسی ردیفی/ستونی، Audit).
- همکاری نزدیک با تیمهای بکاند و مدل برای تعریف رابطهای پایدار و دادهٔ قابلاعتماد.
الزامات
- حداقل 4 سال تجربهٔ حرفهای در مهندسی داده/ETL و تحویل سیستمهای درحالکار.
- تسلط به SQL پیشرفته و یکی از پایگاههای رابطهای (ترجیحاً Postgres).
- تجربهٔ عملی با یکی از ابزارهای ارکستراسیون (Prefect یا Airflow).
- کار با S3/شیءاستور (S3/MinIO)، نسخهگذاری و مدیریت چرخهٔ عمر داده.
- تجربهٔ واقعی در بردار و جستوجو (pgvector یا FAISS)، و مفاهیم ایندکسبرداری/بهروزرسانی افزایشی.
- آشنایی با CI/CD، Docker و لینوکس در سطح عملیاتی.
مزیتها
- Great Expectations یا Pandera برای کنترل کیفیت داده؛ dbt؛ DuckDB یا Spark.
- تجربه با Kafka/RabbitMQ، طراحی Pipelineهای رویدادمحور و بارگذاری افزایشی.
- بهینهسازی عملکرد/هزینه: batching، partitioning، incremental loads، فشردهسازی و طرحهای ذخیرهسازی.
- تجربه با دادههای متنی دوزبانه (normalize/tokenization) و آمادهسازی برای بازیابی متنی.
ویژگیهای فردی
- نگاه سیستمی، مسئولیتپذیری بالا و حساسیت به یکپارچگی و تکرارپذیری.
- مستندسازی دقیق، ارتباط مؤثر با تیمهای محصول/فنی، و رویکرد حل مسئله.