چرا کد زدن دیگه کافی نیست؟! (قسمت دوم)

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


قسمت دوم: بدون هدف کد زدن از کد نزدن هم بدتر است!

یکی دیگه از مشکلات شایع در جماعت برنامه‌نویس بی‌هدفی یا تغییر دائمی اهدافه. یک روز می‌خواهیم back-end بزنیم، یک روز front-end، یک روز موبایل... یک روز Java، یک روز Python، یه روز C و یه روز یه زبان دیگه... این مسئله می‌تونه دلایل زیادی داشته باشه اما یکی از مهمترین دلایلش «ترس از بیکاریه».

ما می‌ترسیم به پیشنهادهای کاری غیرمرتبط با حوزه مورد علاقه‌مون نه بگیم از ترس اینکه موقعیت شغلی یا مالی‌مون رو از دست بدیم. اما این در بلند مدت به شدت به ضرر ماست و باعث میشه نتونیم در هیچ حوزه‌ای عمیق بشیم. بعد از اینکه به این درک برسیم که برای پیشرفت بلند مدت در کارمون باید هدف‌گذاری کنیم تازه می‌رسیم به این سوال که چطور باید هدف‌گذاری کرد؟

هدف بزرگ یا هدف کوچک؟

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

آیا لازمه هدف بزرگ‌مون کاملا واضح و مشخص باشه؟

جواب این سوال یه «نه» بزرگه! در واقع نه تنها لازم نیست که اصلا درست هم نیست که در مورد اون هدف بزرگ بخواهید خیلی به جزئیات اهمیت بدید. زندگی خیلی پیچیده است و کلی ماجرای کوچک و بزرگ در آینده ممکنه باعث بشه ما در مسیرمون تصحیحاتی انجام بدیم. بنابراین مطمئن باشید اگه خیلی به اون جزئیات فکر کنید فقط وقت‌تون رو تلف کردید چون به احتمال زیاد اون جزيیات تغییر خواهند کرد. اما نکته مهم اینه که: اون هدف بزرگ باید به اندازه کافی مشخص باشه تا بتونه به شما در ادامه راه، جهت بده و بتونید از طریق نگاه کردن به اون هدف بزرگ، اهداف کوچکتر رو مشخص کنید.

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

اهداف کوچکتر رو چطور انتخاب کنیم؟

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

مثلا اگه هدفتون اینه که یه برنامه‌نویس اندروید حرفه‌ای باشید از خودتون می‌پرسید: من چه چیزهایی بلدم؟ چه توانایی‌هایی دارم که به من میگن برنامه‌نویس اندروید؟ جواب این سوال تعیین کننده همون اهداف کوچکتریه که باید برای خودتون ترسیم کنید

تعقیب و تنظیم اهداف

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


اگه مایل به مطالعه ادامه این سلسله مقالات هستید من رو دنبال کنید. مشتاقانه منتظر نظرات شما هستم :)

قسمت بعدی: شما برای آدمها کد می‌زنید. نه برای کامپیوترها!