کدنویسی خوب آنقدر که فکر میکنید زمانبر نیست. بهترینها در این زمینه، کار را بهراحتی انجام میدهند.
Larry Wall، نویسندهی اصلی زبان برنامهنویسی Perl، میگوید برنامهنویسان خوب سه ویژگی دارند: تنبلی، بیصبری و غرور.
«تنبلی» برای اینکه آنها را به نوشتن برنامههایی سوق میدهد که در کمتر کارکردن به آنها کمک میکند. «بیصبری» زیرا به آنها انگیزهی نوشتن برنامههایی را میدهد که نیازها را پیشبینی میکند. و «غرور» زیرا آنها را علاقهمند به نوشتن کدهایی میکند که کسی نتواند از آنها انتقاد کند.
اما برنامهنویسان عالی، تولیدکنندهترین آنها نیستند بلکه توسعهدهندههایی هستند که کار روزانهاش را کامل انجام میدهد و اثرات بسیار بیشتری دارند.
بنابراین برای بهحداکثر رساندن امکان استخدامشدنتان نیازی ندارید که یک برنامهنویس عالی باشید؛ باید یک برنامهنویس مؤثر باشید. هفت کار میتواند شما را به یک توسعهدهندهی مؤثرتر تبدیل کند:
یک) روزانه حداقل چهار ساعت کدنویسی کنید
در نگاه اول این نکته بهنظر ناکارآمد میآید. بیشتر کدنویسان حداقل بهمدت ۸ ساعت بر سر میزهایشان حاضرند، و برای بعضی از آنها این مقدار از ۱۰ ساعت نیز تجاوز میکند. اما Peter Nixey، بنیانگذار و مدیر شکرت نوپای ایمیل Copyin عقیده دارد که مقدار بسیار کمی از این زمان صرف فعالیت کدنویسی میشود.
او میگوید: «من در پروژههایی کارکردهام که توسعهدهندگان بیشتر وقت خود را در ملاقات، بر سر میز پینگپنگ، در وقت ناهار و غیره هدر میدادند. بنابراین ۴ ساعت کار خالص – بدون توقف با استراحت برای چای- در یک محیط کاری با عوامل حواسپرتی متعدد چیزی است که به دست آوردن آن ساده نیست.»
کلید بهدست آوردن این ۴ ساعت، جلوگیری از حواسپرتیها است. علت این امر این است که زمانی که شما وارد فضای کار میشوید و ذهن شما عوامل مختلف را بررسی و تنظیم میکند، یک عامل حواسپرتی کوچک و وقفهای که در پی آن بهوجود میآید، نیاز به یک ساعت تمرکز ذهنی دوباره دارد تا شما به مرحلهی ذهنی قبل از آن بازگردید.
دوم) با فرهنگ تیم برنامهنویسی همخوانی داشته باشید
حضور در فعالیتهای تیمی و همکاری با همکاران بخش اعظم مؤثر بودن یک برنامهنویس است. این مسئله بسیار مهمتر از داشتن تواناییهای بسیار عالی کد ویسی و سالهای سال تجربه است.
با اشاره به اینکه حضور یک فرد خودخواه که فکر میکند از همه بهتر و باهوشتر است در تیم چقدر میتواند آزاردهنده باشد، Damien Filiatrault مدیر Scalable Path، معتقد است: «مهم نیست که یک فرد چقدر بااستعداد است. سؤال کلیدی این است که “آیا کار کردن با این فرد میتواند لذتبخش باشد؟” اگر جواب این سؤال خیر است، این مسئله میتواند بر روحیهی تیم تأثیرگذار باشد.»
بااینحال، اگر برنامهنویسان بسیار باادب باشند و یا به دلایلی در محیط کار راحت نباشند نیز مشکلاتی را در پی دارد. برای مثال، Filiatrault میگوید: «در بعضیمواقع برنامهنویسان برای جلوگیری از کشمکشها یا اعتراف نکردن به اینکه نمیتوانند کاری را انجام دهند، مشکلاتی را ایجاد میکنند.»
سوم) در وقت آزاد خود به کدنویسی بپردازید
اگر تنها کاری که در زمینهی برنامهنویسی انجام میدهید، کاری است که برای آن حقوق دریافت میکنید، یادگیری مهارتهای جدید و کسب تجربه در زمینه های دیگر به کاری دشوار برای شما تبدیل میشود. به همین علت است که Dave Child، بنیانگذار Added Bytes، معتقد است که اختصاص زمانی برای کدنویسیِ تفریحی اهمیت دارد.
او میگوید: «بهترین برنامهنویسهایی که میشناسم، همگی پروژههای جانبیای دارند که مشغول کار بر آنها هستند.»
هیچکدام از این برنامهنویسان از مهارتهایی که در شغلشان از آن استفاده میکنند برای پروژههای جانبیشان استفاده نمیکنند. بلکه آنها از این فعالیتهای فوقبرنامه برای وسعت دادن به مهارتهایشان و همراه شدن با فناوری روز استفاده میکنند.
چهارم) یادگیری نوشتن کدهای بدخط
پروژههای بسیار کمی وجود دارند که نیاز به کدنویسهای بسیار عالی برای نوشتن بهترین دستورها را داشته باشند؛ چیزی که معمولاً نیاز است، یک پلتفرم معمولی است که ویژگیهای خاصی را بتوان بر آن ساخت.
Nixey میگوید بهترین راه دستیابی به چنین کاری، نوشتن سریعترین چیزی است که موارد موردنظر را اجرا میکند.
او ادامه میدهد: «مهم نیست که کد کثیف، تکراری یا دارای نام بدی است؛ کد درواقع، یک راهحل است و شما هروقت که لازم باشد میتوانید مؤلفههای آن را تغییر دهید. اگر بخواهید از اول آن را بینقص بسازید، ممکن است عوامل مختلفی باعث شوند که از مسیر و هدف اصلی فاصله بگیرید.»
پنجم) در یک شغل تکراری برای مدت بسیار طولانی باقی نمانید
یک راهی که مطمئناً تیزی چاقوی برنامهنویسی را از بین میبرد، فعالیت در یک تیم برنامهنویسی است که در یک روتین توقف کرده است. زیرا زمانی که به بهترین عملکرد کاری که از شما خواسته میشود میرسید، درواقع به یک بنبست رسیدهاید و دیگر برای پیشرفت مهارتهایتان راهی نمیماند.
Child میگوید: «شما نیاز دارید همواره خود را به چالش بکشید. اگر شما درجایی به مدتی بیشتر از یک سال مشغول به کار هستید، آنقدر که میشد، از آنجا یاد گرفتهاید. بنابراین در آنجا نمانید. حرکت کنید و چالشهای جدیدی را بیابید.»
ششم) هیچوقت از یادگیری دست نکشید
فناوری نرمافزار همواره در حال پیشرفت است. و این بدین معنا است که مهارتهایی که در برنامهنویسی امروز حیاتیاند، ممکن است فردا بیاستفاده باشند. بنابراین اگر شما برای ادامهی فعالیت خود در حرفهی برنامهنویسی برنامهریزی کردهاید، مهم است که دانش خود را بهروز نگهدارید و زبانهای جدید را یاد بگیرید.
Todd Anglin، رئیس شرکتِ Progress Software، میگوید: «حقیقت این است که شما نمیتوانید بقیه دوران فعالیت خود را با همین دانشی که امروز در اختیاردارید بگذرانید. شما باید آمادهباشید تا دوباره یاد بگیرید، زیرا چیزهایی که امروز میدانید تا ابد کشش ندارند.»
او همچنین اضافه میکند مهم است که بدانید در چه زمینهای میخواهید بهترین شوید. شما باید برای ادامه دادن باانگیزه باشید. اما بدانید که در کدام عمق میخواهید حرکت کنید. تلاش نکنید تا همهچیز را یاد بگیرید، چون این امری غیرممکن است. تمرکز داشته باشید و به یادگیری ادامه دهید.»
Filiatrault در تأیید این سخنان میگوید: «مهمترین مهارتی که شما به آن احتیاج دارید، دانستن این است که چگونه میتوانید اطلاعات جدید را دریافت کنید و یاد بگیرید. اگر شما چنین مهارتی دارید، میتوانید هر چیزی را که به آن نیاز دارید به خود یاد دهید.»
هفتم) دربارۀ چیزی که برایتان مهم است کدنویسی کنید
Gregor Riegler نویسندهی وبلاگ Be a Better Developer، میگوید این مسئله که شما درگیر پروژههایی شوید که برایتان جالب است و دربارۀ آن انگیزه دارید بسیار مهم است، و باعث میشود شما از نهایت تواناییهای کدنویسی خود استفاده کنید.
او میگوید: «چیزی که دربارۀ انگیزه مهم است این است که شما برایتان مهم باشد که کد شما چهکاری انجام میدهد. ممکن است باعث شود یک برنامۀ کاربردی بهنحو خاصی فعالیت کند و یا ممکن است کاری کند که یک ماشین بهنحوی که شما میخواهید کار کند.»
درهرصورت شما نیاز دارید از کاری که انجام میدهید لذت ببرید و بهترین نتیجهی ممکن را بهدست آورید. اگر کارتان برایتان لذتبخش باشد، کدهایی بسیار عالیای را توسعه میدهید.