در این بخش قصد داریم تا با اشتباهات رایج میان برنامه نویسان آشنا شویم تا دچار آنها نشویم
1. علاقه نداشتن به برنامه نویسی
اولین و بزرگترین اشتباه یک شخص، ورود به حوزه ای است که به آن علاقه ای ندارد. شاید افراد زیادی را دیده باشید که به دلیل موقعیت اجتماعی و یا کسب درآمدی بهتر حوزه ی کاری خود را عوض میکنند و از شاخه ای به شاخه ی دیگر میپرند. اما اشتباه نکنید، برنامه نویسی مهارتی است که برای یادگیری و تقویت آن نیاز به زمان و پشتکار است که این موارد بدون داشتن علاقه ی کافی برای شما میسر نمیشود.
کسی که به برنامه نویسی علاقه مند است هر روز که از خواب بیدار میشود تا زمانی که میخواهد بخوابد، حتی در زمان خواب هم به برنامه نویسی فکر میکند و تمام حواس و تمرکز خود را برای پیدا کردن بهترین راه حل برای برنامههای خود جمع میکند. شخصی که عاشق برنامه نویس است هر روز که بر سر کار میرود آن روز برایش یک روز عالی در بهشت است و نه یک روز عذاب آور که به اجبار به محل کار رفته است. این شخص همیشه به برنامه نویسی در مرحله اول به دید یک تفریح شیرین و لذت بخش نگاه میکند تا اینکه صرفا از آن به عنوان شغلی برای کسب درآمد و گذران زندگی یاد کند.
2. نا امید شدن
یکی از مشکلاتی که همیشه در ابتدای این مسیر همراه شما خواهد بود، حس نا امیدی است. این حس را همه در اوایل کار خود و به ویژه در زمان مواجه با مسائل و مشکلات مختلف تجربه خواهند کرد. همه میدانند که یک برنامه نویس همیشه با مسائل و سوالات پیچیده ای سر و کار دارد و برنامه نویسی صرفا فقط نوشتن کد به یک زبان برنامه نویسی نیست، بلکه ارائه راه حلی است که با نوشتن کدهای آن زبان، پیاده سازی میشود.
بدیهی است که اگر در این مسیر راه حل و جواب مشکلات و مسائل را بدانید به راحتی با آنها رو به رو میشوید، اما زمانی که به چالشهای جدید برخورد میکنید، شاید دچار نا امیدی شوید. اما نکته ی کلیدی در برنامه نویسی این است که در این مسیر صبر داشته باشید و ناامید نشوید، چرا که باید تمام تمرکز خود را صرف پیدا کردن راه حل بهینه کنید و بدانید که بالاخره به جواب مسئله ی خود دست پیدا خواهید کرد.
برای اینکار باید روحیه ی چالش پذیری خود را روز به روز تقویت کنید و به قول معروف دل را به دریا بزنید. برای این منظور خود را همیشه درگیر چالشها و مسائل جدید کنید تا روز به روز با حل مسائل جدید و پیچیده علاوه بر کسب تجربه و مهارت، روحیه ی خود را قوی کنید تا در مقابل ناامیدی ضد گلوله شوید.
3. مستندسازی نکردن تجارب و یافتههای خود
معمولا تمام برنامه نویسانی که شروع به فراگیری یک زبان برنامه نویسی میکنند و یا در زمان کدنویسی با یک نکته ی جدید مواجه میشوند با خود این گونه میگویند : “حتما آن را یاد گرفته ام و به یاد خواهم داشت.” اما بر اساس یک جمله ی معروف که میگوید : “کمرنگترین جوهرها از قویترین حافظهها ماندگارتر است” این کار یکی از اشتباهات متداول در بین برنامه نویسان، به ویژه برنامه نویسان تازه وارد است.
همیشه افراد زیادی را دیده ام که زمانی که در حال یادگیری یک زبان برنامه نویسی هستند و یا به دنبال پیدا کردن راه حلی برای یک چالش جدید در این حوزه بوده اند، با شنیدن، خواندن و یا یافتن راه حلهای جدید بر این باور بوده اند که آنها را به صورت کامل یاد گرفته اند و با اعتماد به ذهن خود از یادداشت برداری آنها خودداری کرده اند. اما با گذشت مدت زمانی نه چندان زیاد، به محض اینکه با آن موارد مجددا مواجه میشوند در میابند که توانایی پیاده سازی و حل آنها را ندارند. چرا که این یک امر بدیهی است که یک برنامه نویس روزانه با چالشها و مشکلات زیادی سر و کار داشته باشد که این امر باعث میشود که تسلط پیدا کردن به این موارد طالب زمان زیاد و تجربه ی کافی باشد.
بنابراین همیشه سعی کنید در ابتدای کار برای خود تمام نکات و یافتههای خود را یادداشت برداری و مستندسازی کنید و حتما از کامنت گذاری برای کدهای خود استفاده کنید تا زمانی که این کار برای شما به یک عادت تبدیل شود. با این کار علاوه بر اینکه شما یک منبع مناسب برای خود ایجاد کرده اید، میتوانید با اشتراک گذاری آن با دیگران، به روند آموزش آنها کمک کنید.
بیشتر بخوانید :11 دلیل برای برنامه نویس نشدن !
4. انتقادپذیر نبودن و نداشتن روحیه کار تیمی
برنامه نویسانی که مسیر پیشرفت را در نظر میگیرند، این واقعیت را میپذیرند که یکی از سریعترین و مطمئنترین راهها برای پیشرفت و یادگیری در دنیای برنامه نویسی، پذیرفتن انتقادات و استفاده از تجارب برنامه نویسان موفق و با سابقهتر از خود میباشد.
اعضای یک تیم برنامه نویسی دقیقا مانند اعضای یک تیم فوتبال میباشند و هر نفر وظایف خاص خود را دارد که باید انجام دهد. از طرفی نحوه ی انجام وظایف هر شخص بر کل سیستم و تیم برنامه نویسی تاثیرگذار است. به همین دلیل یک برنامه نویس باید همواره در تلاش باشد تا خود را با تیم برنامه نویسی خود همگام و هماهنگ سازد و اگر احساس میکند در این راه نیاز به کمک دارد، باید بی پروا از کمک دیگر اعضای تیم استفاده کند.
چرا که فرایند برنامه نویسی و ساخت یک نرم افزار یک مسیر واحد و یکتا ندارد و برنامه نویسان همواره در مسیر توسعه ی یک نرم افزار با تصمیمگیریهای متعدد و گوناگونی همراه میباشند تا بتوانند راه حل بهینه را انتخاب کنند زیرا امکان دارد که برای پیاده سازی آن نرم افزار راههای بسیار مناسبتری وجود داشته باشد که به ذهن شما در آن زمان خطور نکرده باشد. بنابراین برنامه نویسان موفق همیشه به دنبال دریافت نظرات دیگر برنامه نویسان و کاربران در مورد عملکرد نرم افزار خود هستند تا با استفاده از بازخوردهایی که دریافت میکنند کدهای نوشته شده و نرم افزارهای خود را بهبود دهند.
5. کدنویسی کثیف
یکی از نشانههای یک برنامه نویس حرفه ای و متخصص، کثیف نبودن کدهایی است که نوشته است. شاید برخی ابتدا به این نکته بسیار مهم توجه نمیکردند و تمام هدف خود را بر روی اجرای صحیح نرم افزار نهایی خود متمرکز میساختند ولی کدنویسی تمیز و دوری از کثیف کد نوشتن به یکی از ویژگی هایی تبدیل شده است که برای شرکتها و تیمهای برنامه نویسی جهت استخدام برنامه نویس، بسیار حیاتی و با اهمیت است.
بنابراین همیشه باید به این نکته به خصوص در کارهای تیمی توجه کنید که باید برای انسانها کدنویسی کنیم و نه برای کامپیوتر، چرا که یک برنامه نویس حرفه ای کدهای خود را به صورت قابل فهم و به صورت کامنت گذاری شده مینویسد و همیشه در تلاش است که بهترین و قابل فهمترین نامها را در کدهای خود به کار گیرد. البته به این نکته توجه کنید که نباید آنقدر درگیر بهینه کردن کدهای خود شویم که به یک وسواس در کدنویسی تبدیل شود و به جای اینکه کدهای خود را بهینهتر کنیم، علاوه بر صرف زمان بیشتر به پیچیدگی و دشواری آنها اضافه کنیم.
6. عدم تقویت مهارتهای نرم (Soft Skills)
منظور از مهارتهای نرم یا Soft Skills مجموعه ویژگیها و خصوصیات فردی یک شخص است که باعث تقویت موقعیتهای شخصی، کاری و… میشوند، از جمله کنترل اضطراب، صبور بودن و… که جزو ویژگی هایی هستند که صفات کلی شخص را تعریف میکنند. شاید تعجب کرده باشید که ارتباط خصوصیاتی مثل صبور بودن و یا خوش اخلاقی با برنامه نویسی در چیست و چطور این نوع ویژگیها میتوانند در حرفه و تخصص شما به کار آیند. ولی از آنجایی که شما در یک تیم برنامه نویسی قرار است مشغول به کار شوید و یا حتی اگر به صورت مستقل و فریلنسری (دورکاری) مشغول به کار باشید، باید با مشتریان خود در تعامل باشید باید بتوانید به صورت مناسب با افراد دیگر ارتباط بر قرار کنید.
چرا که وقتی شما به یک تیم برنامه نویسی ملحق میشوید باید به آنها به دید یک خانواده نگاه کنید زیرا قرار است که حداقل نیمی از زمان هر روز خود را با آنها سپری کنید و در مسیر توسعه ی یک نرم افزار هر روز با یکدیگر به چالشهای متفاوتی برخورد میکنید که باید با همکاری یکدیگر بهترین روش را برای حل آنها انتخاب کنید. پس همیشه در تلاش باشید که روابط و مهارتهای ارتباطی خود با دیگران را در مسیر حرفه ای شدن تقویت کنید.
7. انعطاف پذیر نبودن در مقابل تغییر
انعطاف پذیری یکی از مهمترین ویژگیهای یک برنامه نویس محصوب میشود چراکه برنامه نویسی حرفه ای تلقی میشود که همواره آمادگی این را داشته باشد که در مواقع نیاز متناسب با وظیفه خود و کاری که انجام میدهد، بهترین زبان، فریمورک و ابزارهای برنامه نویسی را انتخاب کند. بنابراین از اینکه همیشه متکی به یک روش، زبان و یا ابزار خاص باشید، سعی کنید که همیشه به روز باشید و با تکنولوژیهای دیگر آشنا باشید تا در مواقع نیاز از آنها برای پیشبرد اهدافتون استفاده کنید.
برنامه نویس شدن صرفا یادگیری یک زبان برنامه نویسی نمیباشد بلکه باید بر کانسپتها و اصول آن تسلط پیدا کرد. بنابراین شاید نیاز شود که در میانه ی راه زبان برنامه نویسی خود را عوض کنید و چیزهای جدیدی را آموزش ببینید. زیرا یک برنامه نویس در طول زمانی که مشغول به این حرفه میباشد ساعتهای زیادی را با ابزارها و کدهای مختلف سر و کار دارد که این تکنولوژیها روز به روز در حال پیشرفت و تغییر میباشند و باید همیشه بهترین ابزار، روشها و زبانهای برنامه نویسی را انتخاب کنید. به عبارتی دیگر نباید نتیجه ی نهایی کار را نباید فدای عدم اطلاع و یا عدم آگاهی از روشهای مناسبتر کرد.
چگونه برنامه نویسی را شروع کنیم تا شکست نخوریم؟
قطعا در مسیر تبدیل به برنامه نویسی حرفه ای و متخصص با چالشها و اشتباهات گوناگونی برخورد خواهیم کرد که این موارد از شخصی تا شخصی دیگر متفاوت هستند. اما برخی اشتباهات و ضعفها به صورت کم و بیش برای تمام برنامه نویسان به خصوص برنامه نویسانی که تازه پا به عرصه ی برنامه نویسی گذاشته اند وجود دارند که در این مقاله سعی شد که با مهمترین آنها آشنا شوید و راه حل مواجه با آنها را بیاموزید. اگر شما هم در مسیر برنامه نویسی خود به مشکلاتی دیگر مواجه شده اید که فکر میکنید از قلم افتاده اند و میتوانند به دیگر علاقه مندان به برنامه نویسی کمک کنند، حتما در پایین این پست آنها را کامنت کنید تا به موارد بالا اضافه شوند.