
چقدر طول میکشه پایتون یاد بگیریم؟
در مرحله اول مشخص کردن یک تاریخ دقیق برای یادگیری زبان برنامه نویسی پایتون (python) کاملا غیر ممکنه ولی به طور تقریبی میشه با ثابت در نظر گرفتن یکسری پارامتر ها زمانی مشخص کرد.
اگر با python آشنایی ندارید میتونید مقاله پایتون چیست؟ رو مطاله کنید.
خبر خوب برای کسایی که تازه وارد این مسیر شدن اینه که زبان برنامه نویسی پایتون از آسون ترین زبان های برنامه نویسیه، واسه همین تقریبا میشه گفت راحت ترین ورود به دنیای برنامه نویسی رو میتونید با python تجربه کنید.
مهم ترین چیز توی اول مسیر اینه درگیر مسائلی نشید که اول کار نیاز نیست یاد گرفته بشه چون نه میتونید خوب درکش کنید و نه ازش استفاده کنید همین نکته کوچیک خیلی خیلی شما رو جلو میندازه.
ذات برنامه نویسی هم همینه که اگر از چیزی که یاد گرفتید استفاده نکنید راحت فراموش میشه و این وسط فقط زمان شما هدر رفته، پس میتونید به صورت رایگان دوره آموزش پایتون رو شرکت کنید که هر چیزی که برای قدم بعدی نیاز دارید رو یاد بگیرید.
عوامل موثر بر سرعت یادگیری پایتون (python)
پیش زمینهی برنامه نویسی
یکسری مطالب هستن که بین زبان های برنامه نویسی مختلف مشترکه (مثل متغیر، حلقه، تابع و...) و فقط نحوه پیاده سازی اونهاست که فرق میکنه.
اگر کسی مثلا قبلا با جاوااسکریپت یا php و یا زبان های برنامه نویسی دیگه کار کرده میتونه خیلی سریع تر توی پایتون پیش بره (Syntax ساده python هم خیلی کمک کنندس).
میزان تعهد به مطالعه و تمرین
یک مثال از روی تجربه:
فک کنید شما یک ساعت در روز آموزش پایتون میبینید و 2 ساعت هم تمرین میکنید (که زمان مناسبی هم هست) و با همین ریتم برای این مثال فرض میگیریم شما توی 6 ماه میتونید پایتون رو تا حد خوبی یاد میگیرید.
حالا شما میگید اگر بیام به جای 3 ساعت 9 ساعت تمرین کنم پس به جای 6 ماه، 2 ماهه میتونم تمومش کنم درسته؟
روی کاغذ اینطوری به نظر میرسه ولی برنامه نویسی بیشتر شبیه دوی ماراتنه تا دوی سرعت، نود درصد کسایی که وارد برنامه نویسی میشن یک شروع انفجاری دارن ولی بعد چند ماه خسته میشن و اونو کنار میزارن.
زبان پایتون خیلی ساله که وجود داره و برنامه نویس هایی هستن که ده ها ساله که دارن پایتون کار میکنن ولی هیچکس آخر مسیر رو ندیده پس توی یادگیری عجله نکنید همیشه مطلب جدید هست.
پس استمرار از همه چیز مهم تره و با یادگیری و تمرین مداوم میتونید خیلی پیشرفت کنید و کم کم به ساعت های بیشتر تمرین هم عادت میکنید.
روش یادگیری
اینکه مثلا شما از خود داکیومنت پایتون یاد بگیرید خیلی بیشتر زمان میگیره (حتی ممکنه خوب درکش نکنید) تا مثلا مدرس مطالب رو به زبان ساده جا بندازه و نکاتی هم طبق تجربه بگه و فقط اون چیزهایی که اول مسیر لازمه رو براتون بگه تا سریع تر نتیجه دلخواه رو بگیرید.
نکته: هر چند داکیومنت پایتون کامل ترین منبع پایتونه و مطالعه اون کاملا کار به جایی هستش ولی خیلی برای کسایی تازه برنامه نویسی رو شروع کردن، منبع خوبی برای شروع نیست چون ممکنه مطالب براشون گنگ و خشک به نظر برسه و کلا از برنامه نویسی زده بشن پس بهتره از دوره های با کیفیت برنامه نویسی برای شروع استفاده کنید.
هدف یادگیری
پایتون (python) یکی از اون زبان های برنامه نویسیه که خیلی کاربرد های مختلفی داره و توی حوزه های مختلف به کار میره.
یادگیری پایهی پایتون که بین همه شاخه های اون یادگیریش الزامیه کم ترین زمان رو به نسبت ادامه مسیر از شما میگیره و اینکه با پایتون میخواید چیکار کنید خیلی مهمه چون از یک جایی به بعد هر کدوم مسیر جداگونه ای دارن مثلا:
- 1- اسکریپت نویسی: ممکنه بین چند هفته تا یک ماه برای پیاده سازی اولین اسکریپت (یک فرایند خودکار سازی ساده) کافی باشه.
- 2- توسعه وب با فریم ورک هایی مثل جنگو و فلسک: برای تولید پروژه های واقعی تحت وب معمولا به طور کلی به 6 ماه تا یک سال نیازه تا تسلط مناسبی از برنامه نویسی تحت وب و این فریم ورک ها برسید.
- 3- علم داده و یادگیری ماشین: تسلط به کتابخانه هایی مثل Pandas، Numpyو TensorFlow میتونه بین یک تا دو سال زمان ببره.
پس خیلی مهمه میخواید با پایتون چیکار کنید در نتیجه خیلی فرق میکنه که کسی پایتون رو فقط برای کار های ساده و اسکریپت نویسی میخواد تا کسی که میخواد توسعه دهنده بک اند (Backend Developer) بشه (برای آشنایی بیشتر با فریم ورک های تحت وب پایتون میتونید مقاله بهترین فریم ورک های پایتون رو مطالعه کنید).
شبکه سازی
مهم نیست که شما برنامه نویس سنیور، میدلول و یا جونیور باشید، فعال بودن و ارتباط گرفتن توی جامعه برنامه نویس ها خیلی خیلی واجبه چون در کنار ارتباط گرفتن میتونید از تجربه و علم بقیه هم استفاده کنید و سریع تر رشد کنید.
شما چه هدفتون استخدام شدن باشه و چه فریلنسر شدن و پروژه گرفتن، باید در شبکه هایی مثل لینکدین (LinkedIn) فعالیت کنید و اصلا تاثیر فعال بودن و ارتباط گرفتن توی شبکه ای مثل لینکدین رو توی یادگیری دست کم نگیرید.
توی لینکدین (LinkedIn) سعید امینی مطالب مربوط به برنامه نویسی و نکات و تجربیات رو به اشتراک میزارم که میتونه خیلی توی مسیر به شما کمک کنه و دید خوبی از دنیای برنامه نویسی بهتون بده.
سطوح یادگیری
با اینکه دسته بندی برنامه نویسان به سطوح مختلف خیلی سخته و تعیین اینکه کی حرفه ای و کی نیست با وجود شاخه های مختلف پایتون سخت تر از چیزیه که به نظر میرسه ولی در چارچوب این مقاله سعی میکنم دسته بندی برای فهم بهتر ایجاد کنم:
1. مبتدی
- - یادگیری سینتکس پایه: انواع داده، توابع، حلقه و...
- - نوشتن اسکریپت های ساده: کار با فایل
2. متوسط
- - تسلط بر مفاهیم شئ گرایی و پکیج های مختلف
- - پروژه های کوچیک: ساخت اسکرپر (web scraper)، ساخت وبسایت های ساده
- - مدیریت اصولی خطاها
3. پیشرفته
- - کار با فریم ورک هایی وب: مثل جنگو و فلسک
- - تسلط به مفاهیمی مثل Concurrency، Generators، Decorators
- - کتابخانه های یادگیری ماشین: مثل Pandas، Numpy و TensorFlow
- - بهینه سازی کد
4. حرفه ای
- - تست نویسی اصولی
- - تسلط پیدا کردن با data structures و algorithms
- - پیاده سازی معماری های مختلف
- - تجربه تیمی توی پروژه های بزرگ و حل مسائل پیچیده و پیدا کردن بهترین راه حل
- - و ادامه یادگیری
چقدر طول میکشه پایتون یاد بگیریم؟
حالا که با وجود تعاریف بالا دید خوبی پیدا کردید میشه به صورت تقریبی جدول زیر رو نوشت ولی دقت کنید که هر فرد میتونه با فرد دیگه فرق کنه:
سطح | زمان تقریبی | مفاهیم و قابلیت ها |
---|---|---|
مبتدی | 1-3 ماه | یادگیری سینتکس پایه و نوشتن اسکریپت های ساده |
متوسط | 3-6 ماه | تسلط بر مفاهیم شئ گرایی و پکیج های مختلف و مدیریت درست خطاها |
پیشرفته | 6-12 ماه | کار با فریم ورک هایی وب (Django، Flask)، تسلط به مفاهیمی مثل Concurrency، Generators، Decorators و... |
حرفه ای | 1-3 سال یا بیشتر | تست نویسی اصولی، تسلط پیدا کردن با data structures و algorithms، حل مسائل پیچیده و پیدا کردن بهترین راه حل، و ادامه یادگیری... |
الان بیشتر از 6 ساله که مشغول برنامه نویسی وب هستم و در طول این مدت کلی چالش رو پشت سر گذاشتم و عاشق اینم که هر چیزی رو که در این مدت یاد گرفتم رو به بقیه هم یاد بدم، الانم در بستر سایت گیک باز دارم دانشم رو با بقیه تقسیم میکنم :)