Senior Back-End Developer

شرح موقعیت شغلی

ما در ارز دیجیتال با حجم بالایی از ریکوئست در مدت زمانی کوتاه روبه‌رو هستیم. چنین شرایطی نیازمند طراحی و توسعه سامانه‌هایی با اسکیل و قابلیت گسترش بالا و هزینه نگهداری پایین با استفاده از ابزارهای روز دنیاست. شما با ملحق شدن به ارز دیجیتال، تجربه کار با هم‌تیمی‌های خلاق و بااستعداد را خواهید داشت که مسئولیت تحویل کدهای باکیفیت برای مدیریت میلیاردها ریکوئست ماهیانه را دارند. بنابراین به عنوان «Software Engineer » در ارز دیجیتال مسئولیت انجام وظایف زیر را به عهده خواهید داشت:

• تولید کدهای با کیفیت بالا با زبان‌های Python، Node JS و ….. با عملکرد بهینه، سریع، مقیاس‌پذیر و با قابلیت استفاده‌ی مجدد
• همکاری با سایر توسعه‌دهندگان در تیم‌های مختلف
• تعامل مستمر با مدیر محصول و حضور در جلسات به منظور ارتقاء کیفیت محصول و ساختن بهترین تجربه‌ی کاربران
• اتخاذ تصمیمات مرتبط با معماری نرم‌افزار و ارتباط سیستم‌ها
• بررسی مسائل مختلف، تصمیم‌گیری سریع و اتخاذ گام‌های لازم برای رفع نیازمندی‌ها و پیاده‌سازی تصمیم‌ها

دانش تخصصی و مهارت‌های مورد نیاز:

•  حداقل سه سال سابقه کاری موثر
•  دانش کافی از مفاهیم پایه‌ی علوم کامپیوتر نظیر داده‌ساختارها، طراحی الگوریتم‌ و مفاهیم سیستم‌عامل
•  تسلط بر یکی از زبان‌های برنامه‌نویسی؛ ترجیحاً پایتون، Node.js یا   GO Lang
•  تسلط بر یکی از فریم‌ورک‌های وب؛ ترجیحاً Django
•  تسلط بر مفاهیم سرویس‌گرایی، طراحی API و پروتکل http
•  تسلط بر حداقل یکی از پایگاه‌های داده‌یSQL–based، ترجیحاً PostgreSQL و یا پایگاه‌های داده‌ی NoSQL  نظیر  MongoDB، Cassandra، Couch DB  و …
•  آشنایی با انواع الگوهای معماری نرم‌افزار؛ مخصوصاً معماری میکروسرویس
•  دانش کافی از مفاهیم شی‌گرایی، طراحی ماژولار و الگوهای طراحی (Design Patterns)
•  توانایی حل مسائل پیچیده
•  علاقه به یادگیری تکنولوژی‌های روز دنیا
•  توانایی منتورشیپ افراد کم‌تجربه‌تر تیم

موارد زیر تاثیر مثبت خواهد داشت:

•  آشنایی با مفاهیم DevOps و ابزارهای آن نظیر Docker، Kubernetes و CI/CD
•  تجربه‌ی کار با پایگاه‌های داده‌ی حافظه‌محور؛ ترجیحاً Redis
•  تجربه‌ی کار با سرویس‌های مدیریت وظایف نظیر Celery و صف‌های پیام آن نظیر RabbitMQ و کافکا