مقالات، مهندسی نرم افزار، دانشگاه

چگونه يک پروژه نرم افزاري را با موفقيت انجام دهيم!؟

در دوران دانشجويي و حتی قبل از دانشجویی برای من خیلی پیش آمد که برای کسی برنامه بنویسم و پروژه نرم افزاری انجام بدم. بعضی هایش را قبول کردم و برخی را به علت هایی رد کردم. اوایل که جوگیر شده بودم و فکر میکردم خیلی برنامه نویسم، اگر هر پروژه ای به من واگذار میشد، نه نمی گفتم. خوشبختانه آن اوایل به جز یک برنامه، پیشنهاد دیگری به من نشد! به هر حال، در این اواخر رویه ای را پیش گرفتم در پروژه گرفتن و پروژه انجام دادن، که فکر میکنم رویه درستی است و از آن نتیجه های خوبی هم گرفتم. اگر دانشجو هستید و مثل من کم تجربه، حتماً قبل از گرفتن پروژه مسائلی که در این مطلب ذکر کردم را در نظر داشته باشید.

پروژه را قبول کنيم يا خير!
قبل از اينکه جواب اين سئوال را بدهيد، بايد پروژه اي که قرار است انجام دهيد را بفهميد. براي اين کار هم بايد به صورت حضوري با کارفرما ملاقات کنيد و اگر ملاقات حضوري در دسترس نيست، بوسيله تلفن با او صحبت کنيد. سئوالات و ابهامتان را در مورد پروژه از کارفرما بپرسيد. سعي کنيد تمام سئوال هايتان را از قبل در يک برگه بنويسيد تا هنگام صحبت با کارفرما سئوالي را فراموش نکنيد، چون معمولاً کارفرما را کمتر در طول انجام پروژه ملاقات مي کنيد. بعضي از کارفرمايان عادت دارند که از جواب دادن به سئوالات شما فرار کنند و با گفتن جمله اي شبيه به «ببينيد من فقط ميخواهم اين پروژه کار من را راه بيندازد و فلان کار را به خوبي انجام دهد» و از اين دست جمله ها، سر و ته صحبت را به هم بياورند. شما بايد بتوانيد هر اطلاعاتي که لازم داريد از زير زبان کارفرما بيرون بکشيد. اين يک مهارت است. خيلي وقت ها کارفرمايان شما از سيستم هاي کامپيوتري چيزي نمي دانند و نبايد تعجب کنيد که حتي دستشان به ماوس هم نخورده باشد! اگر کاربر سيستم شما همان کارفرما باشد که کارتان خيلي سخت خواهد بود. در غير اين صورت حتماً بعد از صحبت با کارفرما با کاربراني که قرار است با سيستم شما کار کنند نيز صحبت کنيد و از سطح آشنايي با کامپيوتر و سواد آن ها اطلاع پيدا کنيد. آشنايي با کاربران سيستم، ديد شما را بازتر خواهد کرد.

امکان سنجي کنيد
بعد از اينکه فهميديد کارفرما واقعاً چه مي خواهد، امکان سنجي کنيد که آيا مي توانيد با دانش خود و ابزارهاي موجود اين پروژه را انجام دهيد يا خير. به هر حال خودتان بهتر مي دانيد چه توانايي هايي داريد و با چه ابزارهايي آشنايي داريد. اگر پروژه اي فقط با يک ابزار خاص بايد انجام شود و شما کار با آن ابزار را بلد نيستيد، خيلي راحت پروژه را قبول نکنيد. هرگز به اميد اينکه طي انجام پروژه، کار با ابزاري را ياد خواهيد گرفت، پروژه اي را قبول نکنيد. فاکتورهای بسیار مهم دیگری که باید تخمین بزنید و در نظر بگیرید، زمان و هزینه پروژه هستد. معمولاً زمان تحویل را کارفرما تعیین می کند، اگر حتی یک درصد هم امکان می دهید که این زمان برای انجام چنین پروژه ای کم است، پروژه را قبول نکنید یا وقت بیشتری از کارفرما بخواهید. اگر زمان تحویل دست خودتان است، زمانی که تخمین می زنید را دو برابر کنید و در قرارداد ذکر کنید. دستمزد انجام پروژه معمولاً دست شما نسیت و کارفرما آنقدر چانه زنی می کند که شما را از رو خواهد برد. اگر پول برایتان مهم نیست و فقط برای کسب تجربه پروژه انجام می دهید که هیچ، اما اگر دستمزدتان برایتان مهم است حتماً قیمت معقولی را بر اساس حجم کار و زمانی که از شما خواهد گرفت، بدهید. این قیمت می تواند تحت تاثیر اعتبارتلن نیز قرار گیرد. به هر حال من خودم هنوز به فرمول مشخصی برای قیمت دادن نرسیدم.

حتماً قرارداد ببنديد

هر چقدر هم پروژه مورد نظر کوچک باشد، شما بايد با طرف مقابل قرارداد محکمي ببنديد و حتماً امضا و احتمالاً مهر کارفرما را زير آن قرارداد داشته باشيد. حتماً فاکتور زمان و استثناهايي که ممکن است در طول انجام پروژه پيش بيايد را در بندهاي قرارداد جاي دهيد. هزينه انجام پروژه را به صراحت در قرارداد ذکر کنيد و بندي قرار دهيد که مثلاً 50 درصد هزينه را کارفرما در طي انجام پروژه پرداخت کند و بقيه را حداکثر تا 10 روز پس از تحويل پروژه بپردازد. اگر کارفرما به پشتيباني نياز دارد، حتماً و تاکيد مي کنم حتمآً چند بند را در قرارداد براي خدمات پشتيباني و استثناهاي مربوط به آن کنار بگذاريد. به طور مثال شما مي توانيد با همان هزينه انجام پروژه، يک سال به صورت رايگان پشتيباني را انجام دهيد. در اين صورت بطور دقيق تاريخ اتمام يک سال خدمات پشتيباني رايگان را ذکر کنيد. براي استفاده از خدمات پشتيباني نرخي را در قرارداد ذکرکنيد و بندي هم قرار دهيد که ممکن است در سال هاي بعد اين نرخ افزايش يابد. حتماً مشخص کنيد که اين خدمات پشتيباني فقط مربوط به مشکلات مربوط به نرم افزار شماست نه چيز ديگر. مثلاً ذکر کنيد که شما در قبال مشکلات سخت افزاري و نصب ويندوز و اين جور چيزها مسئوليتي نداريد.

پروژه را تحليل کنيد

نيازهاي هر کاربر از سيستم را ليست کنيد. سرويس هايي که قرار است سيستم به کاربران مختلف بدهد را مشخص کنيد. اگر با مباحث مهندسي نرم افزار آشنايي داريد، اين قسمت همان شناسايي Actorها و Usecaseهاي سيستم است. هر چقدر شناخت خود را از پروژه افزايش دهيد، کيفيت خروجي کار شما بالاتر خواهد بود و در نتيجه کارفرما راضي تر. پس تا مي توانيد مرحله شناخت نيازها و تحليل سيستم را جدي بگيريد. خروجي فسمت تحليل، مستنداتي است که بر اساس آن پروژه شکل مي گيرد. سعي کنيد همه چيز را مستند کنيد. از مصاحبه هايي که با کاربران سيستم انجام داده ايد تا مسائل فني را براي خودتان بنويسيد. حتي اگر پروژه خيلي هم به نظراتان کوچک باشد، باز هم اين مستندات لازم و حياتي هستند. در قسمت طراحي و پياده سازي متوجه خواهيد شد که اين مستندات چقدر فهم مسئله را ساده تر مي کنند. در اینجا می توانید از یکی از روش های معمول مهندسی نرم افزار برای تحلیل استفاده کنید.

فاز طراحي را جدي بگيريد

با استفاده از مستندات قسمت تحليل، بايد طراحي سيستم نرم افزاري را شروع کنيد. کلاس هاي سيستم را با توجه به مستندات و شناختي که از سيستم داريد مشخص کنيد. اين کلاس ها ممکن است در زمان پياده سازي تغييراتي بکنند. شما فعلاً به صورت کلي کلاس ها را ببينيد. سعي کنيد براي درک بهتر آن ها، دياگرام کلاس ها را نيز رسم کنيد. در اين فاز معماري سيستم نيز مشخص مي شود. ابتدا معلوم کنيد که پلت فرمي که قرار است سيستم روي آن کار کند چيست. مثلاً قرار است نرم افزار تحت وب کار کند يا تحت ويندوز. البته پلت فرم بسياري از پروژه ها در هنگام سفارش، معلوم مي شود. اگر پلت فرم بستگي به نظر شما دارد، سعي کنيد پلت فرمي را انتخاب کنيد که هم روي آن تجربه و تخصص داريد و هم مناسب انجام اين پروژه است.

پياده سازي

اگر فازهاي قبلي را به درستي انجام داده باشيد، در پياده سازي با مشکل حادي برخورد نخواهيد کرد. مستندات دو فاز قبلي مشخصات پياده سازي را تعيين مي کنند. اگر پروژه شما نياز به يک پايگاه داده براي ذخيره اطلاعات دارد (که در اکثر پروژه ها همينطور است)،ابتدا داده هايي که قرار است ذخيره کنيد را بر اساس مستندات فازهاي قبلي شناسايي کنيد. اگر مي توانيد نمودار روابط بين موجوديت ها يا ERD و Data Model را براي درک بهتر بانک اطلاعاتي سيستم رسم کنيد. براي بانک اطلاعاتي خود يک RDBMS مناسب انتخاب کنيد. وقتي به طور مثال SQLite يا Access نياز شما را برطرف مي کنند، بيخودي خود را درگير پيچيدگي هاي SQL Server يا Oracle نکنيد.

براي پياده سازي يک پروژه نرم افزاري، احتياج به ابزارهاي توسعه نرم افزار و يک زبان برنامه نويسي داريد. اگر کارفرما اين ها را مشخص کرده که هيچ، اما اگر بستگي به خودتان دارد، ابزار و زباني را انتخاب کنيد که در آن تجربه داريد و متناسب با پروژه شماست. پلت فرم ها و محيط هاي معمول توسعه نرم افزار براي پروژه هاي شما مناسب هستند، پس اصلاً نگران انتخاب ابزار و زبان نباشيد.

معمولاً بعد از پیاده سازی و تحویل نهایی به کارفرما کارتان تمام نمی شود. تازه بعد از آن است که کارفرما هر روز با شما تماس می گیرد که فلان قسمت برناه را برایش عوض کنید یا قابلیت جدیدی به آن اضافه کنید. در اینجا فقط یک قرارداد محکم می تواند شما را نجات بدهد. باید در قراردادی که با کارفرما بسته اید، بندهایی برای تغییر در نرم افزار و اضافه کردن قابلیت جدید به آن در نظر بگیرید که زبان شما هم در مقابل کارفرما دراز باشد.

در آخر

اگر صلاحیت فنی و روحی انجام پروژه ای را در خودتان نمی بینید، به هیچ وجه قبولش نکنید، چون دردسرهای زیادی برایتان پیش خواهد آورد. سعی کنید به هیچ وجه با کارفرما خودمانی نشوید و شوخی نکنید، کلاس کاری خود را حفظ کنید و فاکتور زمان را حتمآً رعایت کنید. پروژه را که سروقت تحویل دهید در حقیقت به اعتبارتان افزوده اید. کارفرمایان اوصولاً در هنگام پول دادن کم پیدا می شوند و شما اگر بهترین نرم افزار هم برایش تولید کرده باشید، باز ایراد خواهد گرفت و از شما تخفیف خواهد خواست.

اگر سئوال یا ابهامی دارید در کامنت های همین مطلب ذکر کنید تا به آن پاسخ داده شود.

مهندسی نرم افزار، دانشگاه

کدامیک از ما با سواد تریم؟

در هر اجتماعی، آدم های مختلف با توانایی های متفاوتی وجود دارند و هیچ دو نفری مثل هم فکر نمی کنند و دارای توانایی های یکسان نیستند. آدم ها را می توان در اجتماع های مختلف بر اساس معیارهای خاصی دسته بندی نمود. این معیارها بستگی به اجتماعی دارد که شخص مورد نظر در آن قرار دارد. البته آدم ها در اجتماع های مختلفی حضور دارند و در هر اجتماع یک رفتار مشخص و توانایی خاص خود را نشان می دهند. ممکن است من در محیط کار آدم موفقی باشم اما در محیط خانواده ام بسیار ناموفق ظاهر شوم.
اجتماع کوچکی مثل یک دانشگاه را در نظر بگیرید، باز هم کوچکتر از آن دانشجویان یک رشته خاص مثلاً دانشجویان رشته نرم افزار را در نظر بگیرید. جدا از انگیزه های مختلفی که این افراد برای انتخاب این رشته و ورود به دانشگاه داشته اند، هر کدام از این دانشجویان دارای توانایی ها و ضعف های خاص خودشان هستند. به صورت معمول در چنین اجتماعی برتری از آن کسی است که از سواد بالاتری برخوردار باشد. متاسفانه سواد در محیط های آکادمیک ما تعریف مشخصی ندارد تا بتوان بر اساس آن اشخاص را طبقه بندی کرد.
من از تجربه و شناخت خودم شروع می کنم. یکسری از همکلاسی ها و هم رشته ای های من فقط در درس های خاصی قوی هستند، یکسری دیگر در درس های پایه مثل ریاضی و فیزیک قوی هستند، یکسری در درس های تخصصی توانایی دارند، تعداد بسیار محدودی از نظر عملی چیزی برای گفتن دارند و بلاخره دسته ای هم به قول خودمان از مرحله پرت هستند و از درس ها چیز خاصی نمی فهمند. شاید تعداد بسیار کمی، هم در دروس پایه و هم در دروس تخصصی و عملی قوی باشند. من در رشته خودم (بر اساس تجربه ای که داشتم) کسی را سراغ ندارم که از همه توانایی های ذکر شده در بالا برخوردار باشد و از نظر عملی نیز وافعاً حرفه ای باشد.
به عنوان مثال من نمی توانم یک معادله بسیار سخت دیفرانسیل را حل کنم اما می توانم به بهترین نحو لایه دسترسی به داده ها در یک نرم افزار تجاری را پیاده سازی کنم. من نمی توانم 240 صفحه اندیشه اسلامی حفظ کنم و 20 بگیرم اما می توانم یک سیستم نرم افزاری هرچند کوچک را تحلیل و پیاده سازی کنم. همکلاسی من می تواند سخت ترین مسائل آمار و احتمالات مهندسی را حل کند اما نمی تواند معماری چند لایه نرم افزاری را درک کند و یا حتی چند خط کد ساده بنویسد. او توانایی حل مسائل ریاضی را دارد اما قدرت درک مسائل واقعی را ندارد و بسیاری از مفاهیم شیء گرایی برای او جزوی از کابوس های زندگی اش به حساب می آیند.
مدرس درس طراحی الگوریتم ما می تواند سخت ترین مسائل این درس را با منطق ریاضی ثابت کند اما قدرت تحلیل مسائل ساده نرم افزاری را ندارد و در بیشتر موارد در نوشتن الگوریتم به یک زبان برنامه نویسی مشکل دارد. دوست من می تواند یک وب سایت را به سریع ترین و زیباترین  شکل ممکن با PHP طراحی کند ولی نمی تواند مسائل شیء گرایی و مهندسی نرم افزار را درک کند.
این مثال هایی که گفتم را من واقعاً تجربه کردم. حالا سئوالی که چند وقت است ذهن من را مشغول کرده این است که واقعاً کدامیک از ما با سوادتریم؟ شاید جواب این سئوال به تعریف واژه «سواد» بستگی داشته باشد. اما می خواهم نظر شما را بدانم، کدامیک از ما با سوادتریم؟

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

مقالات، مهندسی نرم افزار، نرم افزار، کد باز، برنامه نویسی

یافتن کار نیمه وقت و کسب تجربه در زمینه نرم افزار-قسمت پنجم

پیشنهاد می کنم ابتدا قسمت های قبلی این سری نوشته ها را بخوانید و سپس ادامه ی این مطلب را دنبال کنید.

قسمت پنجم : همکاری در پروژه های اوپن سورس

اگر هدف شما کسب تجربه در زمینه های تخصصی رشته ی نرم افزار است بهترین راه همکاری در پروژه های واقعی است. در قسمت های قبلی در مورد روش انجام پروژه و کار در شرکت های نرم افزاری بحث کردیم. اگر یادتان باشد در قسمت دوم این سری نوشته ها، یکی دیگر از راه های کسب تجربه در زمینه نرم افزار را همکاری در پروژه های نرم افزاری اوپن سورس عنوان کردیم. همکاری در پروژه های اوپن سورس تجربه هایی به شما می آموزد که هیچکدام از روش های ذکر شده ی قبلی نمی توانند به شما بیاموزند.

همکاری در پروژه های اوپن سورس به شما می آموزد که چطور به صورت تیمی کار کنید و چه ابزارهایی را به کار بگیرید تا پروژه های نرم افزاری را به صورت تیمی توسعه دهید. کمک میکند تا زبان انگلیسی خود را قوی کنید و بین المللی کار کردن را یادتان می دهد. معنی کیفیت را در محصولات نرم افزاری درک خواهید کرد و با روش های روز تولید نرم افزار آشنا خواهید شد. با افراد معروف و متخصص در رشته ی خود آشنا می شوید و ارتباط های مهمی برای شما به وجود خواهد آورد. می توانید این همکاری را در رزومه ی خود ذکر کنید و در نتیجه آینده شغلی شما را تحت تاثیر قرار خواهد داد. کار کردن در خارج از کشور را برایتان آسان تر خواهد کرد.

البته همکاری در پروژه های اوپن سورس به راحتی روش های قبلی نخواهد بود. شما باید از تخصص بالایی در یک زمینه خاص برخوردار باشید. همچنین زبان انگلیسی تان باید در حد قابل قبولی باشد تا بتوانید مستندات پروژه را بخوانید و با اعضای تیم ارتباط برقرار کنید. سعی کنید پروژه ای را انتخاب کنید که در آن زمینه تخصص خوبی دارید.

در این روش شما یک پروژه ی اوپن سورس را انتخاب می کنید و در مورد آن تحقیق می کنید. معمولاً پروژه های اوپن سورس دارای مستندات کامل و رایگان هستند، آن ها را مطالعه کنید. در مورد متدولوژی ها، روش های تولید، زبان برنامه نویسی و ابزارهایی که به کار می گیرند تا پروژه شان را توسعه بدهند، تحقیق کنید. اگر توانایی های لازم را در خود دیدید سعی کنید تا با تیم سازنده ی آن پروژه ارتباط برقرار کنید. معمولاً تیم های اوپن سورس از افراد علاقه مند به همکاری استقبال می کنند. از این به بعد باید با روش های کار تیمی آن ها آشنا شوید و احتمالاً وظیفه ای به عهده شما قرار داده خواهد شد.

برای اینکه شروع کنید حتماً لازم نیست یک پروژه ی اوپن سورس بزرگ و پیچیده را انتخاب کنید. حتی همکاری در ساختن یک پلاگین برای وردپرس یا یک افزونه برای فایرفاکس هم می تواند برای شروع گزینه خوبی باشد. بهتر است پروژه ای انتخاب کنید که به آن علاقه دارید. پروژه های اوپن سورس را می توانید در سایت هایی مثل SourceForge.net و CodePlex پیدا کنید و در مورد آن ها تحقیق کنید. حتی می توانید یک پروژه ی اوپن سورس را خودتان از ابتدا بسازید و روی آن کار کنید. فقط توجه داشته باشید موضوعی را انتخاب کنید که قبلاً پروژه ای بر اساس آن ساخته نشده باشد. اگر پروژه ای با همان موضوع وجود دارد، بهتر است همان را توسعه دهید تا هم برای شما سودمند باشد و هم برای دیگران.

توجه داشته باشید که همکاری در پروژه های نرم افزاری فقط در زمینه برنامه نویسی نیست. شما می توانید در زمینه تحلیل و طراحی همکاری کنید و یا حتی در زمینه نوشتن راهنما و مستندات فعالیت کنید. این بستگی به علاقه و تخصص شما خواهد داشت.

نظر سنجی

برای یک دانشجوی آینده نگر مهم ترین چیز کسب تجربه در زمینه رشته ی تخصصی اش است. ما سعی کردیم در چند نوشته ی قبلی بحث کسب تجربه را برای دانشجویان رشته نرم افزار کامپیوتر باز کنیم و از نظرات دوستان باتجربه در این زمینه بهره ببریم. هر چند این نوشته ها آن طور که باید مفید و پخته نبودند، آن هم به این خاطر که نویسنده ی این مطالب خودش یک دانشجوی بی تجربه نرم افزار است. لطفاً نظر کلی خود را در مورد این سری نوشته ها بیان کنید.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

مقالات، مهندسی نرم افزار، نرم افزار، شرکت های نرم افزاری

یافتن کار نیمه وقت و کسب تجربه در زمینه نرم افزار-قسمت چهارم

در مطالب قبلي به توضيح راه هاي ممکني که يک دانشجوي نرم افزار مي تواند بوسيله ي آن ها به کسب تجربه و درآمد بپردازد پرداختيم. برخي از خوانندگان فقط جنبه کسب درآمد را در نظر داشتند، اما توجه داشته باشيد که کسب تجربه در زمينه هاي مناسب و کاربردي مي تواند آينده شغلي شما را تحت تاثير قرار دهد و مي توانيد کارهايی که در دوران دانشجویی انجام داده اید را به عنوان رزومه ارائه کنيد.

قسمت چهارم : خودتان دست به کار شوید!

ممکن است برخي ها نتوانند به صورت نيمه وقت در شرکت هاي نرم افزاري کار کنند و يا به صورت پروژه اي براي کارفرما کاري انجام بدهند. اين مسئله دلايل مختلفي مي تواند داشته باشد، بعضي ها اصولاً با کار کردن براي بقيه مشکل دارند، برخي ها روش کار آنها را نمي پسندند و برخي ديگر دوست دارند کاري را انجام بدهند که خودشان دوست دارند نه شرکت ها و کارفرمايان. اگر فردي چنين موقعيت و شخصيتي دارد، بايستي به فکر راه هاي جايگزين براي کسب تجربه در دوران دانشجويي باشد. بهترين راه براي چنين کساني اين است که خودشان دست به کار بشوند و پروژه اي در يک زمينه خاص که به آن علاقه دارند شروع کنند. در زمينه نرم افزار کارهايي بسيار زيادي مي توان انجام داد. گستردگي تکنولوژي ها و موضوعات در رشته نرم افزار به شما امکان اين را خواهد داد تا بر اساس علاقه ي خود کاري را که دوست داريد انجام بدهيد و از آن لذت ببريد. نوشتن مقالات تخصصي در زمينه نرم افزار، نوشتن يک وبلاگ تخصصي، طراحي و برنامه نويسي وب سايت هاي کاربردي و توليد نرم افزار همگي مي توانند به عنوان راه هاي مناسب براي کسب تجربه مورد استفاده قرار گيرند.
يکي از کارهايي که مي توانيد در اين مواقع انجام دهيد توليد نرم افزار است. مهم نيست موضوعي که انتخاب مي کنيد چيست، مهم اين است که آن را انجام بدهيد و نرم افزاري توليد کنيد که واقعاً کار کند. در همين موضوع توليد نرم افزار هم دست شما بسيار باز خواهد بود. مي توانيد براي پلت فرم هاي مختلف و در زمينه هاي مختلف کاربردي نرم افزار بنويسيد. مهم نيست براي وب مي نويسيد يا براي ويندوز و لينوکس، مهم اين است که در زمان دانشجويي کاري انجام داده باشيد که ارزش ارائه شدن داشته باشد.
موضوع پروژه و کاري که قرار است انجام دهيد به خودتان بستگي خواهد داشت. اگر بيشتر به فکر درآمد هستيد بايستي در زمينه اي کار کنيد که بازار مي طلبد. بايد به نيازهاي بازار، شرکت ها و سازمان ها توجه کنيد و نرم افزاري بنويسيد که فرد يا شرکتي حاضر شود آن را از شما بخرد. علوم بازاريابي در اين موقعيت بسيار براي شما سودمند خواهد بود. سعي کنيد در زمينه بازاريابي نرم افزار بيشتر مطالعه کنيد تا در زمينه فروش موفق تر باشيد. تاسيس يک سايت براي معرفي محصولتان مي تواند کمک خيلي خوبي براي بازاريابي آن باشد.
اگر بيشتر جنبه ي کسب تجربه براي شما مهم است، بهتر است به کاري بپردازيد که به آن علاقه داريد. سعي کنيد بيشتر روي مباحث و تکنولوژي هاي روز دنيا کار کنيد. اگر روي يک موضوع جزئي کار کنيد و آن را به ثمر برسانيد مطمئن باشيد موفق مي شويد. مهم نیست کاری که انجام می دهید برای کاربران و افراد معمولی بی ارزش است، مهم این است که برای خودتان و احتمالاً در آینده برای متخصصان و کارفرمایان ارزش داشته باشد.

در هر صورت سعی کنید از یک جایی شروع کنید. بر اساس سطح دانش و تخصص خود یک موضوع را انتخاب کنید و روی آن کار کنید تا نتیجه بدهد. این سعی و تلاش ها نتایج بسیار خوبی خواهند داشت. حتی اگر درآمدی کسب نکنید، تجربه هایی که بدست خواهید آورد بسیار با ارزش هستند. این تجربه ها در ارائه ی پروژه ی پایان تحصیلات و پیدا کردن کار خیلی به شما کمک خواهند کرد.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :