توضیحات
مسئولیتها:
توسعه سمت سرور (Server-Side Development):
- طراحی، پیادهسازی و نگهداری کدهای سمت سرور برای مدیریت دادهها و منطق کسبوکار.
- استفاده از زبانهای برنامهنویسی مناسب مانند Java ،Python ،Ruby ،PHP ،Node.js برای توسعه نرمافزارهای سمت سرور.
مدیریت پایگاه داده (Database Management):
- طراحی و پیادهسازی پایگاه دادههای رابطهای (SQL) و غیررابطهای (NoSQL) برای ذخیره و مدیریت دادهها.
- بهینهسازی پایگاه داده برای افزایش عملکرد و کارایی.
ایجاد و مدیریت API ها (API Development and Management):
- طراحی و پیادهسازی رابطهای برنامهنویسی کاربردی (APIs) برای ارتباط بین بخشهای مختلف نرمافزار.
- تضمین امنیت، کارایی و مقیاسپذیری APIها.
امنیت نرمافزار (Software Security):
- اجرای روشها و پروتکلهای امنیتی برای محافظت از دادهها و جلوگیری از حملات امنیتی.
- پیادهسازی کنترلهای دسترسی و اعتبارسنجی کاربران.
تست و عیبیابی (Testing and Debugging):
- انجام تستهای واحد (Unit Tests) و تستهای یکپارچهسازی (Integration Tests) برای اطمینان از عملکرد صحیح کد.
- شناسایی و رفع باگها و مشکلات فنی در کدهای سمت سرور.
مقیاسپذیری و بهینهسازی (Scalability and Optimization):
- بهینهسازی کد و ساختار سیستم برای افزایش مقیاسپذیری و کارایی.
- استفاده از تکنیکهای کشینگ (Caching) و بارگذاری متعادل (Load Balancing) برای بهبود عملکرد.
نوشتن و نگهداری کدهای سمت سرور:
- نوشتن و نگهداری کدهای با کیفیت بالا برای مدیریت دادهها و منطق کسبوکار.
- استفاده از روشها و ابزارهای مدیریت نسخه (Version Control) مانند Git برای نگهداری کدها.
طراحی و پیادهسازی پایگاه داده:
- طراحی و پیادهسازی جداول، روابط و شاخصها در پایگاه داده.
- اجرای عملیات مدیریت پایگاه داده مانند پشتیبانگیری، بازیابی و بهینهسازی.
توسعه و مستندسازی APIها:
- توسعه و پیادهسازی APIهای RESTful یا GraphQL برای ارتباطات داخلی و خارجی.
- مستندسازی APIها برای استفاده توسط توسعهدهندگان دیگر و تیمهای مختلف.
تست و رفع باگها:
- نوشتن تستهای واحد و تستهای یکپارچهسازی برای اطمینان از عملکرد صحیح کد.
- شناسایی و رفع باگها و مشکلات فنی در کدهای سمت سرور.
امنیت و مدیریت دسترسی:
- پیادهسازی پروتکلهای امنیتی مانند HTTPS ،JWT و OAuth برای محافظت از دادهها و اعتبارسنجی کاربران.
- نظارت و بهبود امنیت سیستم به صورت مداوم.
بهینهسازی و مقیاسپذیری:
- بهینهسازی کد و پایگاه داده برای افزایش کارایی و سرعت سیستم.
- پیادهسازی روشهای کشینگ (Caching) و استفاده از سرویسهای بارگذاری متعادل (Load Balancing) برای بهبود عملکرد.
توانمندیها و مهارتها:
- آشنایی با زبانهای NET Core. یا Node.js.
- آشنایی با RESTful API.
- آشنایی با Entity Framework یا یکی از ORMهای Node.js (مانند Sequelize ،TypeORM ،Prisma).
- آشنایی با مفاهیم پایه و پیشرفته سیستمعامل Linux (اجرای سرویسها، لاگگیری، مدیریت پورتها و دسترسیها).
- آشنایی کامل با SQL و طراحی کوئریهای بهینه در بانکهای اطلاعاتی رابطهای مانند SQL Server یا PostgreSQL.
- درک اصولی از مفاهیم شیءگرایی (OOP) و معماریهای لایهای.
- شناخت عمیقی از اصول Clean Code و رعایت استانداردهای کدنویسی خوانا، تستپذیر و توسعهپذیر.
- آشنایی با مفاهیم تست مثل Unit Testها و Integration Test.
- مسلط به Git و مفاهیم Branching ،Merge ،Pull Request و Code Review.
- تجربه کار با ابزارهای مدیریت پروژه مانند Azure DevOps (TFS) ،Jira یا معادلهای آن.
- تجربه رفع باگها به دلیل بهکارگیری Test Automation ،Automated Build و Automated Deploy.
- توانایی حفظ مستمر کیفیت کدها.
- توانایی توسعه با رویکرد TDD.
- آشنایی با Message Broker ها مثل RabbitMQ.
- توانایی پیادهسازی بخش جستوجو با ELK.
- توانایی استفاده از WebSocket یا ابزارهایی مانند SignalR در NET. یا Socket.IO در Node.js.