چگونه به برنامه نویس بهتری تبدیل شویم

امروزه دنیا پیشرفتش رو مدیون برنامه نویس هایی است که با طراحی برنامه و نرم افزار های متفاوت، زندگی را برای ما راحت تر می کنند. توی دنیای امروز کار نشد نداره چون اگر تصمیم به انجام کاری گرفتی فقط نیاز به تلاش و پشتکار داره که بتونی توی اون زمینه رشد کنی.کافیه تصمیم بگیری مهارتی رو یاد بگیری. انگار داخل مغزت جاسوس گذاشتن. از فرداش هرجایی که بری از اکسپلور اینستا گرفته تا داخل خیابون، کلاس آموزشی، تبلیغ و خبرهای مختلف راجب اون میبینی و میشنوی. گاهی حتی وقتی پدر گرامی می خوان با صدای بلند اخبار گوش کنند و تو بیزاری از شنیدن خبرهای تکراری، دقیقا راجب همون مهارتی که تو میخوای یاد بگیری حرف میزنن.خلاصه که همه و همه دست به دست هم میدن که شما وارد زمینه مورد علاقت بشی. یکی از همین روزا بنده تصمیم گرفتم برم سراغ برنامه نویسی دیگه از زمین و زمان برام پیام میومد که این کار خیلی خوبه، برو سمتش شروع کن.آموزشخب اولین کاری که باید برای برنامه نویس شدن انجام میدادم این بود که آموزش ببینم. آخه من هیچی بلد نبودم. یکم تحقیق و بررسی کردم. دیدم هزینه آموزش ها یکم بالاست. تصمیم گرفتم به صورت خودخوان پیش برم. قبل از اینکه شروع کنم با یک سرچ دوره خوبی رو داخل یوتیوب پیدا کردم.بماند که سر فیلتر بودن و.. یکم اذیت میشدم ولی خب چاره ای نبود خواستم بود که باید بهش میرسیدم. بعد از گذشت حدودا دو هفته دیدم چقدر زمان بر و منو درگیر میکنه. حقیقتش خیلی اذیت شدم. همین سختیا باعث شد من عقب نشینی و تنبلی رو شروع کنم. احتمالا شما هم میدونین که مغز برای بقای انسان ها به وجود اومده و از هر اقدام جدیدی خودداری میکنه چون به تنبلی عادت داره و از کار اضافی خوشش نمیاد.منم خودخوانی رو کنار گذاشتم و دنبال کلاس خوب بودم شنیدم که بجای شرکت توی دوره آموزشی میتونم توی بوت کمپ های برنامه نویسی شرکت کنم که بهتر از دوره ها هستن چون چند تا مزیت خیلی خوب داشتن. اول از همه پروژه محور بودن و تئوریک پیش نمی رفتند، دوما فشرده بودن و توی زمان من صرفه جویی می شد آخه میدونین زمان مهم ترین دارایی من وقت نداشتم که بی جهت حرومش کنم.تازه من شنیده بودم اکثر بوت کمپ ها معرفی به کار دارن، حتی می گفتن انقدر آموزش هاشون کامل که دیگه به تنهایی می تونم هر پروژه ای رو انجام بدم. پس رفتم سراغ ثبت نام، من اصفهان زندگی می کردم و شنیده بودم قبلا یک آموزشگاه بوت کمپ برگزار می کرده و منم بعد از پرس و جو و گرفتن مشاوره از پشتیبانشون تصمیم گرفتم و ثبت نام کردم و خداروشکر راضی هستم. اما برای پیشرفت باید یه سری مسائل رو رعایت می کردم که چند تاشو اینجا نوشتم.تکرار و تمرینبرای موفقیت توی زمینه برنامه نویسی باید دائما تکرار و تمرین داشته باشی، منم کل زمانم رو گذاشته بودم تکرار و تمرین می کردم، کلاس هامو می رفتم، همون روز کلاس ویدیو شو میدیدم، تمرین می کردم و هر سوالی داشتم از استادم می پرسیدم.برای همین خیلی خوب توی ذهنم ثبت می شد. تازه چون آموزشم پروژه محور بود، تک تک تمرین هایی که می کردم برای رزومم و نمونه کارم مناسب بود.بی اندازه و در هر ساعت از شبانه روز تمرین می کردم اما یه جایی رسید به خودم مغرور شدم سستی کردم و انگیزه و پشتکارم رو از دست دادم. دیگه تمرین نکردم و میگفتم من که بلدم....! اما ای دل غافل که برنامه نویسی زمینه ایه که دائما در حال پیشرفت است و من از این پیشرفت جا موندم.پس باید دائما اطلاعاتم رو بروز می کردم و با تکرار و تمرین زیاد توی این زمینه متخصص می شدم. در همین حین خیلی برام مهم بود پشتکارم رو از دست ندم و دست از تلاش کردن و تکرار و تمرین بر ندارم. و باید روی مهارت هام هم تمرکز می کردم. اولین کاری که باید انجام میدادم این بود که روی یک سری مهارت هام کار کنم. بریم تا براتون بگم روی چه مهارت هایی کار کردم و خودمو ارتقا دادم.تقویت مهارت های پایه برنامه نویسیباید دائما مفاهیم اصلی برنامه نویسی مثل ساختار داده، کنترل جریان و الگوریتم به صورت کامل و مفهومی درک می کردم. بعد از اون زبان مورد نظرم رو که بهش علاقه داشتم انتخاب می کردم شنیده بودم هر زبان اصول خودش رو داره چون از قبل کار کرده بودم کاملا به این قضیه آگاهی داشتم و تقریبا دستم اومده بود هر زبان چه اصولی داره. از حق نگذریم چون علاقه مند بودم خیلی مطالب برنامه نویسی رو دنبال میکردم و در مورد اکثر زبان ها کم و بیش میدونستم.تفکر منطقییک برنامه نویس باید تفکر منطقی داشته باشه و به راحتی بتونه هر مسئله ای رو استدلال کنه. از این نظر که بتونه هر مسئله ای رو به ساده ترین شکل بیان کنه. یه جمله معروف هست که میگه: کسی میتونه ادعا کنه یه چیزی رو یاد گرفته که نتونه اون چیزی که یاد گرفته رو برای یه بچه ی کوچیک هم توضیح بده.برنامه نویس ها اصولا به شکل متفاوتی مسائل رو بررسی می کنن در واقع از یه سمت دیگه به هر مسئله ای نگاه می کنن. به همین دلیل باید بتونن مشکلات رو حل کنن و اون ها رو به کوتاه ترین شکل ممکن ارائه بدهند.دائما به فکر تغییر و پیشرفت هستن و انتظارات منطقی و واقع بینانه ای دارن. برای همین اصولا کار هاشون تحت برنامه پیش میره و می تونن اوضاع رو کنترل کنن مگر زمانی که به باگ میخورن... اونوقت که دیگه باید تمام تمرکزشونو مثل پرتو های خورشید بزارن زیر ذره بین تا بتونن اون باگ رو بسوزونن.شبکه سازیباید یه جایی باشه که برنامه نویس ها اطلاعاتشون را با همدیگه به اشتراک بزارن و از هم کمک بگیرند؛ حتی پروژه های جدید بهم پیشنهاد بدن. پس نیاز به ارتباطات قوی دارند که بتونن از تجربه های یکدیگر استفاده کنند و مهارت هاشون را ارتقا بدهند. حتی دیده شده بین این شبکه سازی ها یک سری از دوستان برنامه نویس ارتقا شغلی پیدا کردن یا یه پروژه بزرگ قبول کردن و از لحاظ مادی و جایگاه شغلی پیشرفت کردن.ایده پردازبرنامه نویسی دور از خلاقیت و ایده پردازی رویایی بیش نیست. اصلا نشدنی، یه برنامه نویس موفق باید خلاق باشه و تا بتونه با ایده های نابش دنیا رو جای قشنگ تری بکنه و از کوتاه ترین راه ها برای رسیدن به جواب درست استفاده کنه. برنامه نویس ها قبل از هر کاری اول میان شرایط و مخاطب رو بررسی می کنن.بعد مشکل اصلی رو شناسایی میکنن و شروع میکنن به تحقیق طبق اون یه نقشه راه برای خودشون طراحی میکنن و با استفاده از تفکر منطقی که دارن ساده ترین روش رو برای پیاده سازی اون ارائه می کنن. این کار خیلی پیچیده و پر از چالشه اما نتیجه شیرینی داره.برنامه نویسی یه حرفه پر درآمد و به روز که با توجه به پیشرفت تکنولوژی باید دائما آموزش جدید ببینی و خودتو بروز نگهداری. ایده پرداز و با حوصله باشی و با استفاده از فکر و صبر زیاد کدهایی بزنی که بهترین خروجی رو بدن و کارآمد باشن.وقتی وارد این زمینه میشی باید یادت باشه که دست از تلاش و پشتکار بر نداری که بتونی موفق بشی. تازه با آپدیت بودن و دیدن آموزش های جدید حتی خوندن کد های دیگران یا نوشتن کد های اونا به شکل دیگه میتونی برای خودت چالش درست کنی و از شغل شیرینت لذت ببری... در واقع این کاری که دارم خودم انجام میدم امیدوارم توهم کارتو دوست داشته باشی و ازش لذت ببری.