امروز قصد دارم تا به یکی از مهمترین دغدغههای برنامه نویسان بپردازم. به نظر شما بزرگترین دغدغه ی یک برنامه نویس چه میتواند باشد؟ شاید بعضیها فکر کنند دغدغههای برنامه نویسان صرف نظر از حوزه ی تخصصی آنها در عباراتی از جمله "چگونه درآمد حاصل از برنامه نویسی خود را افزایش دهم؟"، "چگونه میتوانم در یک شرکت معتبر استخدام شوم؟"، "بهترین زبان برنامه نویسی که میتوانم یاد بگیرم چیست؟"، "چگونه برنامه نویسی یاد بگیرم تا محدود به یک زبان نباشم؟" و ... خلاصه میشوند.
درست است که سوالاتی مشابه سوالات مطرح شده، ازجمله دغدغه هایی هستند که هر کسی بخواهد وارد دنیای برنامه نویسی شود و یا حوزه ی تخصصی خود را تغییر دهد با آنها مواجه میشود اما برنامه نویسان فقط یک بار درگیر پاسخ به چنین سوالاتی میشوند و پس از آن با اطمینان به مسیر خود ادامه میدهند. اما سوال اصلی که یافتن جواب آن پیش نیاز اساسی برای پاسخ به تمام سوالاتی مشابه سوالات مطرح شده است میتوان در جمله زیر خلاصه کرد و بسط داد:
چگونه به برنامه نویسی بهتر تبدیل شوم؟ (تا بتوانم در یک شرکت معتبر استخدام شوم)
چگونه مهارت برنامه نویسی خود را افزایش دهم؟ (تا بتوانم درآمد بیشتر از برنامه نویسی کسب کنم)
چگونه به برنامه نویسی متخصص تبدیل شوم؟ (تا بتوانم ایدههای خود را به واقعیت تبدیل کنم)
و...
بنابراین اگر شما هم جزو کسانی هستید که همیشه با این سوال در حال دست وپنجه نرم کردن هستند، باید شما را به خواندن ادامه این مقاله دعوت کنم تا یک بار برای همیشه به این سوال اساسی پاسخ دهیم و مسیر رسیدن به قلههای برنامه نویسی را برایتان هموار و آسان کنیم.
چگونه به برنامه نویس بهتر تبدیل شویم؟
برنامه نویس شدن و برنامه نویسی صرف نظر از هر موضوعی، مقوله ای است که تا زمانی که علاقه و عشق به آن وجود نداشته باشد کسی وارد آن نمیشود. از طرفی دیگر اگر کسی بدون علاقه ی کافی وارد حوزه برنامه نویسی شود، حتما با مشکلات بزرگی مواجه خواهد شد که همه ی آنها دست به دست هم میدهند تا پشتکار و تلاش کافی برای پیشرفت در این زمینه را از دست بدهد.
از طرفی این یک امر بدیهی است که هر شخص به دنبال این باشد که در زمینه و موضوعی که به آن علاقه دارد به بالاترین مراتب آن دست پیدا کند و تا زمانی که این امر برای آن محقق نشده است، دست از تلاش بر ندارد و به راه خود با قدرت و انگیزه ی دوچندان ادامه دهد. برای مثال فوتبالیستی را در نظر بگیرید که روز به روز در تلاش است تا در تیمها و لیگها حرفه ایتری به بازی بپردازد و هیچوقت از تمارین سختی که برای رسیدن به اهدافش انجام میدهد، خسته نمیشود.
برای برنامه نویسان هم این امر صادق است و مهمترین دغدغه ی یک برنامه نویس همیشه این بوده و است که چگونه به برنامه نویسی بهتر و یا به عبارتی دیگر چگونه به بهترین ورژن از خود در دنیای برنامه نویسی تبدیل شود. یکی از بهترین راههای پاسخ به این سوال بهرمندی از تجربه برنامه نویسان موفق میباشد که میتوان آن را از دو منظر مختلف مورد بررسی قرار دهیم.
اول اینکه ببینیم برنامه نویسان اغلب مرتکب چه اشتباهات و خطاهایی شده اند و چگونه با آن مسائل برخورد کرده اند. با این کار میتوانیم از این اشتباهات رایج درس بگیریم تا در مسیر خود دچار این اشتباهات نشویم و یا بدانیم چگونه با این مسائل برخورد کنیم. دوم اینکه ببینیم چه کارهایی را دیگران در مسیر فتح قلههای برنامه نویسی انجام داده اند که باعث موفقیت آنها شده است و به انجام آنها بپردازیم.
در این بخش قصد دارم حالت اول را به صورت کامل بررسی و تشریح کنم تا در ابتدا اول با اشتباهات رایج میان برنامه نویسان آشنا شویم تا دچار آنها نشویم و سپس در مقاله ای جداگانه به حالت دوم میپردازم تا بدانیم در این مسیر باید چه کارهایی را انجام دهیم تا در کمترین زمان به برنامه نویسی حرفه ای تبدیل شویم.
1. علاقه نداشتن به برنامه نویسی
اولین و بزرگترین اشتباه یک شخص، ورود به حوزه ای است که به آن علاقه ای ندارد. شاید افراد زیادی را دیده باشید که به دلیل موقعیت اجتماعی و یا کسب درآمدی بهتر حوزه ی کاری خود را عوض میکنند و از شاخه ای به شاخه ی دیگر میپرند. اما اشتباه نکنید، برنامه نویسی مهارتی است که برای یادگیری و تقویت آن نیاز به زمان و پشتکار است که این موارد بدون داشتن علاقه ی کافی برای شما میسر نمیشود.
کسی که به برنامه نویسی علاقه مند است هر روز که از خواب بیدار میشود تا زمانی که میخواهد بخوابد، حتی در زمان خواب هم به برنامه نویسی فکر میکند و تمام حواس و تمرکز خود را برای پیدا کردن بهترین راه حل برای برنامههای خود جمع میکند. شخصی که عاشق برنامه نویس است هر روز که بر سر کار میرود آن روز برایش یک روز عالی در بهشت است و نه یک روز عذاب آور که به اجبار به محل کار رفته است. این شخص همیشه به برنامه نویسی در مرحله اول به دید یک تفریح شیرین و لذت بخش نگاه میکند تا اینکه صرفا از آن به عنوان شغلی برای کسب درآمد و گذران زندگی یاد کند.
2. نا امید شدن
یکی از مشکلاتی که همیشه در ابتدای این مسیر همراه شما خواهد بود، حس نا امیدی است. این حس را همه در اوایل کار خود و به ویژه در زمان مواجه با مسائل و مشکلات مختلف تجربه خواهند کرد. همه میدانند که یک برنامه نویس همیشه با مسائل و سوالات پیچیده ای سر و کار دارد و برنامه نویسی صرفا فقط نوشتن کد به یک زبان برنامه نویسی نیست، بلکه ارائه راه حلی است که با نوشتن کدهای آن زبان، پیاده سازی میشود.
بدیهی است که اگر در این مسیر راه حل و جواب مشکلات و مسائل را بدانید به راحتی با آنها رو به رو میشوید، اما زمانی که به چالشهای جدید برخورد میکنید، شاید دچار نا امیدی شوید. اما نکته ی کلیدی در برنامه نویسی این است که در این مسیر صبر داشته باشید و ناامید نشوید، چرا که باید تمام تمرکز خود را صرف پیدا کردن راه حل بهینه کنید و بدانید که بالاخره به جواب مسئله ی خود دست پیدا خواهید کرد.
برای اینکار باید روحیه ی چالش پذیری خود را روز به روز تقویت کنید و به قول معروف دل را به دریا بزنید. برای این منظور خود را همیشه درگیر چالشها و مسائل جدید کنید تا روز به روز با حل مسائل جدید و پیچیده علاوه بر کسب تجربه و مهارت، روحیه ی خود را قوی کنید تا در مقابل ناامیدی ضد گلوله شوید.
3. مستندسازی نکردن تجارب و یافتههای خود
معمولا تمام برنامه نویسانی که شروع به فراگیری یک زبان برنامه نویسی میکنند و یا در زمان کدنویسی با یک نکته ی جدید مواجه میشوند با خود این گونه میگویند : "حتما آن را یاد گرفته ام و به یاد خواهم داشت." اما بر اساس یک جمله ی معروف که میگوید : "کمرنگترین جوهرها از قویترین حافظهها ماندگارتر است" این کار یکی از اشتباهات متداول در بین برنامه نویسان، به ویژه برنامه نویسان تازه وارد است.
همیشه افراد زیادی را دیده ام که زمانی که در حال یادگیری یک زبان برنامه نویسی هستند و یا به دنبال پیدا کردن راه حلی برای یک چالش جدید در این حوزه بوده اند، با شنیدن، خواندن و یا یافتن راه حلهای جدید بر این باور بوده اند که آنها را به صورت کامل یاد گرفته اند و با اعتماد به ذهن خود از یادداشت برداری آنها خودداری کرده اند. اما با گذشت مدت زمانی نه چندان زیاد، به محض اینکه با آن موارد مجددا مواجه میشوند در میابند که توانایی پیاده سازی و حل آنها را ندارند. چرا که این یک امر بدیهی است که یک برنامه نویس روزانه با چالشها و مشکلات زیادی سر و کار داشته باشد که این امر باعث میشود که تسلط پیدا کردن به این موارد طالب زمان زیاد و تجربه ی کافی باشد.
بنابراین همیشه سعی کنید در ابتدای کار برای خود تمام نکات و یافتههای خود را یادداشت برداری و مستندسازی کنید و حتما از کامنت گذاری برای کدهای خود استفاده کنید تا زمانی که این کار برای شما به یک عادت تبدیل شود. با این کار علاوه بر اینکه شما یک منبع مناسب برای خود ایجاد کرده اید، میتوانید با اشتراک گذاری آن با دیگران، به روند آموزش آنها کمک کنید.
[lead id=1 type= link]
4. انتقادپذیر نبودن و نداشتن روحیه کار تیمی
برنامه نویسانی که مسیر پیشرفت را در نظر میگیرند، این واقعیت را میپذیرند که یکی از سریعترین و مطمئنترین راهها برای پیشرفت و یادگیری در دنیای برنامه نویسی، پذیرفتن انتقادات و استفاده از تجارب برنامه نویسان موفق و با سابقهتر از خود میباشد.
اعضای یک تیم برنامه نویسی دقیقا مانند اعضای یک تیم فوتبال میباشند و هر نفر وظایف خاص خود را دارد که باید انجام دهد. از طرفی نحوه ی انجام وظایف هر شخص بر کل سیستم و تیم برنامه نویسی تاثیرگذار است. به همین دلیل یک برنامه نویس باید همواره در تلاش باشد تا خود را با تیم برنامه نویسی خود همگام و هماهنگ سازد و اگر احساس میکند در این راه نیاز به کمک دارد، باید بی پروا از کمک دیگر اعضای تیم استفاده کند.
چرا که فرایند برنامه نویسی و ساخت یک نرم افزار یک مسیر واحد و یکتا ندارد و برنامه نویسان همواره در مسیر توسعه ی یک نرم افزار با تصمیمگیریهای متعدد و گوناگونی همراه میباشند تا بتوانند راه حل بهینه را انتخاب کنند زیرا امکان دارد که برای پیاده سازی آن نرم افزار راههای بسیار مناسبتری وجود داشته باشد که به ذهن شما در آن زمان خطور نکرده باشد. بنابراین برنامه نویسان موفق همیشه به دنبال دریافت نظرات دیگر برنامه نویسان و کاربران در مورد عملکرد نرم افزار خود هستند تا با استفاده از بازخوردهایی که دریافت میکنند کدهای نوشته شده و نرم افزارهای خود را بهبود دهند.
5. کدنویسی کثیف
یکی از نشانههای یک برنامه نویس حرفه ای و متخصص، کثیف نبودن کدهایی است که نوشته است. شاید برخی ابتدا به این نکته بسیار مهم توجه نمیکردند و تمام هدف خود را بر روی اجرای صحیح نرم افزار نهایی خود متمرکز میساختند ولی کدنویسی تمیز و دوری از کثیف کد نوشتن به یکی از ویژگی هایی تبدیل شده است که برای شرکتها و تیمهای برنامه نویسی جهت استخدام برنامه نویس، بسیار حیاتی و با اهمیت است.
بنابراین همیشه باید به این نکته به خصوص در کارهای تیمی توجه کنید که باید برای انسانها کدنویسی کنیم و نه برای کامپیوتر، چرا که یک برنامه نویس حرفه ای کدهای خود را به صورت قابل فهم و به صورت کامنت گذاری شده مینویسد و همیشه در تلاش است که بهترین و قابل فهمترین نامها را در کدهای خود به کار گیرد. البته به این نکته توجه کنید که نباید آنقدر درگیر بهینه کردن کدهای خود شویم که به یک وسواس در کدنویسی تبدیل شود و به جای اینکه کدهای خود را بهینهتر کنیم، علاوه بر صرف زمان بیشتر به پیچیدگی و دشواری آنها اضافه کنیم.
6. عدم تقویت مهارتهای نرم (Soft Skills)
منظور از مهارتهای نرم یا Soft Skills مجموعه ویژگیها و خصوصیات فردی یک شخص است که باعث تقویت موقعیتهای شخصی، کاری و... میشوند، از جمله کنترل اضطراب، صبور بودن و... که جزو ویژگی هایی هستند که صفات کلی شخص را تعریف میکنند. شاید تعجب کرده باشید که ارتباط خصوصیاتی مثل صبور بودن و یا خوش اخلاقی با برنامه نویسی در چیست و چطور این نوع ویژگیها میتوانند در حرفه و تخصص شما به کار آیند. ولی از آنجایی که شما در یک تیم برنامه نویسی قرار است مشغول به کار شوید و یا حتی اگر به صورت مستقل و فریلنسری (دورکاری) مشغول به کار باشید، باید با مشتریان خود در تعامل باشید باید بتوانید به صورت مناسب با افراد دیگر ارتباط بر قرار کنید.
چرا که وقتی شما به یک تیم برنامه نویسی ملحق میشوید باید به آنها به دید یک خانواده نگاه کنید زیرا قرار است که حداقل نیمی از زمان هر روز خود را با آنها سپری کنید و در مسیر توسعه ی یک نرم افزار هر روز با یکدیگر به چالشهای متفاوتی برخورد میکنید که باید با همکاری یکدیگر بهترین روش را برای حل آنها انتخاب کنید. پس همیشه در تلاش باشید که روابط و مهارتهای ارتباطی خود با دیگران را در مسیر حرفه ای شدن تقویت کنید.
انعطاف پذیری یکی از مهمترین ویژگیهای یک برنامه نویس محصوب میشود چراکه برنامه نویسی حرفه ای تلقی میشود که همواره آمادگی این را داشته باشد که در مواقع نیاز متناسب با وظیفه خود و کاری که انجام میدهد، بهترین زبان، فریمورک و ابزارهای برنامه نویسی را انتخاب کند. بنابراین از اینکه همیشه متکی به یک روش، زبان و یا ابزار خاص باشید، سعی کنید که همیشه به روز باشید و با تکنولوژیهای دیگر آشنا باشید تا در مواقع نیاز از آنها برای پیشبرد اهدافتون استفاده کنید.
برنامه نویس شدن صرفا یادگیری یک زبان برنامه نویسی نمیباشد بلکه باید بر کانسپتها و اصول آن تسلط پیدا کرد. بنابراین شاید نیاز شود که در میانه ی راه زبان برنامه نویسی خود را عوض کنید و چیزهای جدیدی را آموزش ببینید. زیرا یک برنامه نویس در طول زمانی که مشغول به این حرفه میباشد ساعتهای زیادی را با ابزارها و کدهای مختلف سر و کار دارد که این تکنولوژیها روز به روز در حال پیشرفت و تغییر میباشند و باید همیشه بهترین ابزار، روشها و زبانهای برنامه نویسی را انتخاب کنید. به عبارتی دیگر نباید نتیجه ی نهایی کار را نباید فدای عدم اطلاع و یا عدم آگاهی از روشهای مناسبتر کرد.
جمع بندی
قطعا در مسیر تبدیل به برنامه نویسی حرفه ای و متخصص با چالشها و اشتباهات گوناگونی برخورد خواهیم کرد که این موارد از شخصی تا شخصی دیگر متفاوت هستند. اما برخی اشتباهات و ضعفها به صورت کم و بیش برای تمام برنامه نویسان به خصوص برنامه نویسانی که تازه پا به عرصه ی برنامه نویسی گذاشته اند وجود دارند که در این مقاله سعی شد که با مهمترین آنها آشنا شوید و راه حل مواجه با آنها را بیاموزید. اگر شما هم در مسیر برنامه نویسی خود به مشکلاتی دیگر مواجه شده اید که فکر میکنید از قلم افتاده اند و میتوانند به دیگر علاقه مندان به برنامه نویسی کمک کنند، حتما در پایین این پست آنها را کامنت کنید تا به موارد بالا اضافه شوند.
اگر میخواهید بیشتر با برنامه نویسی آشنا شوید مقالات زیر را دنبال کنید
با سلام
یه سوال داشتم نمیدونستم کجا نظر بزارم به همین دلیل اینجا نوشتم
دوره متخصص لاراول تکرار نمیشه ؟؟؟
اگه نمیشه امکانش هست دوره قبلی رو برای فروش بگذارید ؟؟؟
ممنون میشم جوابمو بدید
مهدی علامه۱۹ بهمن ۱۳۹۷، ۰۳:۵۶
سلام دوست عزیز
انشالله از هفته ی آینده ثبت نام دوره متخصص لاراول شروع میشه