چرا از طریق برنامه نویسی به درآمد نمی رسم؟

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