راهنمای شروع مسیر یادگیری برنامه‌نویسی


۱۰ اسفند ۱۳۹۹
راهنمای شروع مسیر یادگیری برنامه‌نویسی

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

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

چرا می‌خواهید برنامه‌نویسی کنید؟

تعیین هدف

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

برخی از هدف‌های مشترک افراد به‌شکل زیر است:

  • تغییر یا پیدا کردن یک شغل جدید
  • پیشرفت در جایگاه شغلی فعلی
  • پیاده‌سازی یک ایده و تبدیل شدن به کارآفرین موفق

داشتن یک هدف بسیار مهم است زیرا مسیر یادگیری شما را تعیین می‌کند. به‌عبارت دیگر چیزهایی که بایستی یاد بگیرید به هدف شما بستگی دارند.

پیدا کردن یک شغل جدید

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

البته اگر بخواهید وارد شرکت‌های بزرگی مانند Google، Amazon، Facebook یا Microsoft شوید نمی‌توانید فقط به مهارت‌های ابتدایی بسنده کنید و بایستی در علوم کامپیوتر عمیق‌تر شوید.

پیشرفت در جایگاه شغلی فعلی

پیشرفت در جایگاه شغلی فعلی

شاید یک بازاریاب باشید اما بخواهید با برنامه‌نویسی به یک بازارایاب بهتر تبدیل شوید. اگر این‌چنین هدفی داشته باشید توصیه می‌شود روی زبان‌های برنامه‌نویسی کراس‌پلتفرم و سطح بالا مانند Python یا JavaScript سرمایه‌گذاری کنید. اصول اولیه این زبان‌ها را یاد بگیرید و سپس به توسعه‌ی پروژه‌هایی بپردازید که باعث پیشرفت شما می‌شوند.

پیاده‌سازی یک ایده

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

در این سناریو بایستی بتوانید یک نسخه‌ی MVP از ایده‌ی خود را توسعه دهید و زمانی که پروژه‌های شما به درآمدزایی رسید می‌توانید مهندسان چیره دستی را استخدام کنید تا توسعه‌ی پروژه‌های شما را به‌دست بگیرند.

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

چگونه شروع کنیم؟

چگونه شروع کنیم؟

پس از تشخیص هدف باید بدانید که از کجا شروع کنید. FreeCodeCamp را می‌توان یک منبع یادگیری مناسب دانست زیرا:

  • رایگان است بنابراین به شما کمک می‌کند تا بدون هیچ خطر و مانعی، مسیر یادگیری خود را شروع کنید.
  • با سبک تدریس مناسب و عملی، شما را آماده کار می‌کند.
  • جامعه‌ی کاربری فعالی دارد بنابراین در‌صورت روبرو شدن با مشکل می‌توانید از کمک دیگران بهره‌مند شوید.

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

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

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

  • یادگیری تمام وقت یا پاره وقت
  • تجربه‌ی قبلی یا مرتبط
  • استعداد فردی
  • استراتژی یادگیری

یادگیری تمام وقت یا پاره وقت

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

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

تجربه‌ی قبلی یا مرتبط

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

استعداد فردی

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

استراتژی یادگیری و داشتن هدف

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

اما اگر می‌خواهید به یک متخصص در مهندسی نرم‌افزار تبدیل شوید باید بیشتر از بقیه‌ی افراد به جزئیات بپردازید زیرا شرکت‌ها انتظارهای بیشتری از شما خواهند داشت.

ترفندهایی برای یادگیری سریع

در این بخش به نکته‌هایی می‌پردازیم که در هموار شدن مسیر شما نقش بسیار زیادی خواهند داشت.

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

اتکا به انگیزه صرف می‌تواند خطرناک باشد. بنابراین توصیه می‌شود که زمان خاصی از روز را به کدنویسی اختصاص دهید و سعی کنید این روال را به یک عادت روزمره تبدیل کنید زیرا این عادت برای موفق شدن شما در طولانی‌ مدت ضروری است.

همچنین سازگاری مهم است. شاید برخی روزها حال و هوای مناسبی نداشته باشید که در این صورت می‌توانید زمان یادگیری خود را کاهش دهید یا فقط یکی از مسئله‌های FreeCodeCamp را حل کنید. به این صورت انرژی از دست رفته‌ی شما به‌سرعت برمی‌گردد و روز بعد با قدرت می‌توانید در مسیر خود ادامه دهید.

سعی کنید که در یک چالش گیر نکنید

سعی کنید که در یک چالش گیر نکنید

گیر افتادن در برخی چاش‌ها باعث می‌شود که ناامید شوید. حتی شاید این ناامیدی باعث شود که فکر کنید شما برای برنامه‌نویسی مناسب نیستید و از یادگیری دست بکشید.

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

جدول زمانی مشخصی داشته باشید

ماه اول

اگر یادگیری برنامه‌نویسی وب هدف شما باشد بنابراین در ماه اول باید به یادگیری اصول HTML و CSS بپردازید. پس از یادگیری اصول می‌توانید به سراغ یادگیری سینتکس زبان JavaScript بروید. همچنین با توسعه‌ی پروژه‌های هرچند ساده با چالش‌ها دست و پنجه نرم کنید.

ماه دوم

در این ماه همزمان با یادگیری زبان JavaScript باید به برخی دیگر از جنبه‌های مورد نیاز در توسعه‌ی نرم‌‌افزار توجه کنید:

  • سعی کنید با نحوه‌ی جستجو در Google آشنا شوید زیرا بسیاری از مشکل‌های شما قبلا در StackOverflow مطرح و حل شده است.
  • با نحوه‌ی کارکرد اینترنت و مباحثی مانند DNS، HTTP و Web serverها آشنا شوید.
  • اصول اولیه کار با Command line سیستم‌عامل فعلی خود را یاد بگیرید.
  • استفاده از Git یا هر نوع Version Control دیگر می‌تواند بسیار مفید باشد بنابراین سعی کنید تا به‌صورت مقدماتی با دستور‌های این ابزار آشنا شوید.
  • google developer tools و Chrome developer console در توسعه‌ی پروژه‌های وب بسیار مفید هستند.

ماه سوم

اگر خوب تمرین کرده باشید در این ماه به اصول اولیه برنامه‌نویسی مسلط شده‌اید بنابراین در قدم بعدی می‌توانید به سراغ مفاهیم پایه‌ای بروید:

برنامه‌نویسی synchronous در مقایسه با asynchronous

کار با API در زبان برنامه‌نویسی JavaScript

مبحث Event loop در JavaScript

Dom manipulation

ماه چهارم

در این ماه می‌توانید پا را فراتر از اصول اولیه بگذارید و کار با کتابخانه‌هایی مانند React را شروع کنید. حتی می‌توانید یک فریم‌ورک مانند Vue یا Angular را انتخاب کرده و در استفاده از آن به یک متخصص تبدیل شوید.

  • یک portfolio website ایجاد کنید و برخی از پروژه‌های خود را در آن قرار دهید.
  • اصول امنیت وب
  • مفاهیم CSS مدرن
  • یادگیری یکی از فریم‌ورک‌های CSS مانند bootstrap
  • شناخت اولیه از برنامه‌نویسی بک‌اند با استفاده از Node.js و کار با دیتابیس

ماه پنجم

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

  • به‌دنبال راهنماهای مصاحبه‌ی شغلی باشید.
  • با مفاهیم پایه‌ای علوم کامپیوتر آشنا شوید.
  • یک رزومه از خودتان بسازید.

مزایای تبدیل شدن به یک برنامه‌نویس

در ادامه‌ی این بخش به برخی مزایای تبدیل شدن به یک برنامه‌نویس می‌پردازیم:

بهبود توانایی حل مسئله

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

اعتماد به‌ نفس و مقاومت ذهنی

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

تبدیل شدن به کسی که بیشتر افراد به مهارت‌های او نیاز دارند

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

جمع‌بندی

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

منبع: https://codeburst.io/how-to-learn-to-code-in-2021-free-and-fast-guide-ae06d6ac9006

برچسب‌ها:

خدمات رایگان لیارا

۲.۵ گیگابایت فضای ذخیره‌سازی ابری رایگان

۲.۵ گیگابایت Object Storage سازگار با پروتکل S3 با دیسک‌های SSD به‌صورت رایگان دریافت کنید.

هاست رایگان برای دیتابیس‌

دیتابیس‌های MariaDB، PostgreSQL و Redis را فقط با یک کلیک و به‌صورت رایگان تهیه کنید.

سرویس DNS رایگان

به سادگی دامنه‌تان را اضافه کنید و به صورت رایگان رکورد‌های آن را مدیریت کنید.

۱۰۰ هزار تومان اعتبار اولیه

بعد از ثبت نام در لیارا مبلغ ۱۰۰ هزار تومان اعتبار هدیه دریافت می‌کنید که با توجه به ساعتی بودن هزینه سرویس‌ها، می‌توانید تمامی خدمات پولی را برای چندین هفته رایگان استفاده کنید.

ارسال ۱۰۰ ایمیل تراکنشی رایگان در هر ماه

در سرویس ایمیل لیارا شما می‌توانید تا ۱۰۰ ایمیل رایگان در هر ماه ارسال کنید و فقط برای بیش از آن هزینه پرداخت کنید. (به‌همراه دسترسی SMTP)

هاست رایگان برای انواع وبسایت

تفاوتی ندارد برای وبسایت خود از Node استفاده می‌کنید یا Laravel و Django، در لیارا می‌توانید به صورت کاملا رایگان آن را میزبانی کنید.

توسعه‌دهندگان درباره‌ی ما چه می‌گویند

تجربه کار باliara_cloud@امروز خیلی خوب بود. یکی از سرویس هام رو منتقل کردم روش و راضیم. انقد سریع و جذاب کارم راه افتادم اصن باورم نمیشد! برعکس سرویس های PaaS دیگه با اون همه پیچیدگیشون. دمتون گرم
...

MohammadReza
liara testimonial
keikaavousi

بعد از بسته شدن @fandoghpaas و ناراحتی همه‌مون از اینکه یه سرویس خوب و صادق نمی‌تونه از پس هزینه‌ها بر بیاد، سرویسم رو منتقل کردم به پاس لیارا (https://liara.ir @liara_cloud) . تجربه راحت و خوب. تفاوت‌هایی داشت که کمی کار می‌خواست ولی تا الان کاملا راضی.

jadi
liara testimonial
jadi

یه خسته نباشید باید به تصمیمliara_cloud@بگم،
بعد از چندین روز سرکله زدن با سرویس های مشابه بالاخره تصمیم گرفتم لیارا رو امتحان کنم و باور نمیشه ۱۰ دقیقه بیشتر وقت نبرد،
دمتون گرم.

Arch
liara testimonial
EbadiDev

واسه سرویس PaaS با اختلاف لیارا بهترین رابط کاربری داره و یکی از مزیت‌های سرویس دیتابیس‌شون اینه که خودشون به صورت دوره‌ای بکآپ میگیرن.
...

Ali Najafi
liara testimonial
me_ali_najafi

یکی از کارهای خوبی که جدیداً میکنم اینه که یه دیتابیس روی لیارا میسازم و به پروژه وصل میکنم اینطوری هم خونه و هم محل کار دیتابیس بروز رو دارم و راحت میتونم ادامه بدم کار روliara_cloud@

Navid
liara testimonial
1navid

عاشقliara_cloud@شدم درسته در حد AWS نیست ولی خب تجربه خوبی واسه پروژه های داخل ایران ارائه میده، میتونم رو CD هم اجراش کنم

Amir H Shekari
liara testimonial
vanenshi

همراه شما هستیم

در خصوص سفارش یا استفاده از سرویس‌ها سوالی دارید؟
تلفن واحد فروش:
۰۲۵-۳۳۵۵۷۶۱۹ (روزهای کاری ۹ الی ۱۷)
تلفن واحد فروش: ۳۳۵۵۷۶۱۹-۰۲۵ (روزهای کاری ۹ الی ۱۷)