رفتن به مطلب اصلی

از کجا شروع کنیم؟

من، کی ام؟#

اول از همه باید خودم رو معرفی کنم. من، مسعود معبودی هستم و مدت زیادیه که برنامه نویسی میکنم البته به صورت خود آموز. قطعا توی دانشگاه هم چیزای زیادی راجع به برنامه نویسی یاد گرفتم ولی قسمت اصلی کار امروزم رو خودم ساختم و با آموزش های آنلاین، گشتن توی اینترنت و سایت های مختلف و در آخر سوال پرسیدن به اینجا رسیدم. توی دو سال گذشته هم بیشتر وقتم رو صرف برنامه نویسی تکنولوژی های Back-End و Cloud Services کردم. البته توی همین مدت تونستم فوق لیسانس خودم رو توی رشته Data Science بگیرم و توی Image Processing و Deep Learning هم یه سری تجربه به دست بیارم. در حال حاضر هم بیشتر با Amazon Cloud Services و کلا سرویس های کلود سر و کار دارم.

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

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

چرا برنامه نویسی مهمه؟#

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

استفاده بهتر از زمان#

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

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

تبدیل ایده به واقعیت#

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

بهتر فکر کردن#

برنامه نویسی یعنی استفاده از کد، برای حل مشکل! با این کار شما یاد میگیرید که چطور میشه یه مشکل بزرگ رو به مشکلات کوچکتری تبدیل کنید و قطعا حل مشکلات کوچکتر راحت تره. به این روش میگن Divide and Conquer.

با من قدم بزن!#

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

تعیین هدف: چی میخوای یاد بگیری؟#

قبل از شروع کد نویسی، باید برای خودتون هدف تعیین کنید و مشخص کنید که چه مهارت هایی میخواید یاد بگیرید. اصلا چرا میخواید برنامه نویسی کنید؟ میتونه دلیل های مختلفی داشته باشه مثل: صرفا یادگیری، آمادگی برای امتحان دانشگاه، ساخت نرم افزار، آنالیز داده یا کلی دلیل دیگه!

انتخاب زبان برنامه نویسی#

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

قبل شروع صحبتام باید چندتا نکته رو بگم:

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

سایت stackoverflow.com هر سال یه مقاله منتشر میکنه که توی اون راجع به خیلی چیزا صحبت میکنه. مثلا راجع به کشور های مختلف و رشته های مورد نیاز در اونها به تفکیک جنسیت و سن و خیلی فاکتورهای دیگه. یه قسمت جالبش راجع به زبان های برنامه نویسی هست که توی اون سال استفاده شدن. گراف زیر برای سال ۲۰۲۰ هستش.

به نظر من شما میتونید هر زبان برنامه نویسی ای رو شروع کنید ولی بهتره که شروعش با یکی از زبان های بالا باشه که حداقل میدونید کلی آدم دیگه دارن ازشون استفاده میکنن.

تمرین، تمرین، تمرین!#

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

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

وگرنه که میتونید به لیست زیر یه نگاهی بندازید چون چندتا پروژه جالب رو براتون لیست کردم:

ماشین حساب#

جدول سودوکو#

حدس کلمه#

شطرنج#

توصیه های دوستانه#

توی این چند سالی که برنامه نویسی میکنم، یه سری چیزا برام روشن شدن که شاید زمانی که میخواستم شروع کنم این کار رو، خیلی بهشون توجه نمیکردم. به نظرم بد نیست اونها رو به شما هم بگم:

از نتونستن خسته نشید!#

یکی از بزرگترین اشتباهاتی که میتونید انجام بدید که به باهوش نبودن خودتون توی این مرحله از زندگی پی ببرید!

کدنویسی تقریبا هیچ ربطی به هوش شما نداره. من آدمایی رو دیدم که شاید یه قسمت از کد یا یه مفهومی توی برنامه نویسی رو حتی ۱۵ بار میخونن تا بفهمن ولی خسته نمیشن! (متوجه شدین که منظورم خودم نیست :) )

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

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

مفاهیم اولیه اونقدرا هم خسته کننده نیست!#

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

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

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

با کدی که نوشتید، بازی کنید!#

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

بعد هر درسی هم سعی کنید با کدتون بازی کنید! یعنی یه سری چیزا رو تغییر بدید. نتیجه رو ببینید. بعدش بازم تغییر بدید و با کدهای قبلی قاطیش کنید. اینطوری مفاهیم جدید و قدیمی رو با هم تمرین میکنید.

پایان یا آغاز؟#

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

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

موفق باشید :)