استخدام مهندس نرمافزار در توسعهی برنامههای دسکتاپ با پایتون
این موقعیت شغلی به صورت کاملا ریموت (دورکاری) و تمام وقت می باشد.
ما بهدنبال همکاری با مهندسی توانمند و متعهد هستیم که مهارتهای فنی بالا و تجربهی کار بر روی پروژههای دسکتاپ پیچیده را داراست.
مهارتهای کلیدی مورد نیاز:
1. مهارتهای مهندسی نرمافزار (اولویت اصلی)
Robust Software Architecture | معماری نرمافزار قوی
توانایی طراحی و پیادهسازی معماریهای نرمافزاری ساختیافته (well-structured)، مقیاسپذیر (scalable)، و مناسب برای اپلیکیشنهای دسکتاپ پیچیده (complex desktop applications).
آشنایی با الگوهای طراحی (design patterns) مانند MVC (Model-View-Controller)، MVVM (Model-View-ViewModel)، و برنامهنویسی event-driven.
Clean, Maintainable Code کد تمیز و قابل نگهداری:
توانایی نوشتن کدی خوانا (readable)، ماژولار (modular)، و قابل نگهداری (maintainable) بهصورت مداوم ، بر اساس بهترین شیوهها مانند استاندارد PEP8 و اصول SOLID
آگاهی از ساختاردهی مناسب به کد، استفاده مجدد (reusability) و توسعهپذیری (extensibility).
Testing and Test-Driven Development تست و توسعه مبتنی بر تست:
مهارت در نوشتن تستهای واحد (unit tests) با استفاده از فریمورکهایی مانند pytest یا unittest.
درک تستهای یکپارچه (integration) و عملکردی (functional) برای تضمین پایداری و اطمینان اپلیکیشن.
Version Control Expertise تسلط بر کنترل نسخه:
مسلط به Git و فرآیندهای کاری تیمی با GitHub، GitLab و سایر ابزارهای مشابه.
Performance Optimization بهینهسازی عملکرد:
آشنایی با ابزارهای پروفایلینگ مانند cProfile و memory_profiler برای شناسایی گلوگاهها.
مهارت در بهینهسازی الگوریتمها و ساختارهای داده برای بهبود پاسخدهی و کارایی منابع در اپلیکیشنهای دسکتاپ.
Dependency and Environment Management مدیریت وابستگیها و محیط:
تسلط در مدیریت محیطها و وابستگیها با ابزارهایی مانند venv، conda و pip.
Documentation and Technical Writing مستندسازی و نوشتار فنی:
توانایی تولید مستندات شفاف و جامع شامل کامنتگذاری کد، دیاگرام معماری، مراجع API و راهنمای کاربران.
Continuous Integration and Delivery (CI/CD)
آشنایی با پیادهسازی pipeline های خودکارسازی build، test و deployment برای برنامههای دسکتاپ.
تجربه کار با ابزارهایی مانند Jenkins، GitHub Actions، GitLab CI یا Azure DevOps.
2. شایستگیهای فنی
Python Proficiency تسلط بر پایتون:
درک عمیق از مفاهیم پایه و پیشرفته پایتون شامل ساختارهای داده پیشرفته، اصول OOP، دکوراتورها و context manager ها.
GUI Frameworks فریمورکهای رابط کاربری گرافیکی:
آشنایی با کتابخانههای GUI مانند PyQt/PySide، Tkinter، wxPython یا Kivy.
Packaging and Deployment بستهبندی و انتشار:
مهارت در ساخت Installer ها و فایلهای اجرایی cross-platform با استفاده از PyInstaller، cx_Freeze یا Nuitka.
Operating System Familiarity آشنایی با سیستمعاملها:
تجربه در توسعه و انتشار برنامههای دسکتاپ برای پلتفرمهای مختلف مانند Windows، macOS و Linux.
3. مدیریت پروژه
- برنامهریزی، پیگیری و تحویل مؤثر پروژهها، با مدیریت زمانبندی و اولویتبندی برای دستیابی به نقاط عطف.
- ارتباط و هماهنگی مؤثر با اعضای تیم، ذینفعان و تیمهای چندرشتهای.
- استفاده از روشهای Agile و ابزارهایی مانند Scrum، JIRA و Trello برای توسعه تدریجی و شفاف.
- شناسایی و مدیریت ریسکها و حل پیشگیرانه مشکلاتی که ممکن است باعث تأخیر یا کاهش کیفیت شوند.
- یکپارچهسازی بازخورد کاربران و همکاری با طراحان برای بهبود UX/UI و همراستاسازی توسعه با نیازهای کاربران نهایی.
اگر ویژگیهای زیر را دارید، منتظر دریافت رزومه شما هستیم:
- فردی مستقل و مسئولیتپذیر
- مشتاق یادگیری مستمر و ارتقای مهارتهای فنی