استراتژی های برای تبدیل شدن به یک برنامه نویس موفق !

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

داشتن پشتکار

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

برای پیشرفت و پیروزی ۳ چیز لازم است : اول پشتکار ، دوم پشتکار و سوم پشتکار ! لرد بایرون

همیشه با آخرین تکنولوژی پیش بروید

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

پس زمان رو از دست ندهید ، Silverlight  ، Jquery  ، AJAX  ، MVC  ، LINQ و …. برای بهبود کار شما ساخته شده اند ، اگر کمی از وقت خود را صرف یادگیری آنها کنید میتوانید برنامه نویس بهتری شوید .

 

محیط Code به جای Design

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


Copy  ، Paste  ممنوع !

 ارسال ایمیل یا کوئری زدن به دیتابیس برای شما کدهای نامفهومی داره که به خاطر سپردنش سخته ؟

پس شما این کدها رو در جایی نگهداری میکنید و هر وقت به اونها احتیاج پیدا کردید در جای مربوطه قرار میدهید ؟

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

تکرار مادر یادگیریست ، آنتونی رابینز

 

گوگل بهترین دوست شماست !

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

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

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

اگر به خطایی برخورد کردید کافیست همان خطا را در گوگل جستجو کنید تا نتایج را ببینید ، اگر احتیاج به کدی دارید فقط کافیست چند کلیدواژه رو در گوگل وارد کرده و زبان کد مورد نظر مثل VB  ، C#  ، جاوا اسکریپت و … رو در انتهای آن وارد کنید تا به کدی که میخواهید برسید .

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

تحصیل کرده ها معمولا آن قدر سرگرم آموختن تفکرات دیگران هستند که خود وقت فکر کردن ندارند . ادوارد دبونو

برنامه های کدباز  ، بهترین منابع آموزشی

اگر میخواهید تو برنامه نویسی پیشرفت کنید برنامه های کدباز بهترین منابع آموزشی برای شما هستند ، این برنامه ها که در سایت های زیادی میتونید پیدا کنید مثل Codeplex  و یا Code Gallery  مایکروسافت میتواند ایده های خیلی خوبی برای کدنویسی به شما بدهند ، کافیست سورس برنامه ها رو به دقت مرور کنید و از کدهایی که برنامه نویسان حرفه ای تولید کرده اند بهره ببرید .

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

کار خود را تحلیل کنید

قبل از اینکه آستین های خود را برای کدنویسی بالا بزنید و بدون وقفه و نگاه کردن به زمان ساعت های زیادی مشغول کد نویسی شوید سعی کنید در مورد برنامه ای که میخواهید بنویسید تحقیق کنید ، از کارفرمای خود بپرسید از برنامه چه توقعاتی دارد  ، خروجی هایی که نیاز دارد چیست ؟

چند وقت پیش عکسی دیدم که کامل این موضوع رو نشون میده :

2.jpg
مش​اهده تصویر در سایز بزرگتر

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

 

 

 

 

اگر ۱۰ ساعت زمان برای بریدن یک درخت داشته باشم ، ۹ ساعت آن را صرف تیز کردن اره خواهم کرد ، ناشناس

مستندسازی

بعد از یک مدت طولانی به سراغ کدی میروید که قبلا آنرا نوشته اید ، هر چقدر کد را بالا و پایین میکنید قسمتی که میخواهید تغییر دهید را پیدا نمیکنید ! این اتفاق برای خیلی از برنامه نویس ها پیش می آید ، اما مشکل کجاست ؟

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

۱۰ Minutes to document your code

C# Documenting and Commenting

Documenting VB.NET source code with XML Comments

یادتان باشد مستندسازی زمان زیادی از شما نمیگرد ، اما زمان های آینده شما را خریداری میکند !

مشتری شما یک برنامه نویس نیست !

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

3.png

سعی کنید اندازه کنترل ها رو بر اساس نیاز آنها طراحی کنید ، اگر قراره در یک کادر یک عدد ۴ رقمی نوشته بشه یک Textbox  با طول ۱۰۰ کاراکتر قرار ندهید ! یا اگر فرم شما کنترهای بسیاری را شامل میشود سعی کنید آن را در ۲ صفحه و با ظاهر بهتری پیاده سازی کنید .

یادتان باشد ظاهر از کدی که مینویسید مهتر است !

Don’t design like a programmer

اعتبارسنجی کنید

یکی از مواردی که بیشتر برنامه نویسان رعایت نمیکنند اعتبار سنجی کنترلهای درون فرم هاست ، کاربر بجای وارد کردن عدد یک متن را وارد میکند ، دکمه تایید را کلیک میکند و …..

فکر کنم خودتان میدانید چه اتفاقی می افتد ، با خطایی مواجه میشود که حس بدبینی او را نسبت به برنامه بر می انگیزد !

4.gif

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

همچنین سعی کنید به جای نمایش صفحات عجیب و غریب خطا که به کاربر نمایش داده میشود صفحات و یا فرم هایی را طراحی کنید که کاربر به آن منتقل شود و با یک پیغام مناسب روبرو شود تا اطلاعاتی در مورد خطایی که فقط خود شما میفهمید !

5.jpg
در لینک های زیر میتوانید انواعی از صفحات جالب طراحی شده برای این منظور را مشاهده کنید :

۴۰۴ Error Pages, One More Time

۴۹ Nice And Creative Error Pages

همچنین سعی کنید از بلاک های Try  ، Catch  ،  Finally  در کدهای خود استفاده کنید تا بتوانید در هنگام رخ دادن خطا عکس العمل مناسبی انجام دهید و پیام درستی به کاربر نشان دهید .

try-catch-finally

try-catch

از استانداردها استفاده کنید

 

آیا با معماری چند لایه آشنا هستید ؟

 آیا چیزی در مورد Design Pattern  ها شنیده اید ؟

آیا میدانید به جای نوشتن Store Procedure  ها طولانی میتوانید از LINQ  استفاده کنید ؟

و ……….

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

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

حتما تصور میکنید برنامه نویس بسیار مسلط و حرفه ای هستید ؟ یا فکر میکنید تو شهر خود جزو ۱۰ نفر اول هستید و یا حتی از همه بهترید ؟

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

سعی کنید با افراد متخصص بیشتر در ارتباط باشید و یا در محیطی کار کنید که افراد متخصصی در آن مشغول به کار هستند ، اینکار به شما کمک میکند سطح توانایی های خود را بالا ببرید و از تجربیات انها برای پیشرفت خود استفاده کنید . طبق آمارهای جهانی هر شخص هر ۳ یا ۴ سال محل کار خود را تغییر میدهد که این رقم در حال کاهشه ! سعی کنید در یک شرکت سال ها وقت خود را هدر ندهید و تبدیل به فسیل سازمانی نشوید ! یک برنامه نویس باید همیشه خود را به روز نگه دارد ، اگر شرکت شما مایل به ارتقا نیست و از همان روش های سنتی استفاده میکند بهتره به فکر شرکت جدید برای خود باشید !

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

در آخر میخواهم جمله ای خدمت شما عرض کنم که ۲ سال پیش در کتابی خوندم و واقعا تو پیشرفت به من کمک بسیار زیادی کرد :

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

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

موفق و پیروز باشید.


پاسخ دهید