یکی از سؤالاتی که هر از چند گاهی از طرف دانشجویان برنامهنویس و یا طراح وب از من پرسیده میشود این است:
روی چه پروژهای کار کنم؟ یک پروژه پیشنهاد بدهید.
این سؤال طبیعتاً زمانی پرسیده میشود که شخص میخواهد برای یادگیری بیشتر و یا در اوقات فراغت خود روی یک پروژه کار کند.
در این زمینه اولاً این مطلب را مطالعه کنید: بستنی فروشی در جهنم!
و اما نکاتی در زمینه انتخاب پروژه:
- کسی که در زمینه کاری خود برنامه مینویسد، موفقتر است!
فرض کنید شما مدرس هستید، اگر میخواهید یک پروژه انتخاب کنید، بگردید ببینید در محیط کاری خود چه برنامهای نوشته نشده!؟ مثلاً ایده اصلی تستا از آنجا گرفته شد که من برای گرفتن آزمون از دانشجویانم حوصله تصحیح برگه و امکان آمارگیری مناسب را نداشتم به همین دلیل آنرا نوشتم. یا نمرا را به این دلیل نوشتم که نیاز داشتم اعلام نمره و جمع آوری تکلیف انجام دهم. مطمئناً اگر یک برنامهنویس که تجربه تدریس و یا جمع آوری تکالیف را ندارد میخواست این کار را انجام دهد، نمیتوانست به خوبی تستا و نمرا پیاده سازی کند.
یا مثلاً فرض کنید شما فارغ التحصیل رشته کامپیوتر و برنامهنویس هستید و در شهرداری کار میکنید. طبیعتاً شما در نوشتن برنامهای برای آنجا شانس بیشتری نسبت به من دارید که هرگز پایم به شهرداری باز نشده!
یا مثلاً یکی از دوستان که در حوزه کار میکرد و کار با Access را یاد گرفته بود، خیلی راحتتر میتواند برنامهای برای مدیریت حوزه بنویسد.
پس، اولویت اولتان یافتن سوژهای در محیط کارتان باشد.
مثلاً یکی از اشتباهات ما در مجموعه آفتابگردان، کار روی دو سه پروژه مثل «بوکفا» بود که خودمان تجربهی کاری در این زمینه نداشتیم و حالا در محیطهای بزرگ این برنامه ضعفهای ما را نشان میدهد.
- از Google Suggestion برای یافتن یک سوژه استفاده کنید
اگر گزینه اول به کار شما نمیآید، یکی از راهها که من برای پیشنهاد پروژه در درسهایی مثل مهندسی نرم افزار و پایگاه داده استفاده میکنم، این است:
به سایت گوگل بروید: Google.com
تایپ کنید: «سیستم مدیریت آ»
می بینید که لیستی از سیستمهایی که کاربران بیشترین جستجو را در مورد آنها انجام دادهاند نمایش داده میشود.
اگر هیچ کدام باب میلتان نبود، بنویسید «سیستم مدیریت ب» و همینطور تا «ی» میتوانید پیش بروید و لیست کاملی از سیستمهای مدیریت گیر بیاورید. بالاخره یکی از این بین باب طبع شما خواهد بود و دقت هم کنید که اینها مشتریان بالقوه زیادی دارند!
- سیستمهای خارجی را بررسی کنید و یک نسخه وطنی بسازید
سایتهای زیادی هستند که سیستمهای منبعباز را برای دانلود و حتی آزمایش (Demo) قرار دادهاند. گشتی در آنها بزنید و ببینید کدامیک هم با روحیات شما و هم با بازار میخواند؟
یکی از بهترینها سایت OpenSourceCMS.com است که هم توضیحات خوبی در مورد سیستمهای مدیریت محتوای مطرح و هم نمونه نصب شدهی آنها را روی خود دارد. موضوعبندی هم که کرده.
یا سایت Github.com سایت خوبی است. به نتیجه جستجوی Management System دقت کنید.
یا سایت SourceForge.net
- از لیستی که توسط دانشجویان من تهیه شده است کمک بگیرید:
در درس مهندسی نرم افزار یکی از تکالیفی که همیشه میدهم این است که: خوب فکر و بررسی کنید و نام ده سیستم مدیریت که فکر میکنید کار کردن روی آنها میتواند سودآور و رافع مشکلی از مشکلات جامعه باشد را تحویل دهید. من به این تکلیف خیلی علاقه دارم و معمولاً تکلیف تمام دانشجویان را دقیق بررسی میکنم. یک فایل Word که شامل لیستی از سیستمهایی است که به ذهن برخی دانشجویان رسیده تهیه کردهام که هر چند یک غنیت به حساب میآید و ابتدا مایل نبودم اما در اختیارتان قرار میدهم:
https://download.aftab.cc/products/list_of_suggested_projects.docx
شاید بیش از ۱۰۰ سیستم که اکثر دانشجوها در محیط کاری خودشان نیازسنجی کردهاند و نام بردهاند در این فایل موجود است. شاید بخواهید روی یکی از آنها کار کنید ;)
- هر سیستمی که به ذهنتان میرسد یک جا یادداشت کنید.
من خودم یک فایل متنی روی گوشیام دارم که مثلاً اگر امروز به یک جا رفتم و احساس کردم جای یک سیستم مدیریت خالی است، سریعاً یادداشت میکنم که بعدها اگر شد خودم یا دانشجویان و همکاران روی آن کار کنیم. همین الان بیشتر از ۲۰ سیستم یادداشت کردهام که اگر همینجا نام ببرم خیلیها تماس میگیرند میگویند شما را به خدا زودتر این سیستم را بنویس که ما به خاطر نبود آن، از بس دردسر کشیدهایم، خسته شدهایم! اما طبیعتاً نام نمیبرم :)
نکته پایانی:
همانطور که در مطلب «ببستنی فروشی در جهنم» گفتهام، روی سیستمی وقت بگذارید که یا نباشد و یا اگر هست آنقدر نقص داشته باشد که کاربران به سیستم شما بیشتر تمایل پیدا کنند.
اگر شما هم تجربهای در این زمینه دارید، دعوت میکنم در بخش نظرات، این طملب را کاملتر کنید.
موفق باشید؛
حمید رضا نیرومند