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



visibility  
mode_comment   ۲

امروز قصد دارم تا به یکی از مهم ترین دغدغه های برنامه نویسان بپردازم. به نظر شما بزرگترین دغدغه ی یک برنامه نویس چه می تواند باشد؟ شاید بعضی ها فکر کنند دغدغه های برنامه نویسان صرف نظر از حوزه ی تخصصی آن ها در عباراتی از جمله "چگونه درآمد حاصل از برنامه نویسی خود را افزایش دهم ؟"، "چگونه می توانم در یک شرکت معتبر استخدام شوم ؟"، "بهترین زبان برنامه نویسی که میتوانم یاد بگیرم چیست ؟"، "چگونه برنامه نویسی یاد بگیرم تا محدود به یک زبان نباشم ؟" و ... خلاصه می شوند.

درست است که سوالاتی مشابه سوالات مطرح شده، ازجمله دغدغه هایی هستند که هر کسی بخواهد وارد دنیای برنامه نویسی شود و یا حوزه ی تخصصی خود را تغییر دهد با آن ها مواجه می شود اما برنامه نویسان فقط یک بار درگیر پاسخ به چنین سوالاتی می شوند و پس از آن با اطمینان به مسیر خود ادامه می دهند. اما سوال اصلی که یافتن جواب آن پیش نیاز اساسی برای پاسخ به تمام سوالاتی مشابه سوالات مطرح شده است  می توان در جمله زیر خلاصه کرد و بسط داد:

  • چگونه به برنامه نویسی بهتر تبدیل شوم؟ (تا بتوانم در یک شرکت معتبر استخدام شوم)
  • چگونه مهارت برنامه نویسی خود را افزایش دهم؟ (تا بتوانم درآمد بیشتر از برنامه نویسی کسب کنم)
  • چگونه به برنامه نویسی متخصص تبدیل شوم؟ (تا بتوانم ایده های خود را به واقعیت تبدیل کنم)
  • و...

بنابراین اگر شما هم جزو کسانی هستید که همیشه با این سوال در حال دست وپنجه نرم کردن هستند، باید شما را به خواندن ادامه این مقاله دعوت کنم تا یک بار برای همیشه به این سوال اساسی پاسخ دهیم تا مسیر رسیدن به قله های برنامه نویسی را برای شما هموار و آسان کنیم.

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

برنامه نویس شدن و برنامه نویسی صرف نظر از هر موضوعی، مقوله ای است که تا زمانی که علاقه و عشق به آن وجود نداشته باشد کسی وارد آن نمی شود. از طرفی دیگر اگر کسی بدون علاقه ی کافی وارد حوزه برنامه نویسی شود، حتما با مشکلات بزرگی مواجه خواهد شد که همه ی آن ها دست به دست هم می دهند تا پشتکار و تلاش کافی برای پیشرفت در این زمینه را از دست بدهد.

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

برای برنامه نویسان هم این امر صادق است و مهمترین دغدغه ی یک برنامه نویس همیشه این بوده و است که چگونه به برنامه نویسی بهتر و یا به عبارتی دیگر چگونه به بهترین ورژن از خود در دنیای برنامه نویسی تبدیل شود. یکی از بهترین راه های پاسخ به این سوال بهرمندی از تجربه برنامه نویسان موفق می باشد که می توان آن را از دو منظر مختلف مورد بررسی قرار دهیم.

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

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

1. علاقه نداشتن به برنامه نویسی

اولین و بزرگترین اشتباه یک شخص، ورود به حوزه ای است که به آن علاقه ای ندارد. شاید افراد زیادی را دیده باشید که به دلیل موقعیت اجتماعی و یا کسب درآمدی بهتر حوزه ی کاری خود را عوض می کنند و از شاخه ای به شاخه ی دیگر می پرند. اما اشتباه نکنید، برنامه نویسی مهارتی است که برای یادگیری و تقویت آن نیاز به زمان و پشتکار است که این موارد بدون داشتن علاقه ی کافی برای شما میسر نمی شود.

کسی که به برنامه نویسی علاقه مند است هر روز که از خواب بیدار می شود تا زمانی که می خواهد بخوابد، حتی در زمان خواب هم به برنامه نویسی فکر می کند و تمام حواس و تمرکز خود را برای پیدا کردن بهترین راه حل برای برنامه های خود جمع می کند. شخصی که عاشق برنامه نویس است هر روز که بر سر کار می رود آن روز برایش یک روز عالی در بهشت است و نه یک روز عذاب آور که به اجبار به محل کار رفته است. این شخص همیشه به برنامه نویسی در مرحله اول به دید یک تفریح شیرین و لذت بخش نگاه می کند تا اینکه صرفا از آن به عنوان شغلی برای کسب درآمد و گذران زندگی یاد کند.

2. نا امید شدن

یکی از مشکلاتی که همیشه در ابتدای این مسیر همراه شما خواهد بود، حس نا امیدی است. این حس را همه در اوایل کار خود و به ویژه در زمان مواجه با مسائل و مشکلات مختلف تجربه خواهند کرد. همه میدانند که یک برنامه نویس همیشه با مسائل و سوالات پیچیده ای سر و کار دارد و برنامه نویسی صرفا فقط نوشتن کد به یک زبان برنامه نویسی نیست، بلکه ارائه راه حلی است که با نوشتن کدهای آن زبان، پیاده سازی می شود.

بدیهی است که اگر در این مسیر راه حل و جواب مشکلات و مسائل را بدانید به راحتی با آن ها رو به رو می شوید، اما زمانی که به چالش های جدید برخورد می کنید، شاید دچار نا امیدی شوید. اما نکته ی کلیدی در برنامه نویسی این است که در این مسیر صبر داشته باشید و ناامید نشوید، چرا که باید تمام تمرکز خود را صرف پیدا کردن راه حل بهینه کنید و بدانید که بالاخره به جواب مسئله ی خود دست پیدا خواهید کرد.

برای اینکار باید روحیه ی چالش پذیری خود را روز به روز تقویت کنید و به قول معروف دل را به دریا بزنید. برای این منظور خود را همیشه درگیر چالش ها و مسائل جدید کنید تا روز به روز با حل مسائل جدید و پیچیده علاوه بر کسب تجربه و مهارت، روحیه ی خود را قوی کنید تا در مقابل ناامیدی ضد گلوله شوید.

3. مستندسازی نکردن تجارب و یافته های خود

معمولا تمام برنامه نویسانی که شروع به فراگیری یک زبان برنامه نویسی می کنند و یا در زمان کدنویسی با یک نکته ی جدید مواجه می شوند با خود این گونه می گویند : "حتما آن را یاد گرفته ام و به یاد خواهم داشت." اما بر اساس یک جمله ی معروف که می گوید : "کمرنگ ترین جوهرها از قوی ترین حافظه ها ماندگارتر است" این کار یکی از اشتباهات متداول در بین برنامه نویسان، به ویژه برنامه نویسان تازه وارد است.

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

بنابراین همیشه سعی کنید در ابتدای کار برای خود تمام نکات و یافته های خود را یادداشت برداری و مستندسازی کنید و حتما از کامنت گذاری برای کدهای خود استفاده کنید تا زمانی که این کار برای شما به یک عادت تبدیل شود. با این کار علاوه بر اینکه شما یک منبع مناسب برای خود ایجاد کرده اید، می توانید با اشتراک گذاری آن با دیگران، به روند آموزش آن ها کمک کنید.

4. انتقادپذیر نبودن و نداشتن روحیه کار تیمی

برنامه نویسانی که مسیر پیشرفت را در نظر می گیرند، این واقعیت را می پذیرند که یکی از سریعترین و مطمئن ترین راه ها برای پیشرفت و یادگیری در دنیای برنامه نویسی، پذیرفتن انتقادات و استفاده از تجارب برنامه نویسان موفق و با سابقه تر از خود می باشد.

اعضای یک تیم برنامه نویسی دقیقا مانند اعضای یک تیم فوتبال می باشند و هر نفر وظایف خاص خود را دارد که باید انجام دهد. از طرفی نحوه ی انجام وظایف هر شخص بر کل سیستم و تیم برنامه نویسی تاثیرگذار است. به همین دلیل یک برنامه نویس باید همواره در تلاش باشد تا خود را با تیم برنامه نویسی خود همگام و هماهنگ سازد و اگر احساس می کند در این راه نیاز به کمک دارد، باید بی پروا از کمک دیگر اعضای تیم استفاده کند.

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

5. کدنویسی کثیف

یکی از نشانه های یک برنامه نویس حرفه ای و متخصص، کثیف نبودن کدهایی است که نوشته است. شاید برخی ابتدا به این نکته بسیار مهم توجه نمی کردند و تمام هدف خود را بر روی اجرای صحیح نرم افزار نهایی خود متمرکز می ساختند ولی کدنویسی تمیز و دوری از کثیف کد نوشتن به یکی از ویژگی هایی تبدیل شده است که برای شرکت ها و تیم های برنامه نویسی جهت استخدام برنامه نویس، بسیار حیاتی و با اهمیت است.

بنابراین همیشه باید به این نکته به خصوص در کارهای تیمی توجه کنید که باید برای انسان ها کدنویسی کنیم و نه برای کامپیوتر، چرا که یک برنامه نویس حرفه ای کدهای خود را به صورت قابل فهم و به صورت کامنت گذاری شده می نویسد و همیشه در تلاش است که بهترین و قابل فهم ترین نام ها را در کدهای خود به کار گیرد. البته به این نکته توجه کنید که نباید آنقدر درگیر بهینه کردن کدهای خود شویم که به یک وسواس در کدنویسی تبدیل شود و به جای اینکه کدهای خود را بهینه تر کنیم، علاوه بر صرف زمان بیشتر به پیچیدگی و دشواری آنها اضافه کنیم.

6. عدم تقویت مهارت های نرم (Soft Skills)

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

7. انعطاف پذیر نبودن در مقابل تغییر

Programming-Skills

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

برنامه نویس شدن صرفا یادگیری یک زبان برنامه نویسی نمی باشد بلکه باید بر کانسپت ها و اصول آن تسلط پیدا کرد. بنابراین شاید نیاز شود که در میانه ی راه زبان برنامه نویسی خود را عوض کنید و چیزهای جدیدی را آموزش ببینید. زیرا یک برنامه نویس در طول زمانی که مشغول به این حرفه می باشد ساعت های زیادی را با ابزار ها و کدهای مختلف سر و کار دارد که این تکنولوژی ها روز به روز در حال پیشرفت و تغییر می باشند و باید همیشه بهترین ابزار، روش ها و زبان های برنامه نویسی را انتخاب کنید. به عبارتی دیگر نباید نتیجه ی نهایی کار را نباید فدای عدم اطلاع و یا عدم آگاهی از روش های مناسب تر کرد.

جمع بندی

قطعا در مسیر تبدیل به برنامه نویسی حرفه ای و متخصص با چالش ها و اشتباهات گوناگونی برخورد خواهیم کرد که این موارد از شخصی تا شخصی دیگر متفاوت هستند. اما برخی اشتباهات و ضعف ها به صورت کم و بیش برای تمام برنامه نویسان به خصوص برنامه نویسانی که تازه پا به عرصه ی برنامه نویسی گذاشته اند وجود دارند که در این مقاله سعی شد که با مهمترین آن ها آشنا شوید و راه حل مواجه با آن ها را بیاموزید. اگر شما هم در مسیر برنامه نویسی خود به مشکلاتی دیگر مواجه شده اید که فکر می کنید از قلم افتاده اند و می توانند به دیگر علاقه مندان به برنامه نویسی کمک کنند، حتما در پایین این پست آنها را کامنت کنید تا به موارد بالا اضافه شوند.

comment دیدگاه کاربران
nickmichelson replyپاسخ

با سلام
یه سوال داشتم نمیدونستم کجا نظر بزارم به همین دلیل اینجا نوشتم
دوره متخصص لاراول تکرار نمیشه ؟؟؟
اگه نمیشه امکانش هست دوره قبلی رو برای فروش بگذارید ؟؟؟
ممنون میشم جوابمو بدید

مهدی علامه

سلام دوست عزیز
انشالله از هفته ی آینده ثبت نام دوره متخصص لاراول شروع میشه

add_circle ارسال دیدگاه

خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :