در مورد پیشنیازهای این دوره یک نکته خیلی مهم وجود دارد: خودِ پایتون، هرچقدر هم خوب یادش بگیرید، بهتنهایی شما را به یک برنامهنویس حرفهای تبدیل نمیکند. پایتون فقط «زبان» است؛ چیزی که شما را حرفهای میکند، درک مفاهیم برنامهنویسی و توانایی استفاده از آنها در پروژههای واقعی است.
اولین و مهمترین پیشنیاز بعد از خود زبان، مفاهیم شیءگرایی یا OOP است. بدون درک درست شیءگرایی، شما در سطح اسکریپتنویسی میمانید و نمیتوانید سیستمهای قابلگسترش، قابلنگهداری و حرفهای بسازید. بنابراین OOP از نظر اهمیت در اولویت اول قرار میگیرد.
بعد از آن، اصول SOLID مطرح میشود. این اصول درواقع ادامهی منطقی شیءگرایی هستند و کمک میکنند کدی بنویسید که تمیز، قابلتست، قابلتوسعه و قابلدرک برای سایر برنامهنویسها باشد. اهمیت SOLID کمی پایینتر از خود OOP است، اما برای کار حرفهای، بهخصوص در تیم و روی پروژههای بزرگ، تقریباً ضروری است.
در سطح بعدی، الگوهای طراحی یا Design Patterns قرار میگیرند. این الگوها راهحلهای استاندارد برای مسائل تکراری در طراحی نرمافزار هستند. بدون آنها هم میشود کد نوشت، اما با یادگیریشان میتوانید خیلی حرفهایتر فکر کنید و کدهایی بنویسید که ساختار بهتری دارند و دیگران هم راحتتر آنها را میفهمند. اهمیت Design Patternها بعد از OOP و SOLID است و بیشتر در مرحلهای به کار میآیند که کمی تجربه کسب کرده باشید.
از طرف دیگر، Git و کنترل نسخه یک مهارت کاملاً عملی و ضروری برای هر توسعهدهنده است. حتی اگر تنها کار کنید، بازهم باید بتوانید تاریخچهی کدتان را مدیریت کنید، تغییرات را پیگیری کنید و از خراب شدن پروژه جلوگیری کنید. اگر بخواهید در تیم کار کنید، Git دیگر یک گزینهی اختیاری نیست، بلکه یک الزام است. از نظر اهمیت در کار حرفهای، Git تقریباً همسطح OOP است، چون بدون آن وارد دنیای واقعی توسعه نرمافزار نمیشوید.
در نهایت، کار با پایگاه دادههاست. تقریباً هیچ اپلیکیشن جدیای وجود ندارد که داده ذخیره نکند. شما باید حداقل با مفاهیم پایهای پایگاه داده، کار با SQL، و نحوهی اتصال پایتون به دیتابیسها آشنا باشید. اهمیت دیتابیس کمی پایینتر از Git و OOP است، اما در عمل برای بکاند، وب، دیتا و بسیاری از حوزهها، دانستنش الزامی است.
در طول این دوره، تمرکز اصلی روی خود پایتون است، اما دائماً اشاره میکنم که هر مبحث در دنیای واقعی چطور در کنار OOP، SOLID، Design Pattern، Git و پایگاه داده قرار میگیرد تا تصویر درستی از مسیر تبدیل شدن به یک Python Developer حرفهای داشته باشید.