حرفه ای گری در برنامه نویسی

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

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

تمرین کردن

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

می توانید به این کاتاها بصورت یک تمرین ۱۰ دقیقه اول روز برای گرم کردن و یک ۱۰ دقیقه در پایان روز برای سرد کردن خود نگاه کنید!

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

همکاری

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

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

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

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

آموختن دانسته ها به دیگران (منتوریگ)

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

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

یک برنامه نویس حرفه ای نباید از هیچ فرصتی برای یاددادن دانسته های خود به دیگران صرف نظر کند.

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