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

قبول کردن اولین پیشنهاد شغلی که از راه می رسه!اگر شما به صورت خودآموز در حال یادگیری برنامه نویسی هستین یا مشغول سپری کردن آخرین ترم های تحصیلیتون در دانشگاه هستید، احتمالا پیدا کردن اولین شغلتون یکی از اهداف اصلی شماست.چیزی که باید متوجهش باشید اینه که پیدا کردن شغل اصلا کارآسونی نیست. هزاران نفر مثل شما منتظرن تا به عنوان برنامه نویس در اولین شرکت خودشون استخدام بشن! چیزی که می تونه شما رو از بقیه متمایر کنه داشتن یک رزومه قوی هستش که طی یک مقاله در آینده بهش می پردازیم.هممون می دونیم که پیدا کردن اولین شغل چقدر می تونه رضایت بخش باشه اما در عین حال همین موضوع ممکنه چندان هم اتفاق خوشایندی نباشه.اولین شغل من کاملا با تصورات و شغل ایده آل ام تفاوت داشت. افراد کارهاشون رو با علاقه انجام نمی دادن و برای رسیدن به ددلاین پروژه ها به ناچار از کیفیت کار کم می کردن. جایی که من کار می کردم سرزنش کردن تبدیل به یه فرهنگ شده بود و بدتر از همه اینکه من هیچ چیز جدیدی یاد نمی گرفتم! من چشمانم رو روی این اتفاقات بد بسته بودم، چون مزیت های پیدا کردن اولین شغل باعث شده بود کورکورانه به این مسائل نگاه کنم تا زمانی که پیشنهاد شغلی بهتری با حقوق بهتر دریافت کردم.اولین شغل شما بسیار مهمه و تاثیر زیادی توی آینده شغلی و اینکه توسعه دهنده بهتری باشین داره به خاطر همین قبل از اینکه بخواین در جایی استخدام بشین باید کاملا در مورد اون شرکت و محیط کاریش تحقیق کنید و حتی اگر کسانی رو می شناسین که قبلا توی اون شرکت کار می کردن بشنید و ازشون در مورد نحوه کار، ارزش های اون شرکت و اینکه به چه چیزهایی علاقه دارن یا ندارن سوال کنید.اینکه سوالات درستی در مصاحبه های کاری بپرسید بسیار اهمیت داره!مصاحبه کاری بهترین فرصت برای شماست تا با اون شرکت آشنا بشید پس بهتره سوالات ایی رو از قبل آماده کنید و بپرسید تا بیشتر و بهتر با اون شرکت آشنا بشید.سوالاتی مثله :از چه متدلوژی هایی برای توسعه نرم افزار استفاده می کنن؟آیا از سیستم های کنترل پروژه استقاده می کنن؟فرآیند مستندسازی در شرکت به چه صورت هستش؟به فرآیندهای تست نرم افزار اعتقادی دارن؟و اینکه چه فرهنگی در سازمان حاکمه؟ محیط کاری با نشاط و فعالی دارن؟یا خشک و سرد؟انتخاب نکردن یک مسیر برای متخصص شدن!شکی نیست که انتخاب مسیر برای تبدیل شدن به یک برنامه نویس حرفه ای کاره سختیه. کلی زبان، فریم ورک و ابزار هستش که هرکدوم مزیت ها و معایب خودشون رو دارن. اشتباهی که من کردم این بود که سعی کردم همه چیز رو یاد بگیرم.هر دقیقه با توجه به حس و حالی که داشتم روی یه زبان یا فریم ورک کار میکردم! به من اعتماد کنید این روش به هیچ وجه روش موثری برای یادگیری نیست!من نتایج خیلی بهتری می گرفتم اگر یه مسیر یا چند تکنولوژی خاص رو مشخص می کردم و تمرکزم رو بر روی یادگیری اون ها صرف می کردم مثلا اگر شما مشتاق یادگیری برنامه نویسی فرانت اند هستید جاوااسکریپت یاد بگیرید و اگر می خواهید بک اند کار کنید یه زبان رو انتخاب کنین و به طور کامل بر روی اون مسلط بشید.پس تمرکزتون رو حفط کنین،‌ مسیرتون رو انتخاب کنین و برای حرفه ای شدن توی اون مسیر برنامه ریزی کنید!چرخ رو دوباره اختراع نکنید!فرض کنید شما در حال آماده کردن نمونه کار برای مصاحبه شغلیتون هستید یا اولین تسک اتون رو در شرکتی که استخدام شدین گرفتید شما می خویان نهایت سعی اتون رو برای تحت تاثیر قرار دادن دیگران انجام بدین. بهترین راه برای اینکار چیه؟ نشون دادن خفن ترین تکنیک های برنامه نویسی که بلدید!!نههه!این یکی از اصلی ترین اشتباهات من به عنوان یه تازه کار بود و اغلب می بینم که بقیه هم این اشتباه رو تکرار می کنن. اغلب تاره کارها سعی می کنن تا چرخ رو دوباره از اول اختراع کنن یا اینکه از راه حل های پیچیده برای حل مسائل استفاده می کنن.بهترین راه برای برنامه نویسی استفاده از قانون K.I.S.S هستش این قانون می گه همه چیز رو تا حد امکان ساده نگه دارید با این کار کدهای خواناتر و توسعه پذیر تری نوشتید و مطمئن باشین نفر بعدی که جای شما میشینه بخاطر اینکار از شما ممنون خواهد بود.زندگی چیزی بیشتر از کار کردن و کد زدن عه!یکی از عادات بد من این بود که هر روز لپ تاپ ام رو با خودم به خونه میاوردم و وقت ام رو ساعت ها بر روی انجام دادن تسک یا برطرف کردن باگ ایی میذاشتم که میتونست روز بعد انجام بشه و همین باعث میشد تا احساس خستگی و استرس شدیدی داشته باشم!یکی از دلایلی که باعث می شد من اینکارو انجام بدم این بود که دلم می خواست تا تسک هام رو در کوتاه ترین زمان ممکن به اتمام برسونم اما نکته ای که بهش توجه نمی کردم این بود که کار کردن یه فرآیند تمام نشدنیه شما باید یاد بگیرید که کار کردن رو متوقف کنید و زمانتون رو برای خانواده،‌ دوستان و سرگرمی ها و علائق شخصیتون سپری کنین.یادتون باشه همیشه فردایی هم وجود داره!از گفتن نمی دونم نترسید!اینکه شما در انجام دادن کاری که بهتون محول شده گیر کنید و نتونید اون رو کامل کنید یه چیز کاملا عادیه و حتی برای افراد حرفه ای که سال هاست مشغول به کار هستن هم اتفاق میفته اما اشتباه من این بود که وقتی مدیر پروژه ازم سوالی می کرد به جای گفتن نمی دونم! سریع یه دلیل الکی میاوردم و می پیچوندمش!من احساس می کردم اگر بگم نمی دونم اونا احساس بدی نسبت به من پیدا می کنن اما واقعیت اینه که هیچکس همه چیز رو نمی دونه!اینکه بگیم نمیدونم باعث میشه:شما رو به عنوان فرد صادقی بشناسن.با توضیحاتی که به شما داده میشه چیزهای جدیدی یاد خواهید گرفت.سعی نکنید خیلی سریع جلو برید!حتما این جمله رو شنیدید”قبل از اینکه بخواید بدویید باید بتونید راه برید”. وقتی اولین کارتون رو به عنوان یه برنامه نویس شروع می کنید همیشه به دنبال این هستید که چطور کارهای بزرگ تری انجام بدید و تسک های بیشتری رو برعهده بگیرید. این افکار خیلی خوبه اما متاسفانه همه چیز هیچ وقت به این خوبی پیش نمیره. شما در ابتدای کارتون تسک های آسون تر و سبک تری خواهید داشت این شاید خیلی هیجان انگیز نباشه اما لازمه و باعث میشه تا کم کم بتونید روی پای خودتون بایستید و با فرآیند کار بیشتر آشنا بشین همچنین باعث میشه تا اعضای تیم هم شناخت بهتری نسبت به شما پیدا کنن.اشتباه من این بود که اجازه می دادم این تسک ها منو ناامید کنه و این ناامیدی روی کار من تاثیر میذاشت. پس امید خودتون رو از دست ندید صبر داشته باشید و تسک هاتون رو به بهترین شکلی که می تونید انجام بدید.عضو انجمن ها بشید و برای خودتون یه شبکه ارتباطی بسازید.انجمن ها می تونن به شما کمک کنن،‌ حمایتتون کنن و در مواقع نیاز به شما انگیزه بدن.به عنوان یه توسعه دهنده تازه کار موقعیت های سختی پیش رو دارین که اگر عضو یه انجمن باشین میتونه خیلی راحت تر سپری بشه.درگیر شدن با پروژه های متن باز و دیدن اینکه بقیه توسعه دهنده ها چطور کد میزنن و چطور با هم همکاری می کنن می تونه خیلی مفید باشه انجام دادن این کارها در طول زمان باعث میشه تا به برنامه نویس بهتری تبدیل بشید.انجمن هایی که براتون جالب هستن رو پیدا کنید و عضوشون بشید حتی توی قرارهای ملاقاتشون شرکت کنید و سعی کنید شبکه خودتون رو بسازید. شبکه شما افرادی هستن که شما در حوزه کاری خودتون باهاشون آشنا هستید و برای مثال زمانی که شما به دنبال فرصت شغلی تازه ای هستید می تونن شما رو به شرکت های مختلفی معرفی کنند یا اینکه می تونید از تجربیاتشون استفاده کنید.ممنون که این مقاله رو تا انتها مطالعه کردید. منتظر خوندن نظراتتون راجع به این مطلب و بقیه نوشته هام در وبلاگ ام هستم :)ترجمه ایی از : Chris Blakely