ما در ارز دیجیتال با حجم بالایی از ریکوئست در مدت زمانی کوتاه روبهرو هستیم. چنین شرایطی نیازمند طراحی و توسعه سامانههایی با اسکیل و قابلیت گسترش بالا و هزینه نگهداری پایین با استفاده از ابزارهای روز دنیاست. شما با ملحق شدن به ارز دیجیتال، تجربه کار با همتیمیهای خلاق و بااستعداد را خواهید داشت که مسئولیت تحویل کدهای باکیفیت برای مدیریت میلیاردها ریکوئست ماهیانه را دارند. بنابراین به عنوان «Software Engineer » در ارز دیجیتال مسئولیت انجام وظایف زیر را به عهده خواهید داشت:
● تولید کدهای با کیفیت بالا با زبانهای Python، Node JS و ….. با عملکرد بهینه، سریع، مقیاسپذیر و با قابلیت استفادهی مجدد. ● همکاری با سایر توسعهدهندگان در تیمهای مختلف. ● تعامل مستمر با مدیر محصول و حضور در جلسات به منظور ارتقاء کیفیت محصول و ساختن بهترین تجربهی کاربران. ● اتخاذ تصمیمات مرتبط با معماری نرمافزار و ارتباط سیستمها. ● بررسی مسائل مختلف، تصمیمگیری سریع و اتخاذ گامهای لازم برای رفع نیازمندیها و پیادهسازی تصمیمها.
پیشنیازها
دانش تخصصی و مهارتهای مورد نیاز:
● حداقل سه سال سابقه کاری موثر.
● دانش کافی از مفاهیم پایهی علوم کامپیوتر نظیر دادهساختارها، طراحی الگوریتم و مفاهیم سیستمعامل.
● تسلط کامل بر یکی از زبانهای برنامهنویسی پایتون یا Node.js.
● تسلط بر مفاهیم سرویسگرایی، طراحی API و پروتکل HTTP.
● تسلط بر حداقل یکی از پایگاههای دادهیSQL–based، ترجیحاً PostgreSQL و یا پایگاههای دادهی NoSQL نظیر MongoDB، Cassandra، Couch DB و …
● آشنایی با انواع الگوهای معماری نرمافزار؛ مخصوصاً معماری میکروسرویس.
● دانش کافی از مفاهیم شیگرایی، طراحی ماژولار و الگوهای طراحی (Design Patterns).
● توانایی حل مسائل پیچیده.
● علاقه به یادگیری تکنولوژیهای روز دنیا.
● توانایی منتورشیپ افراد کمتجربهتر تیم.
موارد زیر تاثیر مثبت خواهد داشت:
● آشنایی با مفاهیم DevOps و ابزارهای آن نظیر Docker، Kubernetes و CI/CD.
● تجربه کار با پایگاههای دادهی حافظهمحور؛ ترجیحا Redis.
● تجربه کار با سرویسهای مدیریت وظایف نظیر Celery و صفهای پیام آن نظیر RabbitMQ و کافکا.