Back End چیست؟
همه اپ های موبایل و همه سایت ها از دو بخش Front End و Back End درست شده اند. اینکه شما هر بار میتونید با اطلاعات کاربری تون توی یک سایت لاگین کنید و اون سایت شما رو از خاطر نمیبره کار برنامهنویس Back End هست. ذخیره همه اطلاعات و تعیین کردن سطح دسترسی کاربران به اون اطلاعات و خیلی از موارد دیگه که کاربر هیچ وقت از نزدیک نمیبینه همه کار برنامه نویس بکند هست.
Back End Developer کیست؟
Back End Developer یا برنامه نویس بکند کسیه که به یک نرم افزار روح میده. مثلا وقتی میخواهید تو یه سایت ثبت نام کنید و منتظر هستید تا کد اعتبار سنجی براتون پیامک بشه، اون پیامک رو برنامهنویس بکند میفرسته
چه کسانی تو Back End موفق تر خواهند بود؟
اگه ویژگی های زیر رو دارید، احتمالا تو برنامه نویسی Back End موفق تر خواهید بود
- کسی که عاشق سرو کله زدن با مسائل پیچیده است
- کسی که به حل معما علاقه داره
- کسی که دقیق و ریز بین باشه
- کسی که مفاهیمی مثل رنگ و چیدمان براش مسخره به نظر بیاد
- کسی که استراتژیست باشه
- کسی که تو کار ها به سناریو های مختلف فکر میکنه
- کسی که نگاه راز آلود به مسائل داره و دوست داره بفهمه پشت هر چیزی چه داستانی قرار داره
- اگه قرار باشه تو ساخت یه برنامه تلوزیونی کمک کنه، پشت صحنه رو ترجیح بده
- کسی که براش مهم نیست کارش به چشم دیده بشه، بلکه دوست داره زیر ساخت اونایی رو درست کنه که کارشون دیده میشه
اگر این ویژگی ها رو ندارید نگران نباشید، این ها وحی منزل نیستند. اگه این ویژگی ها رو ندارید ولی حس میکنید به Back Ed علاقه دارید امتحانش کنید. من نمیتونم بهتون بگم اگه این ویژگی ها رو ندارید به درد Backend نمیخورید!
بازار کار Back End چطور است؟
برای اینکه متوجه بشید بازار کار فرانت چقدر بزرگ است کافیست وارد سایت های استخدامی بشید عبارت «Front End» را سرچ کنید. اون وقت متوجه میشید که این حوزه چقدر بازار کار دارد.
چطور میشه برنامهنویس Back End شد؟
براتون یک نقشه راه آماده کردهام و همه چیز هایی که باید یاد بگیرید رو توش قرار داده ام. این نقشه راه رو با تمرکز روی بازار کار آماده کرده ام. یعنی سعی کرده ام فقط مواردی که برای ورود به بازار کار خیلی ضروری هست رو توش بیارم. وگرنه مواردی که تو فرانت میشه یاد گرفت خیلی زیاد هست.
| عنوان | زیرمجموعهها | جونیور | میدلول | سینیور |
|---|---|---|---|---|
| Internet & Networking Basics | مبتدی | متوسط | حرفه ای | |
| OS & Terminal | Linux Basics | مبتدی | متوسط | حرفه ای |
| Bash & Shell Scripting | مبتدی | حرفه ای | ||
| Programming Language | Python Fundamentals | متوسط | حرفه ای | حرفه ای |
| OOP & Advanced Python | مبتدی | متوسط | حرفه ای | |
| Algorithms & Data Structures | Language Oriented Algorithms | مبتدی | متوسط | حرفه ای |
| Problem Solving & Data Structures | متوسط | حرفه ای | ||
| Package & Env Management | pip & Virtualenv | مبتدی | متوسط | حرفه ای |
| Poetry / Pipenv | مبتدی | حرفه ای | ||
| Databases | Relational DB & SQL | مبتدی | متوسط | حرفه ای |
| NoSQL (MongoDB, …) | مبتدی | حرفه ای | ||
| ORM (Django ORM / SQLAlchemy) | مبتدی | متوسط | حرفه ای | |
| Python Web Frameworks | Django | مبتدی | متوسط | حرفه ای |
| Flask | مبتدی | متوسط | حرفه ای | |
| FastAPI | مبتدی | حرفه ای | ||
| API Design & Integration | REST | مبتدی | متوسط | حرفه ای |
| GraphQL | مبتدی | حرفه ای | ||
| WebSocket | مبتدی | حرفه ای | ||
| Authentication & Authorization | مبتدی | حرفه ای | حرفه ای | |
| Security (OWASP, Best Practices) | مبتدی | متوسط | حرفه ای | |
| Testing | unittest / pytest | مبتدی | متوسط | حرفه ای |
| Integration & API Tests | متوسط | حرفه ای | ||
| Caching & Message Queues | Redis | مبتدی | متوسط | حرفه ای |
| RabbitMQ / Kafka | مبتدی | حرفه ای | ||
| Architecture & Patterns | Design Patterns | متوسط | حرفه ای | |
| Microservices / Clean Architecture | مبتدی | حرفه ای | ||
| Version Control & CI/CD | Git | مبتدی | متوسط | حرفه ای |
| Github / GitLab | مبتدی | متوسط | حرفه ای | |
| CI/CD (Github Actions, GitLab CI) | متوسط | حرفه ای | ||
| Containers & Orchestration | Docker | مبتدی | متوسط | حرفه ای |
| Kubernetes | مبتدی | حرفه ای | ||
| Deployment & Cloud | VPS & Web Servers (Nginx, Gunicorn) | مبتدی | متوسط | حرفه ای |
| Cloud Providers (AWS / GCP / Azure) | مبتدی | حرفه ای | ||
| Logging & Monitoring (ELK, Prometheus, …) | مبتدی | حرفه ای | ||