سؤال‌هایی که قبل از شروع برنامه نویسی باید از خود پرسید

این روزها افراد زیادی به دنبال یادگیری برنامه نویسی هستند اما هیچ ایده‌ای در مورد هدف خود ندارند. قطعا اگر برنامه‌نویس‌ها از هدف خود آگاه باشند به خوبی می‌توانند از این راه به درآمد برسند، اما تعداد زیادی از افراد بدون داشتن هیچ ذهنیتی این کار را شروع می‌کنند.در این مقاله در رابطه با سؤال‌هایی که قبل از شروع برنامه نویسی باید از خود پرسید خواهیم پرداخت.در واقع بسیاری از افرادی که به دنبال برنامه‌نویسی می‌روند از انتخاب آن پشیمان می‌شوند، دلیل اصلی این پشیمانی این است که برنامه‌نویسی طبق انتظار و ذهنیت آن‌ها نیست و خیلی سریع گیج می‌شوند. برای اجتناب از قرار گرفتن در این موقعیت‌ها در ابتدا باید چند سؤال را از خود بپرسید و با خود صادق باشید.هسته‌ی اصلی برنامه‌نویسی فرآیند حل مسأله است. این فرآیند ابعاد زیادی دارد اما عامل اصلی موفقیت هر برنامه‌نویس، انگیزه‌ و محرک ذاتی و درونی او برای خلق مسئله و برطرف کردن خطا است.می‌گویند یک برنامه‌نویس معمولا ۱۰ درصد از زمان خود را صرف نوشتن باگ و ۹۰ درصد را صرف اشکال‌زدایی و برطرف کردن باگ‌ها می‌کند و هر شخصی که کدنویسی را به شکل جدی تجربه کرده باشد می‌تواند با این ذهنیت ارتباط برقرار کند. پس برنامه‌نویسی در واقع هنر اشکال‌زدایی است.هر کسی می‌تواند دستورالعمل‌های یک زبان برنامه‌نویسی را یاد بگیرد و با جزئیات دقیق محیط توسعه‌ی یکپارچه (IDE) آشنا شود. هر شخصی می‌تواند به ایده‌ی یک اپلیکیشن جدید فکر کند؛ اما در مواجهه با خطا چه واکنشی نشان می‌دهد؟ در این مرحله به یک شخصیت خاص و ویژه نیاز است.برنامه‌نویس موفق کسی است که بتواند در مواجهه با یک خطای عجیب کامپایلر، یک کتابخانه‌ی کد پر از اشکال، یا یک ویژگی زبانی گیج‌کننده به دنبال پاسخ باشد. برنامه‌نویس موفق کسی است که ساعت‌ها وقت خود را صرف پیدا کردن یک راه‌حل کند و تا زمانی که راه‌حل موردنظر را پیدا نکرده ناامید نشود.می‌توان از یک زاویه‌ی دیگر هم به برنامه‌نویسی نگاه کرد: انگیزه‌های بیرونی در مقابل انگیزه‌های درونی. آیا به خاطر پاداش به دنبال برنامه‌نویسی هستید؟ یا به خاطر علاقه این کار را انجام می‌دهید؟ اگر علاقه‌ای به برنامه‌نویسی نداشته باشید مسیر درستی را انتخاب نکرده‌اید.آیا به دنبال خلق کردن هستید؟اغلب تازه‌کارهای برنامه‌نویسی همان سال اول این کار را رها می‌کنند. با اینکه دلایل زیادی برای تسلیم شدن وجود دارد اما شاید مهم‌ترین دلیل گیج شدن در منحنی یادگیری و تضعیف روحیه باشد.برنامه‌نویسی یک رشته‌ی گسترده با صدها زبان و حوزه‌ی قابل بررسی است. در هر زمینه‌ای با هزاران کتابخانه و فریم‌ورک مختلف روبه‌رو می‌شوید و به الگوهای سطح بالایی می‌رسید که در موقعیت‌های مختلف قابل پیاده‌سازی هستند.به طور خلاصه، هرگز نمی‌توانید برنامه‌نویسی را به صورت کامل یاد بگیرید بنابراین باید هدف دقیق خود را مشخص کنید. شاید یک برنامه‌نویسی گرافیک سه‌بعدی در ساخت وب‌سایت هیچ تجربه‌ای نداشته باشد یا بهترین کدنویس هوش مصنوعی هیچ ذهنیتی در مورد ساخت اپلیکیشن‌های موبایل نداشته باشد.قبل از شروع برنامه نویسی ، در مورد هدف خود به صورت دقیق فکر کنید. اگر به دنبال ساخت وب‌سایت هستید، انرژی خود را متمرکز بر یادگیری جاوا اسکریپت کنید. اگر می‌خواهید اپلیکیشن‌های OS X بسازید، بهتر است سوئیفت را یاد بگیرید. اگر می‌خواهید بازی‌سازی کنید #C و یونیتی را بیاموزید.کته‌ی اصلی این است که هدف نهایی شما (وب‌سایت، بازی یا موارد دیگر)، مسیر یادگیری را مشخص می‌کند بنابراین لازم است از ابتدا با این مسیر آشنا شوید. مطمئنا همیشه می‌توانید مسیر خود را تغییر دهید و در زمینه‌های دیگر به کسب تجربه بپردازید، اما وقتی هدف واحدی داشته باشید برنامه‌نویسی و کدنویسی آسان‌تر خواهد شد.سرگرمی یا شغل؟آیا می‌خواهید پروژه‌های کدنویسی را صرفا برای پر کردن وقت آزاد خود انجام دهید یا قصد دارید برای کار تمام وقت وارد صنعت برنامه‌نویسی شوید. پاسخ به این سؤال تأثیر زیادی بر موضوع مطالعه، روش مطالعه یا مسیر کلی پیشرفت شما خواهد داشت.قبل از شروع برنامه نویسی سعی کنید در ذهن خود به این سوالات پاسخ دهید.شاید هدف شما ساخت یک بازی ویدئویی باشد. شغل خود به عنوان یک حسابدار را دوست دارید و قصد ترک آن را ندارید و می‌خواهید در روزهای آخر هفته روی یک پروژه‌ی برنامه‌نویسی هم کار کنید. در این صورت می‌توانید هر زبان یا موتور مورد علاقه‌ی خود را یاد بگیرد. تا وقتی که هدف شما صرفا سرگرمی باشد چه تفاوتی خواهد داشت؟ز سوی دیگر اگر می‌خواهید به عنوان یک شغل به توسعه‌ی بازی‌های ویدئویی بپردازید باید به طور جدی به یادگیری یک زبان یا موتور مثل C++،Unreal Engine 4 یا جاوا و LibGDX بپردازید.مدرک دانشگاهی می‌تواند به کمک شما بیاید اما وجود آن ضروری نیست. اینترنت به عنوان منبع خودآموزهای عالی، کتاب‌های رایگان برنامه‌نویسی و دوره‌های رایگان است و دانشگاه به عنوان محلی برای برقراری ارتباط با افراد متخصص و ورود به بازار کار می‌تواند مفید باشد. پس صرف‌نظر از این‌که برنامه‌نویسی را به عنوان یک شغل یا سرگرمی انتخاب می‌کنید، باید زمان زیادی را صرف تمرین کنید.تا چه اندازه به دنبال آن هستید؟برنامه‌نویسی کار دشواری است. صرفا یادگیری کدنویسی (به این دلیل که از هر فرآیند دیگری دشوارتر است) یا اشکال‌زدایی (به این دلیل که اغلب خطاها تقریبا مستقیم هستند) کار سختی نیست، بلکه کل فرآیند برنامه‌نویسی نیاز به اراده و استقامت بالایی دارد.پشتکار ویژگی اصلی برنامه‌نویس‌های موفق استهر پروژه‌ی کدنویسی ترکیبی از برنامه‌نویسی و اشکال‌زدایی است؛ دو فرآیندی که از نظر ذهنی به انرژی زیادی نیاز دارند. هر پروژه، ماراتونی از حل مسئله است و با پیچیده‌تر شدن مسائل خم شدن زیر بار آن‌ها ساده‌تر خواهد شد. حتی اگر بگویند یادگیری برنامه‌نویسی زیاد هم سخت نیست، برای رسیدن به قله به اطلاعات زیادی نیاز خواهید داشت. برنامه‌نویسی مثل یک تردمیل بی‌پایان از مفاهیم، الگوها، زبان‌ها و ابزار جدید است. بسیار سرگرم‌کننده و جذاب و درعین‌حال بسیار هم خسته‌کننده است.اما سخت‌ترین بخش کار، این است که همیشه احساس می‌کنید به‌اندازه‌ی کافی خوب عمل نمی‌کنید. حتی پس از هزاران ساعت تجربه و تمرین هنوز هم ممکن است احساس کنید چیزی نمی‌دانید. مربیان و همکار‌ها می‌توانند در شرایط سخت، به شما کمک کنند اما نیاز به اراده‌ی آهنین دارید.به همین دلیل پشتکار، ویژگی اصلی بهترین برنامه‌نویس‌ها است. صرف‌نظر از استرس بالای برنامه‌نویسی باید سعی کنید در مسیر خود مصمم باشید. برای یادگیری هر زبان جدید یا روبه‌رو شدن با خطاها یا اشکال‌های متعدد و هر پروژه‌ای که سختی‌های منحصربفردی داشته باشد، باید عزم خود را جزم کنید.بدون پشتکار، کارتان تمام است و متأسفانه اغلب اوقات این اتفاق برای برنامه‌نویس‌ها رخ می‌دهد. به عنوان یک خبر خوب، این ناامیدی همیشگی نیست. حتی اگر مشکلاتی سر راهتان قرار گرفت، بدانید که همیشه راهی برای غلبه بر آن‌ها وجود دارد.(تمام دوره های آموزشی کدفرند به صورت اصولی و کامل تدریس شده‌اند). https://codefriend.ir/2019/05/25/سؤال‌هایی-که-قبل-از-شروع-برنامه-نویسی/