تیم برنامه نویسی آیریا در تلاش است تا سیستم توسعه داده خود را برای مقیاس پذیری هرچه بیشتر بازطراحی کند. محصولات این تیم در حال حاضر بیشتر از 1 میلیون کاربر ثبت شده دارند و همچنین برنامه توسعه طولانی مدت برای نرم افزار تدارک دیده شده است که انتظار می رود تعداد تراکنش های روزانه و کاربران را بیش از پیش افزایش دهد. برای توسعه نرم افزار از فناوری های Java، Spring، Docker، Liquibase استفاده شده و دیتابیس این محصول MySQL است. همچنین در طراحی فرانت این محصول از React استفاده شده است.
مسئولیت های مورد انتظار
- مشارکت در طراحی، تولید و نگه داری نرم افزارهای فعلی
- کار تیمی درون تیمی و بین تیمی
- تولید برنامه های با کیفیت و سرعت بالا و مقیاس پذیر
- هدایت و رهبری تیم بک اند برای انجام مسئولیت های تیم و پیاده سازی نیازمندی ها
- طراحی، توسعه، تست و نگه داری محصولات
- مستندسازی مدون اطلاعات درخواستی
- اشتیاق یادگیری مداوم
شایستگی های مورد نیاز
- خلاقیت، قدرت تحلیل و حل مساله
- تسلط به مفاهیم برنامه نویسی شیء گرا
- تسلط بر Maven
- تسلط به الگوریتم ها و ساختمان داده های پایه برای توسعه نرم افزار
- تسلط به ابزارهای تیمی توسعه نرم افزار مانند Git
- تسلط به مفاهیم پایگاه داده های رابطه ای و تجربه کار با حداقل یکی از پایگاه های داده MySQL/Oracle/MariaDB/PostgreSQL
- تسلط به ابزارهای Stream Processing مانند Kafka
- تسلط بر اصول مهندسی نرم افزار و الگو های طراحی و معماری نرم افزار
- تسلط به فریم ورک های برنامه نویسی Spring شامل Spring Boot, Spring Data
- تسلط بر فریم ورک React و یا دیگر فریم ورک های مشابه آن
- تسلط بر Docker و ساخت Docker-image از برنامه های جاوا
- آشنایی با متدلوژی Scrum
- اشتیاق و انگیزه برای یادگیری تکنولوژی های جدید
دانسته هایی که مزیت محسوب می شوند
- آشنایی و سابقه کار با سیستم های توزیع شده و داده محور
- آشنایی با معماری Restful
- آشنایی با معماری Microservice
- آشنایی با اصول مانیتورینگ و نرم افزارهای Prometheus و Grafana
- آشنایی با اصول جمع آوری لاگ ها و ELK
- آشنایی با Kubernetes
- آشنایی با Redis
- آشنایی با Hazelcast
- آشنایی با CI/CD
- آشنایی با Spring Cloud