PDA

View Full Version : گفتگو: می خواهم حرفه ای شوم!



Warrior
سه شنبه 04 اسفند 1388, 14:25 عصر
سلام به همه ی دوستان,

راستش من خیلی خیلی دلم پر است...
از دست خودم!!!
من از 5 سال پیش(VB6) برنامه نویسی را شروع کردم و حدود 1.5 سال پیش در خدمت آقای کیانی در اصفهان پروژه ای را کار کردیم و C#‎ را اینگونه یاد گرفتم.
از حدود 1.5 سال پیش تا کنون همیشه سعی کردم سطح خودم را خیلی خیلی بالا تر از این ها ببرم ولی متاسفانه از طرفی دانشگاه و درس و از طرفی تنبلی خودم اجازه نمی دادند!

حالا تصمیم گرفته ام واقعا یک برنامه نویس حرفه ای شوم!
دلم نمی خواهم فقط و فقط برای در آوردن پول برنامه نویس شوم چون من واقعا به برنامه نویسی علاقه دارم و بعضی وقت ها کد هایی می نویسم که باورش برای خودم سخت است ولی از طرفی بعضی وقت ها به شـــــــــــــدت خنگ (:لبخند:) می شوم و اصلا نمی توانم یک کار ساده در یک برنامه را انجام دهم(فکر کنم به دلیل کم تجربگی باشد...).
تا به حال برای جایی برنامه ننوشته ام ولی معماری سه لایه را بلدم, طراحی پایگاه داده را بلدم ولی متاسفانه فرصت نکرده ام که برای جایی برنامه بنویسم.
البته 1.5 سال پیش پس از یاد گیری C#‎ به حدود 15 مغازه ی کوچک و بزرگ سر زدم و به آن ها گفتم که اگر بخواهند می توانم برایشان برنامه ای بنویسم ولی اکثرا یا خودشان یکی از این برنامه های خوب ایرانی را داشتند و یا اصلا و ابدا حاضر نبودند برای این چیز ها پولی بپردازند!!!! و من حســـــــــــــــــــــاب ی دل زده شدم و 7-6 ماه دست به C#‎ نزدم!!! تا اینکه دو ترم قبل مجبور به استفاده از C#‎ برای درس پایگاه داده شدم و برنامه ی خوبی هم نوشتم و دوباره علاقه ی من به برنامه نویسی برگشت.

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

مشکلاتی که فعلا به ذهن خودم می رسند:

-کلاس نویسی را در سطح خوب بلد نیستم!
مثلا من برنامه هایی دیده ام که تقریبا همه ی برنامه داخل یک کلاس نوشته شده است و داخل فرم ها خیلی خیلی ساده از آن کلاس استفاده می کنند(مثل برنامه ای که یکی از دوستان نوشته بودند که تاریخ امروز را نشان می داد داخل System Tray!)
اصلا نمی دانم چطور باید یک شی را برای خودم تعریف کنم و اصلا چطور داخل کلاس کد بنویسم(سه لایه بودن را هم از طریق تجربه یاد گرفتم و تمرین و کار...)

-از Help ه MSDN نمی دانم چطور استفاده کنم و همیشه وقتی چیزی را جستجو می کنم مات و مبهوت به 50-40(حالا کم تر و بیش ترش را کاری ندارم) عبارت مشابه در سمت چپ نگاه می کنم...!

-ایــــــــــــــــن همه NameSpace هست ولی متاسفانه نمی دانم چطور از آن ها استفاده کنم!

و مشکلات کوچک و بزرگ دیگر ...


خلاصه بگویم که می خواهم هر طور هست و هرچه زود تر شروع کنم به برنامه نویسی حرفه ای!

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

راستی, زبان انگلیسی ام هم تقریبا خوب است.
همیشه دنبال جدید ترین چیز ها در برنامه نویسی هستم و در سایت های مختلف(مخصوصا آن ها که مال Microsoft هستند) می لولم(البته جدیدا دوباره شروع به این کار کردم(با شروع ترم جدید)) :لبخند:
اصلا و ابدا قصد تعریف از خودم را ندارم ولی کلا آدم به روزی هستم.
دلم می خواهم از این به روز بودن استفاده کنم و بیهوده هدرش ندهم.
دلم می خواهم زحمات پدر و مادرم را در آینده جبران کنم.

باز هم تاکید می گویم واقعا می خواهم برنامه نویسی را شغل اصلی خودم در آینده انتخاب کنم و برای همین می خواهم پیشرفته شوم!
داخل دانشگاه به تنها درسی که زیاد علاقه دارم برنامه نویسی است و همیشه خلاقیت های خاص خودم را در طول ترم می بینم و خوشحال می شوم ولی در همان لحظه می گویم: "تو که هیچی بلد نیستی, یه برنامه برای جایی ننوشتی, بلد نیستی با CPU و Hardware کار کنی, دلت را به چی خوش کردی؟! به همین خلاقیت جالب که تا وقتی تو یه پروژه ی واقعی درست و حسابی ازش استفاده نکنی کسی نگاهت هم نمی کنه؟!"
و خلاصه خودم را همیشه سرزنش می کنم :گریه:

کمکم کنیــــــــــــــــــــــ ـــــــد :گریه::گریه:

پیشاپیش از راهنمایی های شما بسیار بسیار ممنون و سپارگذارم

morteza.azad
سه شنبه 04 اسفند 1388, 14:38 عصر
سلام.فقط بهت اينو ميگم كه به روز بودن خوبه، اما نبايد هي از اين شاخه به اون شاخه پريد. قشنگ يك مرجع رو پيدا كن و اونو خوب بخون، حتي اگه شده چندين بار بخونشَ، مهم اينه كه ياد بگيري نه اينكه به روز باشي و نتوني چندتا خط كد بنويسي، مطلب واسه خوندن زياده، همه برنامه نويس ها هم نميتونن همه چيز برنامه نويسي رو بلد باشن.
من برنامه نويس حرفه اي ميشناسم كه كلاس ‌file رو نميشناسه يا بلد نيست با timer كار كنه، اين دليل نميشه كه برنامه نويس ها همه چي بلد باشن. مهم اينه كه اول مفهوم شي گرائي و اگه وقت كردي مفهوم design pattern رو ياد بگيري. بقيه اش راحت ميتوني پيدا كني هر وقت به كارت اومد.

morteza.azad
سه شنبه 04 اسفند 1388, 14:39 عصر
سلام.فقط بهت اينو ميگم كه به روز بودن خوبه، اما نبايد هي از اين شاخه به اون شاخه پريد. قشنگ يك مرجع رو پيدا كن و اونو خوب بخون، حتي اگه شده چندين بار بخونشَ، مهم اينه كه ياد بگيري نه اينكه به روز باشي و نتوني چندتا خط كد بنويسي، مطلب واسه خوندن زياده، همه برنامه نويس ها هم نميتونن همه چيز برنامه نويسي رو بلد باشن.
من برنامه نويس حرفه اي ميشناسم كه كلاس ‌file رو نميشناسه يا بلد نيست با timer كار كنه، اين دليل نميشه كه برنامه نويس ها همه چي بلد باشن. مهم اينه كه اول مفهوم شي گرائي و اگه وقت كردي مفهوم design pattern رو ياد بگيري. بقيه اش راحت ميتوني پيدا كني هر وقت به كارت اومد.

M.YasPro
سه شنبه 04 اسفند 1388, 14:44 عصر
به نظر من اگر با syntax مشکل نداری با یه پروژه شروع کن . البته برای خودت یه مشتری پیدا کن حتی ازش پول نگیر و سعی کن همه خواسته هاش رو بر آورده کنی . چون اگه شما 100 تا کتاب بخونی اندازه یه پروژه علمی و کاربردی نمی تونه کمکت کنه.

Salar Ashgi
سه شنبه 04 اسفند 1388, 21:08 عصر
من همیشه اینو میگم ، به قول یکی از استادای ما :

برنامه نویسی رو فقط با برنامه نویسی میشه یاد گرفت ! یعنی تا برنامه ننویسی و کد نزنی ، لذت عالم

برنامه نویسی رو بدست نمیاری و فقط به پوسته دنیای برنامه نویسی میرسی ، نه به هسته اش .

تئوریات تا زمانیکه به وهله عمل نرسد ، هیچ پیشرفتی در کار نخواهد بود .

دروس مختلفی تو دانشگاه میخونیم : مبانی ، پیشرفته ، ساختمان داده ، الگوریتم ، هوش و ... اگه این

تئوریات تبدیل به عمل نشن ، یعنی براشون برنامه کاربردی ننویسی ، یاد گرفتنشون با یاد نگرفتنشون

تفاوتی نخواهد داشت .

راه چاره : اولین و بهترین راه توکل و امید به آنکه هرچه داریم از اوست (خداوند زیبای متعال) ، دوم :

سعی کنید همانطور که ذکر شد پروژه های عملی زیادی بنویسید تا ذهن الگوریتمیتون تقویت بشه و قدرت

کد زنی تون بالا بیاد و نکته بعدی اینکه چرا فکر های منفی رو تو خودتون پرورش میدین ، تا زمانیکه افکار

مثبت وجود دارن ، جایی برای افکار منفی نیست ! بجای اینکه مثلا بگین من برنامه نویسی سیستمی رو

بلد نیستم ، بگین میرم یاد میگیرم و از همه میزنم جلو و ... که کمک خاصی بهتون میکنه .

موفق و پیروز باشید در پناه حق . یا علی ...

mehdi.mousavi
چهارشنبه 05 اسفند 1388, 10:24 صبح
سلام. من برنامه نويس حرفه اي ميشناسم كه كلاس ‌file رو نميشناسه يا بلد نيست با timer كار كنه، اين دليل نميشه كه برنامه نويس ها همه چي بلد باشن. مهم اينه كه اول مفهوم شي گرائي و اگه وقت كردي مفهوم design pattern رو ياد بگيري. بقيه اش راحت ميتوني پيدا كني هر وقت به كارت اومد.

سلام.
کسی که بلد نیست با فایل و Timer کار کنه، اسمش برنامه نویس نیست. عین این میمونه که مکانیکی از نحوه کارکرد موتور اتومبیل بی اطلاع باشه، اما خودشو "مکانیک حرفه ای" بدونه. متاسفانه با این واژه "حرفه ای" خیلی بد بازی شده و هر کسی که چشم باز میکنه و دو خط کد مینویسه، فکر میکنه عالم رو تسخیر کرده!

درسته. منم همه چیز رو نمیتونم بخاطر بسپارم، خصوصا اینکه تعدد تکنولوژیها و زبانهای مختلف برنامه نویسی، نیازمند Context Switching مداوم هستش. اما بعنوان مثال، من کارکردن با CHUNK ها و ارتباط برنامه های 16 و 32 بیتی رو فراموش کرده ام که با یک نگاه به منابعی که از 10-12 سال پیش دارم، میتونم دوباره اونها رو بیاد بیارم. اما Timer و فایل چیزهایی نیستن که 10-12 سال استفاده نشن و ... در کل، منظورم اینه که این فرد "حرفه ای" نبوده، حداقل در مورد برنامه نویسی...

البته با این بخش از حرفتون کاملا موافقم که برنامه نویسها همه چیز رو بلد نیستن. این کاملا طبیعی و عقلانی هستش. در بخشی دیگه گفته اید که "اول مفهوم شی گرایی" رو باید یاد بگیرن. چرا همچین پیشنهادی میدید؟ این کاملا بستگی به این داره که قراره تو چه زمینه ای فعالیت کنن. بعنوان مثال، برای نوشتن برنامه های Embedded (عموما) نیازی به دونستن Object Oriented نیست! بنابراین نمیشه همچین نسخه عمومی ای برای دیگران پیچید.

و در نهایت فرموده اید که "اگر وقت کردی مفهوم Design Pattern رو یاد بگیر".... من 100% با این حرف شما مخالفم. یعنی چی وقت کردی؟ مکانیکی که از نحوه کارکرد موتور مطلعه، اما نمیدونه شلنگ بنزین رو از کجا باید رد کرد، میتونه براحتی جون افراد رو به مخاطره بندازه.

الگوهای طراحی نرم افزارها چیزی نیستش که "اگر وقت کردن" برن یاد بگیرن. کسی که بدون الگو برنامه بنویسه، عموما کدش Spaghetti میشه و ... در این مورد قبلا زیاد صحبت کرده ام...

موفق باشید.

r00tkit
چهارشنبه 05 اسفند 1388, 12:48 عصر
من زیاد حرف نمی زنو چون سنم از همه کم تر هستش (19)

شما رو توصیه می کنم به چتد چیز :

توی رشته و زبان مورد علاقه خودتون اطلاعات عمومی رو ببرید بالا برای این کار مثلا شروع به خوندن پست های اعضاء خفن کنید (البته پست های مربوط )

هر چی بیشتر کتاب بخونید==بیشتر یاد می گیرید واین نیاز به صرف زمان داره
با برنامه کتاب بخونید(البته من خودم 500تا موضوع رو با هم می خونم)


syntax زبان شرط لازم هست اما کافی نیست مثلا تو c# باید روش واکنش clr با code های مختلف رو یاد بگیری این رو performance کد تاثیر داره (می تونی کد های بهتری بنویسی)

ویژگی ها زبان رو درک کن (generic, lambda expression,extension method,....)

اگه C# کاری اجزاء net.رو درک کن مثل garbage collectio,......

پرژه بنویس اما اگه تازه کاری برای خودت نه کس دیگه تا تجربت زیاد بشه

و در اخر زندگیت برنامه نویسی باشه که خود به خود طی چند سال به چیزی که می خوای می رسی

شما رو به خوندن وشنیدن توصیه های افرادی که زندگیشون برنامه نویسی هستش توصیه می کنم

برنامه نویسی در 10 سال (http://barnamenevis.org/forum/showthread.php?t=150950)

amirjalili
چهارشنبه 05 اسفند 1388, 13:04 عصر
اگر syntax رو خوب بلدی با یک پروژه بزرگ شروع کن. تا وقتی حداقل 4-5 سال برنامه نویسی نکردی و پروژه های زیادی رو کار نکردی هرگز سراغ Design pattern نرو که در این صورت بدترین و خطرناکترین راه رو انتخاب کردی. چون در این صورت با یادگیری یک سری مفاهیم کلی Design pattern , فقط تبدیل به برنامه نویسی پر مدعا میشی که فقط بلد حرف بزنه و بعد هم که سرخورده میشی و بی خیال میشی و یا از اینایی میشی که تو نیازمندی های روزنامه اگهی میدن و crm و فروشگاه اینترنتی و هاست و دامین رو به قیمت 50000 تومان میفروشن و آخرش هم یه پول و میگیرن و چیزی تحویل مشتری نمیدن.. بعد کم کم یاد میگیری که باید با کلمات قلمبه سلمبه ای که از همین معماری چند لایه و سرویس و design pattern و ... یاد گرفتی فقط استفاده کنی برای اینکه مشتری جذب کنی(عین خیلی از همین هایی که تو الکامپ امسال بودن.. از بزرگاش تا فسقلی ها) و آخرش هم کاری واسش نکنی. پس میبینی که چقدر زود شروع کردن این مفاهیم عمیق خطرناکه.

کلاس خوب برو.. کتاب زبان فارسی هیچ وقت نخون .. نترس از اینکه چیزای ساده رو بلد نباشی چون اینطوری میری سر چیزایی مثل همون هایی که بالا گفتم و اونی میشه که اشاره کردم. اگه وب کار میکنی زودی نرو سر چیزای قلمبه سلمبه. مدت ها سر همون css و html و xml که همه ادعا میکنن بلدن وقت بزار. من به تجربه میگم که 60-70 درصد برنامه نویس های حرفه ای وب تو ایران css رو کامل کامل و مطابق همونی که تو w3.org توضیح داده بلد نیستن. برنامه نویس هایی که این حرف من خیلی بهشون بر میخوره برن w3 بخونن.. خودشون میفهمن که کلا 30 درصد هم css نمیدونن.

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

Warrior
چهارشنبه 05 اسفند 1388, 13:32 عصر
خب اول باید یاد بگیرم تا بعد پولدار شوم درست است؟!
هدف من فقط و فقط در حال حاضر یاد گیری است و خود این یاد گیری اتوماتیک وار پول را هم به همراه خودش می آورد.

دوستان, فوق العاده از کمک های شما ممنونم ولی فکر نکنید الان دیگر همه چیز را فهمیده ام و دیگــــــــــــر تمام شد!!
من هنوز به این تاپیک امیدوارم و امیدوارم دوستان دیگری هم تجربیان خودشان را در اختیار من بگذارند.

راستش تصمیم گرفته ام به کمک یکی از دوستانم در دانشگاه(به خاطر این تاپیک و راهنمایی های خوب شما) یک پروژه را شروع کنم.
می خواهم اصولی و درست و حسابی کار کنم روی پروژه!
یعنی از همان اول کار.
دوستان, مراحل ساخت یک پروژه به صورت اصولی چیست؟
اول DBA باید جدول ها و ... بانک ها و ... را مشخص کند بعد برویم سراغ UML و ... و بعد برنامه نویسی؟

اصلا این راه را پیشنهاد می کنید؟
این راه به درد چطور پروژه هایی می خورد؟(خیلی بزرگ؟, بزرگ؟ یا ...؟)
در ضمن, دوستان نظری دارند که روی چه پروژه ای(با چه عنوانی) شروع به کار کنم؟

در حال حاضر تصمیم دارم وقتی خوب Windows Application را یاد گرفتم بروم سراغ Web و ... . به نظرتان چطور است؟

کتاب هم چشم, قول می دهم یک کتاب درست و حسابی را کامل بخوانم(دایتل چطور است؟!)

ممنونم

hajizahiry
چهارشنبه 05 اسفند 1388, 15:01 عصر
دوست عزیز تا جایی مشغول به کار نشوی و به قول معروف از مفتی کار کردن شروع نکنی موفق نمی شوی
باید تحت اجبار قرار بگیری تا برنامه نویش شوی
www.codeproject.com (http://www.codeproject.com) سایت خوب است

mehdi.mousavi
چهارشنبه 05 اسفند 1388, 15:03 عصر
سلام.
برای حرفه ای شدن، ابتدا باید تعریف درستی از واژه "حرفه ای" داشته باشید. شما به چه کسی میگید حرفه ای؟ اگر معنای این کلمه رو در دهخدا ببینید، اینطور عنوان شده که حرفه ای یعنی "صاحب حرفه"، "پیشه ور" و .... به Webster که رجوع کنید، میبینید حرفه ای رو به این شکل تعریف کرده: در ارتباط بودن با حرفه، داشتن حرفه ای مادام العمر، دنباله روی از دیگران بگونه ای که اینکار شغل شخص محسوب بشه و ...

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

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

تنها چیزی که میتونم بگم، اینه که باید به زبان انگلیسی مسلط باشید. این اولین قدم برای "خوب بودن" در اینکاره. سپس خوندن کتاب.

کسی که کتاب jQuery in Action رو نوشته چون با John Resig در ارتباط بوده، بهتر میتونه مطالب رو به شما بفهمونه تا فلان استاد در بهترین موسسه آموزشی تهران. هر وقت هم دوست داشته باشید، می تونید باهاشون مکاتبه کنید و سوالاتتون رو ازشون بپرسید. کتاب، یکی از بزرگترین سرمایه های بشری هستش.

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

سعی کنید با آدمهای بزرگ نشست و برخواست کنید. به دیدگاههایی که دارن دقت کنید، اگر لازمه مدتی ادای اونها رو در بیارید تا ببینید چه حسی بهتون دست میده. (ممکنه خیلی ها این حرف منو مسخره کنن، اما این یک حقیقته) الگوهایی که انتخاب میکنید و میخواهید اونها رو mimic کنید، باید مطمئن باشید که واقعا الگو هستن. شما اگر از یک احمق تقلید کنید، هرگز به درجات عالی نخواهید رسید.

برای این کار، باید در تیمهایی قرار بگیرید که حداقل 3-4 نفر در اون تیم وجود دارن. سالها باید سکوت کنید، تا هنگام حرف زدنتون فرا برسه. از ندونستن چیزی واهمه نداشته باشید. همه چیز را همگان دانند... بعضی وقتها فرصتها پشت سوالات خیلی خیلی ساده (که ممکنه احمقانه هم بنظر برسه) پنهان شده اند.

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

موفق باشید.

debugger
چهارشنبه 05 اسفند 1388, 15:17 عصر
mehdi.mousavi جان توضیحاتتون بسیار عالی و بسیار پر محتوا بود . خط به خط خوندم

کاملا شفاف و عالی

من به نوبه ی خودم از شما تشکر می کنم

j_naroogha@yahoo.com
چهارشنبه 05 اسفند 1388, 18:46 عصر
دوستان راست میگن
پیشرفت توی برنامه نویسی فقط با انجام پروژه حاصل میشه
من خودم برای کار با سی شارپ نرم افزار دبیر خانه رو بر داشتم
خودم از کارم راضی ام
حال میخام اینو برای سایر دوستان آپلود کنم اگه دوستان کمکم کنند که چه طوری آپلود کنم .؟

jas1387
چهارشنبه 05 اسفند 1388, 21:11 عصر
کتاب، یکی از بزرگترین سرمایه های بشری هستش.






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


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

mary3541
یک شنبه 23 اسفند 1388, 19:19 عصر
دوستان, مراحل ساخت یک پروژه به صورت اصولی چیست؟
اول DBA باید جدول ها و ... بانک ها و ... را مشخص کند بعد برویم سراغ UML و ... و بعد برنامه نویسی؟


میشه جواب این قسمت رو بدید ؟
فکر کنم این قسمت خیلی خیلی مهم باشه.

amirpub
دوشنبه 24 اسفند 1388, 03:00 صبح
میشه جواب این قسمت رو بدید ؟
فکر کنم این قسمت خیلی خیلی مهم باشه.

فکر کنم جواب این سوال به مباحث مربوط به مهندسی نرم افزار و مدیریت پروژه مربوط بشه

ak.royan
دوشنبه 24 اسفند 1388, 09:14 صبح
سلام. همون طور که تقریبا همه دوستان گفتند باید کار عملی بکنی ولی چند تا توصیه است که فکر میکنم به دردت بخوره. گویا شما توی کلیات برنامه نویسی مشکل داری. بلد بودن نحو زبان برنامه نویسی لازمه ولی کافی نیست. به نظرم باید روی دو تا موضوع تمرکز کنی. یکی مبحث مهندسی نرم افزار، که فکر میکنم مهمترین مبحث رشته نرم افزار توی دانشگاه هاست. موضوع دیگه شی گرایی که کمک خیلی زیادی به برنامه نویس میکنه. البته ناگفته نمونه که شی گرایی کم کم داره منسوخ میشه و متد جدیدی جاش رو میگره به نام Aspect Oriented .

SEDIQI-MARYAM
دوشنبه 24 اسفند 1388, 10:44 صبح
بزن تو جاده اصلی ولی نه مفتکی !!!
سلام
نمیدونم چرا ولی با حرفهای هیچکدام از این بچه ها موافق نیستم . به نظر من به روز بودن توی کامپیوتر مثل یه کاسه آب میمونه واسه ماهی . ولی نباید به روز بودن رو با از این شاخه به اون شاخه پریدن قاطی کنی. من دو سه سال هست که برنامه مینویسم شاید تجربه بعضی از بچه های برنامه نویس رو نداشته باشم اما اصلا حاضر نیستم مجانی کار کنم .
به نظر من برو دنبال یک کار بگرد یک کار خوب با پول خوب گیر بیار ادم تو کار چیز یاد میگیره .
فقط تفاوت ما برنامه نویسها با بقیه اینه که ما رییس و مدیر عامل و کارمند و ابدارچی و خلاصه همه چیز شرکتمون خودمونیم .
میدونی چرا دلم میخواد بهت کمک کنم واسه اینکه همدرد بودیم .من با VB شروع کردم بعد هم یه مدتی مثل خودت زدم تو جاده خاکی تا اینکه دو سال پیش دوباره شروع کردم البته اینبار C#‎ .
این بار ولی خیلی جدی شدم . کار میگرم سرچ میکنم و مینویسم . راستی تو مباحث شیء گرایی کلاسها و خلاصه مباحث Foundation یه سایتی بیشتر از بقیه بهم کمک کرد learn.soroush-sarabi.com (http://learn.soroush-sarabi.com/)
یه بار دیگه بگم حق نداری مفتی کار کنی . نخواستی پولش رو بده به من .

seven7777777
دوشنبه 24 اسفند 1388, 14:00 عصر
دوست عزیز سلام
اساتید حرفای قشنگی زدن . خیلیاش درست بود . بعضیاشو من موافق نبودم و بعضیاشم موردی درست بود . اما گفتی تجربه ، گفتم منم بگم از تجربم :

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

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

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

کار چهارم :
یه سایت واسه یکی از رفقای همین آقا بود تو تهران که یه شرکت پژوهشی داشت . با اونها هم قرارداد نوشتم و مبلغ 500000 تومان برا سایت ازشون گرفتم . با PHP نوشتم و در اون کار با نحوه Upload کردن سایت و Run کردنش آشنا شدم . ( خیلی جالب بود آخه دو روز قبل سربازیم درست شد )

کار پنجم :
توسط همون شرکت یه کار واسه وزارت بهداشت پیشنهاد شد . مبلغ قرارداد 1000000 تومان بود . هنوز مشغول این کارم . خیلی توش اذیت شدم و با موارد بسیار جالبی مواجه شدم . خیلیاشو یاد گرفتم و بعضیاشم هنوز برام سواله اما به خاطر محدودیت زمانی از یه راه دیگه ( و نه استاندارد ) حلشون کردم . مواردی که تو این کار یاد گرفتم بیشماره مخصوصا تو بخش گزارش گیری ها .

======================
همه موارد بالا تو 2 . 3 سال اتفاق افتاده . من هنوز خیلی کم از برنامه نویسی بلدم . همین الانم کلی مشکل دارم که انشاله حل بشه . در کل همین چند درصد پیشرفت رو در دلایل زیر می بینم :
1. خدا خیلی بهم لطف داره با اینکه بنده خوبی براش نبودم .
2. من 3 سال پیش ازدواج کردم و تشویقای همسرم باعث شد تا شروع به برنامه نویسی کنم . قبل از اون حتی محیط ویژوال رو ندیده بودم و فقط PES و NFS بازی می کردم ( مثل یه معتاد )
3. همیشه به واسطه همسرم توکلم به خدا بوده . یه وقتایی که نامید میشدم سریع منو برمیگردوند و جالب بود که همون موقع مشکلم به طرز عجیبی حل میشد ( گاها اتفاقی )
4. خدا پدر سایت گوگل و همه عواملشو بیامرزه ، یاد گرفتم از Google استفاده کنم نه فقط باهاش بازی کنم .
5. خدا پدر آقای هاشمیانم بیامرزه . کتابش شد نقطه شروع من . هرچند هیچ وقت نخوندمش !!!
6. خدا پدر و مادر عوامل سایت برنامه نویسو همه کسایی که توشن بیامرزه که هر چی دارم از این بچه های گل و خوبه .
7. باید کار کرد . دقت کردی تو هر کارم یه مشکل جدید و یه چیز جدید واسه یادگیری داشتم .
8. پول می تونه یه نیروی محرکه واسه فعالیت آدم باشه . معمولا آدمیزاد هیچ کاری رو مجانی نمیتونه انجام بده . کلا به فکر پول نباش یعنی اگه کار اولتو گفتن 100000 تومن نگو نه . چون بعدیش حتما بیشتره . ( یه دوستی می گفت : همیشه تو کارای اول و دوم باید از جیب هم بزاری )
9. هیچ کس همه چیزو بلد نیست . فکر نکنم اعضای تیم سازنده ویژوال و زبان C#‎‎ هم با همه امکاناتش آشنا باشن . همه نیازمند یادآوری هستیم و یادگیری . پس اگه رفتی سراغ کار بلد نبودی ، یاد بگیر و اگه بلد بودی و یادت نبود ، یادآوری کن .
10. دعای پدر و مادرت رو حتما ازشون بگیر . بگو دعات کنن تا بهترین باشی از هر نظر .
11. بعضی وقتا بعضی چیزا تو مخ آدم نمیره . من خیلی بش برخوردم یا خطاهایی تو برنامه هست که واسه هیچکی تا حالا پیش نیومده . نامید نشو . هیچ کاری یه راه حل نداره .

و خیلی چیزای دیگه . تجربیاتم زیاد شد و خسته کننده ...
به امید موفقیت روزافزونت

alirat
جمعه 29 مرداد 1389, 08:34 صبح
والا من کم سن و سال ترین برنامه نویسم که تا الان دیدم :لبخندساده: هنوز تو 17 نرفتم و انو بتون بگم ... مقدمات با کتاب باشه و برای حرفه ای شدن پروژه های نون و آبدار قبول کتید که پول براتون انگیزه باشه تا یه کار عالی تحویل بدی

samaram
یک شنبه 02 آبان 1389, 16:35 عصر
خب اول باید یاد بگیرم تا بعد پولدار شوم درست است؟!
هدف من فقط و فقط در حال حاضر یاد گیری است و خود این یاد گیری اتوماتیک وار پول را هم به همراه خودش می آورد.

دوستان, فوق العاده از کمک های شما ممنونم ولی فکر نکنید الان دیگر همه چیز را فهمیده ام و دیگــــــــــــر تمام شد!!
من هنوز به این تاپیک امیدوارم و امیدوارم دوستان دیگری هم تجربیان خودشان را در اختیار من بگذارند.

راستش تصمیم گرفته ام به کمک یکی از دوستانم در دانشگاه(به خاطر این تاپیک و راهنمایی های خوب شما) یک پروژه را شروع کنم.
می خواهم اصولی و درست و حسابی کار کنم روی پروژه!
یعنی از همان اول کار.
دوستان, مراحل ساخت یک پروژه به صورت اصولی چیست؟
اول DBA باید جدول ها و ... بانک ها و ... را مشخص کند بعد برویم سراغ UML و ... و بعد برنامه نویسی؟

اصلا این راه را پیشنهاد می کنید؟
این راه به درد چطور پروژه هایی می خورد؟(خیلی بزرگ؟, بزرگ؟ یا ...؟)
در ضمن, دوستان نظری دارند که روی چه پروژه ای(با چه عنوانی) شروع به کار کنم؟

در حال حاضر تصمیم دارم وقتی خوب Windows Application را یاد گرفتم بروم سراغ Web و ... . به نظرتان چطور است؟

کتاب هم چشم, قول می دهم یک کتاب درست و حسابی را کامل بخوانم(دایتل چطور است؟!)

ممنونم
خیلی دلم میخواد دوستان به این سوال ایشون جواب بدن

hossein2007
یک شنبه 02 آبان 1389, 20:38 عصر
سلام دوست عزیز

بنظرم بهتره الان که توی شروع کار هستی 80 درصد یادبگیری 20 درصد کار عملی کنی باور کن نتیجه می گیری.
برا کتاب هم اگه قراره با دات نت کار کنی سراغ هیچ کتابی نرو بجز کتاب انتشارات خود ماکروسافت که واقعا عالیه و مطالب رو با یه روش آموزشی عالی و بترتیب درست و از پایه توضیح داده.
کتاب C#‎ دوره MCTS رو دانلود کن.
فکر کنم آپلودش تو سایت مجاز نباشه وگرنه می گذاشتمش.

samaram
دوشنبه 03 آبان 1389, 15:37 عصر
سلام دوست عزیز

بنظرم بهتره الان که توی شروع کار هستی 80 درصد یادبگیری 20 درصد کار عملی کنی باور کن نتیجه می گیری.
برا کتاب هم اگه قراره با دات نت کار کنی سراغ هیچ کتابی نرو بجز کتاب انتشارات خود ماکروسافت که واقعا عالیه و مطالب رو با یه روش آموزشی عالی و بترتیب درست و از پایه توضیح داده.
کتاب C#‎‎ دوره MCTS رو دانلود کن.
فکر کنم آپلودش تو سایت مجاز نباشه وگرنه می گذاشتمش.
به نظر شما اول مهندسی نرم افزار مطالعه کنم یا کد زنی؟
میشه لینکشو برام بذارید؟ البته 2005 رو گیر آوردم. 2008 هم هست؟

Mohandes2009
دوشنبه 03 آبان 1389, 18:33 عصر
ابتدا خیلی کار خوبی میکنی که می خوای حرفه ای شی ..

یکــ کار اساسی اینهکه شما بری و در ی شرکت برنامه نویسی استخدام بشی و کار را بصورت جدی انجام بدی!
بعد سعی بکنی از ترفندهای خوب اونا استفاده کنی و یاد بگیری چیزی ازشون.. اینجوری بعد چند مدت شما کاملا خوب و حرفه ای یاد میگیری:لبخندساده:


بهترین کار واسه حرفه ای شدن کار کردن در یجای حرفه ای است!!!

reza2012
دوشنبه 03 آبان 1389, 23:03 عصر
به نظر شما اول مهندسی نرم افزار مطالعه کنم یا کد زنی؟
میشه لینکشو برام بذارید؟ البته 2005 رو گیر آوردم. 2008 هم هست؟

lمن هم لینک این کتابو میخوام موفق به پیدا کردنش نشدم:ناراحت:

hossein2007
سه شنبه 04 آبان 1389, 10:23 صبح
به نظر شما اول مهندسی نرم افزار مطالعه کنم یا کد زنی؟
میشه لینکشو برام بذارید؟ البته 2005 رو گیر آوردم. 2008 هم هست؟

سلام دوست عزیز.
بذار یه موضوعی رو مطرح کنم که دید بهتری نسبت به مساله داشته باشی.

مهندسی نرم افزار اونقدر وسیع هست که یک رشته دانشگاهی در سطح کارشناسی و حتی کارشناسی ارشد را شامل می شه.
دید شما (و کل جامعه) باید نسبت به مهندسی نرم افزار عوض بشه. شما باید همون دیدی که درباره مهندسی عمران/مهندسی برق/مهندسی مکانیک و ... داری درباره مهندسی نرم افزار هم داشته باشید.

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

ایکه چرا دید اجتماع نسبت به مهندسی نرم افزار با بقیه رشته های مهندسی اینقدر تفاوت داره بحث دیگری هست.

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

در مورد کتاب، من 2008 رو ندارم. ولی همون 2005 کاملا کفایت می کنه.