استخدام برنامهنویس ارشد پایتون (Senior Python Developer)
شرح موقعیت شغلی
محصولات شرکت تپسل ماهانه میلیاردها درخواست نمایش تبلیغات دیجیتال برای چندین میلیون کاربر آنلاین را پردازش میکنند. این محصولات بر بستر یک سیستم توزیع شده مقیاس پذیر استوار هستند، که توانایی شناسایی کاربران، ایجاد و بروز رسانی پروفایل ها، نمایش مناسبترین تبلیغ به هر کاربر در مناسبترین زمان و تشخیص لحظهای تقلب را دارا هستند. برای تشخیص بهترین و مناسب ترین تبلیغ با توجه به ویژگی های کاربر و سابقه و شناخت فعالیت هایش تحلیل و پردازش های مورد انتظار است. در عین حال هر یک از این نیازمندی ها باید در کسری از ثانیه انجام گیرد که مستلزم استفاده از روشهای پردازش داده ويژهای در این حوزه است.
نیاز به بهبود مستمر سیستم های ارائه تبلیغات، نگهداشت و توزیع دیتای آن، منجر به توسعه تیم فنی در تپسل شده است. تیمی جوان و پویا که مسئولیت طراحی، توسعه، نگهداری، آنالیز و بهبود مستمر نرمافزارهای پیچیده و جریان انتقال داده را به عهده دارد. به عنوان عضوی از این تیم، شما با تیمهای مختلفی مانند محصول، زیرساخت و هوش مصنوعی در ارتباط خواهید بود و از تواناییهای خود برای فهم بهتر و ارزیابی کیفیت سیستم، روشهای فعلی و ارائه روشهایی برای بهبود آنها استفاده خواهید کرد.
ما در تیم هوش تپسل به دنبال فردی با شرایط ذیل هستیم.
مسئولیتهای مورد انتظار این نقش:
نیاز به بهبود مستمر سیستم های ارائه تبلیغات، نگهداشت و توزیع دیتای آن، منجر به توسعه تیم فنی در تپسل شده است. تیمی جوان و پویا که مسئولیت طراحی، توسعه، نگهداری، آنالیز و بهبود مستمر نرمافزارهای پیچیده و جریان انتقال داده را به عهده دارد. به عنوان عضوی از این تیم، شما با تیمهای مختلفی مانند محصول، زیرساخت و هوش مصنوعی در ارتباط خواهید بود و از تواناییهای خود برای فهم بهتر و ارزیابی کیفیت سیستم، روشهای فعلی و ارائه روشهایی برای بهبود آنها استفاده خواهید کرد.
ما در تیم هوش تپسل به دنبال فردی با شرایط ذیل هستیم.
مسئولیتهای مورد انتظار این نقش:
- مشارکت در طراحی، تولید و نگهداری مدل های یادگیری ماشین.
- ارايه سرویس های مورد نیاز برای مدل های مربوطه با توجه به درخواست تیم دانشمندان داده.
- نگهداری، بهینه سازی سرویس ها در سرعت عملکرد برای پاسخ دهی و منابع مورد مصرف هرکدام.
- توانایی خطایابی و مانیتورینگ سیستم های توزیع شده
- توسعه و نگهداری الگوریتمهای مناسب برای سرویس دهی و پردازش جریان داده در محیط واقعی
- کار تیمی انعطافپذیر با تیمهای دیگر برای پیادهسازی و دستیابی به بهینه الگوریتمها در محیط واقعی
نیازمندیهای پذیرش این نقش:
- خلاقیت، قدرت تحلیل و حل مساله
- علاقه به یادگیریِ مستمرِ مفاهیم و تکنولوژی های جدید
- تسلط بر زبان برنامه نویسی Python
- تسلط بر اصول مهندسی نرمافزار و الگوهای طراحی و معماری نرمافزار
- تسلط به مفاهیم برنامه نویسی شیءگرا، الگوریتمها و ساختمان دادههای پایه برای توسعه نرمافزار
- تسلط به ابزارهای تیمی توسعه نرمافزار مانند Git
- تسلط به ابزارهای Stream Processing مانند Kafka
- آشنایی با پردازش موازی و چالش های مرتبط در زبان Python
- آشنایی و سابقه کار با سیستمهای توزیعشده و دادهمحور
- آشنایی با حداقل یکی از وب فریمورک های پایتون مانند tornado / flask / fast-api
- آشنایی با معماری وب (REST-API)، میکرو سرویس و مفاهیم سیستم عامل
- آشنایی با docker و آشنایی مقدماتی با Kubernetes
- آشنایی با مفاهیم CI/CD
- آشنایی با معماری های مقیاس پذیر و مقاوم در برابر خطا
مهارتهای مورد نیاز
- Phyton
- Git
- kafka
حداقل سابقه کار
- سه تا شش سال
جنسیت
- مهم نیست
وضعیت نظام وظیفه
- مهم نیست