نکاتی برای بالا بردن سطح برنامه‌نویسی
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 7 دقیقه

نکاتی برای بالا بردن سطح برنامه‌نویسی

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

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

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

در کتاب «Art and Fear» نوشته شده است:« استاد کوزه‌گری در اولین روز کلاس اعلام کرد که دانش‌آموزان را به دو گروه تقسیم خواهد کرد. دانش‌آموزان سمت چپ از نظر کمیت و دانش‌آموزان سمت راست از لحاظ کیفیت رتبه‌بندی می‌شوند.

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

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

هرگز تسلیم نشوید

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

خیلی از مردم با رسیدن به یک سطح خاص از مهارت، دیگر بیخیال تلاش کردن می‌شوند. آن‌ها به کارهای روزمره خود بسنده می‌کنند و به سراغ چالش‌ها نمی‌روند. به عنوان مثال Shinji در جهان به عنوان باشکوه‌ترین شناگر شناخته می‌شود. او شنا کردن را در اواخر دهه 30 سالگی خود شروع کرد و حالا ویدیوهای شنای او در یوتیوب از مایکل فلپس هم محبوب‌تر است. چگونه یک شخص معمولی توانست به چنین عملکرد خوبی دست پیدا کند؟ مطمئناً تمرینات زیاد او را به چنین جایگاهی رساند. او گفته است:« هدفم این بود که به باشکوه‌ترین شناگر دنیا تبدیل شوم. معمولاً وقتی در ژاپن بودم، 4 روز در هفته از ساعت 10 شب تا 2 صبح در استخر شنا می‌کردم. سپس نقص‌های کوچک را پیدا کرده و آن ها را اصلاح می‌کردم.»

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

میزان استعداد یا تلاش‌های شما همیشه ملاک نیست، چون رسیدن به بعضی چیزها زمان می‌برد. وارن بافت می‌گوید:« با باردار کردن 9 زن نمی‌توانید در عرض 1 ماه صاحب فرزند شوید.»

Mary Poppendieck در تالیف برخی از کتاب‌های موفق نقش داشته و نرم‌افزارهای متعددی را توسعه داده است. او در یکی از کتا‌ب‌های خود می‌گوید:« افراد نخبه برای تبدیل شدن به یک متخصص به حداقل 10 هزار ساعت تمرین سنجیده و متمرکز نیاز دارند».

تخصص به تدریج و به مرور زمان بدست خواهد آمد. 10 هزار ساعت زمان بسیار زیادی است. یعنی باید این کار را هفته‌ای 20 ساعت به مدت 10 سال انجام دهید. شاید احساس کنید که برای این کار ساخته نشده‌اید. به خودتان ایمان داشته باشید. Ralph Waldo Emerson گفته است:« تمام هنرمندان در ابتدا یک آماتور بوده‌اند.»

شما نیازی به دیدن تمام راه‌پله ندارید، فقط باید اولین قدم را بردارید

تحقیقات انجام شده در دو دهه گذشته ثابت کرده که تمرینات سنجیده جزو مهم‌ترین فاکتور در بدست آوردن یک مهارت هستند. محققان زیادی بر این باورند که استعداد ذاتی تنها تا یک حد می‌تواند تاثیرگذار باشد. برای اینکه یک ورزش یا حرفه را شروع کنید، باید حداقل توانایی طبیعی را داشته باشید. معمولاً افراد برتر همان کسانی هستند که بیشترین تلاش را می‌کنند.

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

برنامه نوشتن همیشه نباید احساس بدی را به شما منتقل کند، اما باید دائماً شما را با مشکلات متعددی روبرو کند. تمرین سنجیده در مورد یادگیری است. این نوع یادگیری، شما را تغییر خواهد داد. به یاد داشته باشد که موقعیت یادگیری همیشه یکسان نیست. ما می‌توانیم چیزهای زیادی را با تنها کار کردن بیاموزیم. با کار کردن در یک گروه هم می‌توانید به تجربه‌ها و مهارت‌های خاصی دست پیدا کنید.

Seneca می‌گوید:« این یک مسیر دشوار است که به عظمت منتهی می‌شود.»

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

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

قانون 10 هزار یک افسانه است

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

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

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
4.5 از 2 رای

/@arastoo
ارسطو عباسی
کارشناس تولید و بهینه‌سازی محتوا

کارشناس ارشد تولید و بهینه‌سازی محتوا و تکنیکال رایتینگ - https://arastoo.net

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید