برنامه نویس، توسعه دهنده وب بک-اند
مسیر وبکار شدن این نیست!
عرض ادب خدمت تمامی دوستان محترمی که به هر دلیل دوست دارن به سمت وب تغییر مسیر بدن و این علم چند بخشی رو یاد بگیرن.
توی این مقاله میخوام یک توضیح کلی راجع به وب کار شدن یا به تعبیر دیگهای توسعه دهنده وب، داده باشم و اینکه ممکنه به چند قسمت هم برسه البته این بسته به حال خودم داره. البته میخوام تجربه تدریس خودمو توی فنی حرفهای هم به این مقاله اضافه کنم که خالی از لطف نیست، چرا که دغدغه دوستان عزیزم که باعث شده حتی بعضا کلاس رو کنسل کنن روشن بشه.
وب چیست؟
وب یا تار عنکبوت که کار نداریم دقیقا از کجا اومده، به مجموعه ارتباطات با استفاده از پروتکل http در بستر tcp/ip رو وب میگن که منجر شده واژه WWW(World-Wide-Web) یا وب گسترده جهانی بوجود بیاد.
این وب عزیزمون یک مبحث میان رشتهای هست، به دلیل اینکه ما علاوه بر اینکه نحوه استفاده از وب رو اگر کنار بذاریم، با مفاهیم شبکه، سیستم عامل، برنامه نویسی (که خودش طراحی الگوریتم و ساختمان داده است)، دیتابیس و ... سروکار داریم. لذا باید در نظر داشت اگر کسی در حوزه وب ادعایی داره، باید ببینید توی کدوم زمینه فعالیت میکنه.
ما دو تا زمینه در وب داریم که میتونیم به صورت تخصصی واردش بشیم:
فرانت-اند یا توسعه دهنده بخش کاربر
هر زمان که به وبسایتی رجوع میکنید، بخش بصری وب سایت رو در مرحله اول خواهید دید. اگر کمی حرفهای تر باشید، میتونید دیگر بخشهای اون وب سایت رو حدس بزنید. این متخصصین عزیز، فعالیتشون در حوزه همین بخش بصری وبسایته، که البته مباحث پیشرفتهای توش مطرح میشه مثل UI/UX که خودش دنیاییه، یعنی میخوام بگم هرچیزی که توی این بخش بوجود میاد زیر سر همین UI/UX.
این عزیزان با بکارگیری دادههای آماری جمع آوری شده و همچنین تجربیات چند ساله در این حوزه، بهترین صفحات با کارایی بالا رو سعی در انجام دارن. که انشاءالله مطالبی رو راجع به همین UI/UX در پنجشنبه عصر منتشر خواهد شد. همینو بگم که این دوستان با مفاهیم بخش کلاینت سر و کار دارن، مثلا نحوه درخواست به سرور و همزمانی اجرای دستورات.
بک-اند یا توسعه دهنده بخش سرور
این قسمت تخصص منه و همین امر باعث شده که درس وب مقدماتی که شامل فرانت میشه رو توی آموزشگاه تدریس بکنم. البته مباحث مرتبط با تخصص هم تدریس میشه اما این دوره تاکید خاصی دارم که یک متخصص بک-اند تدریس بکنه. واضحه، چون متخصص بک-اند، با ابتداییترین مسائل آشناست و همچنین میتونه خیلی مطالب مهمی رو راجع به تمامی زمینههای بالا ارائه بده. البته این دالّ بر این نیست که متخصصین فرانت این مسائل رو ندونن، اما به طور کلی، فرانت کاران عزیز از این مسائل پشت پرده به خوبی اگاه نیستن.
در بک-اند یک وبسایت، منطق و سیاستهای کار مشخص میشه، مثلا ثبت فاکتور، نحوه تخفیف به کاربر، ثبت و ضبط انواع گزارشات، ساخت انواع سرویسها و ... .به طور کلی این متخصصین زیربنای یک پروژه وب رو پیاده سازی و مدیریت میکنن.
خب چه کنیم؟
با تفاسیر بالا، میتونیم حدس بزنیم برای متخصص شدن کلی زمان و تجربه لازمه و این تجربه با چیزی به جز مطالعه و کار توی این حوزه بدست نخواهد آمد و دغدغه اصلی این مقاله همین موضوعه.
ببینید عزیزان دل، لینکی که بهتون معرفی میکنم از وبسایت معروفی هست که مسیر یک وب کار شدن رو بهتون نشون میده(این لینک در حوزه فرانت-اند و این لینک در حوزه بک-اند) ببینید که چقدر مسیر طولانی و طاقت فرسایی پیش روی شماست، حداقل هر کسی خودشو میتونه وب کار معرفی کنه که در کمترین حالت سه سال تجربه کار حرفهای داشته باشه(البته که شرایط دیجی کالا سخت تره). با این تفاسیر، بازهم هستن دانشجویانی که دلیلشون از اومدن به این رشته درآمد بالا و مهاجرت هست انگار که ما توی این رشته کار مهاجرتی انجام میدیم، لذا باید گفت که به عنوان دوره ثبت نام شده هم دقتی نمیکنن، دورههای فنی و حرفهای رو میگم. به عنوان مثال دورهای داریم تحت عنوان "مفاهیم طراحی وب" یا "web design fundamentals" که پایهایترین و مهمترین دوره است. سرفصلهایی که توی این دوره بحث میشه، کاملا راجع به مفاهیم بنیادی وب و همچنین کمی یادگیری بخش فرانت هست.
نحوه تدریس من
لازم به ذکر هست که ما توی این دوره، ۱۵ جلسه درخدمت دوستان هستیم که ۳ جلسه مباحث پایه وب تئوری مطرح میشه، از جلسه چهارم مبحث psd2html مطرح میشه، اما من برای آموزش بهتر، از روی یک قالب دیگهای شروع به تدریس میکنم. مساله اصلی اینجاست که شما فکر میکنید آخر این دوره به چه چیزی دست پیدا میکنید؟ جواب این سوال با شما.
کلاس همیشه پر توان شروع میشه و به همین تفسیر بالا، بعد از گذشت ۴ جلسه از وب خسته میشن و از دوره انصراف میدن.
من همیشه سر کلاس، دست دانشجو رو باز میذارم به طوری که با مشورتهای زیادی سعی میکنم کلاس رو پیش ببرم و همین امر باعث شده که دانشجو فکر بکنه که طرح درس کلی راجع به ارائه مباحث ندارم و این مساله رو قبل از اینکه به خودم بگه، با مدیر آموزشگاه در میون میذاره و کلاس رو کنسل میکنه، البته که مدیریت آموزشگاه کاملا به شیوه تدریس من واقفه و خب این نکته مثبتی در دوام ارتباط کاری با این آموزشگاهه، منتها قضاوت نادرست و نداشتن صبر در این راه، باعث میشه که هم به آموزشگاه لطمه بزنه و هم به اعتبار استاد و خود دانشجو. نکته اصلی اینجاست که بعضی وقتا فکر میکنم منم باید مثل بقیه اساتید شروع به آموزش psd2html کنم از اولین جلسه و چیزی در حدود یک جلسه راجع به مفاهیم تئوری صحبت کنم و تمام کنم مساله رو، چون در وهله اول زمانی که به دانشجو یک سری مفاهیم رو القاء میکنیم، احساس ترس و بطالت میکنه و میره از اون کلاس مخصوصا اگر خانم باشه(که همه بلاها زیر سر همین خانم هاست ?)
متاسفانه ایراد بعدی به کلاس من استفاده از وبسایت w3schools هست. و ایراد اینجاست که میگن اگر این وبسایته که ما خودمون میریم میخونیم دیگه چرا پول به کلاس بدیم، همینو نمیدونن که این عزیزان دل نکات رو نمیتونن از این رفرنس یاد بگیرن، منظور از نکات، فوتهای کوزهگری در این حوزه است که مهمه. همچنین مورد بعدی سن هست که من ۲۳ سالمه، ظاهرا نمیتونن ببینن که میشه با ۲۳ سال سن پروژه انجام داد و تدریس کرد. یکی از دانشجویان عزیز من در دو دوره قبل، به دلیل سن من کلاس رو کنسل کرد(جالبه بدونید خودش ۱۹ سالش بود).
من قراره چکار کنم؟
یک مساله خیلی مهمی رو متوجه شدم، غالبا کسانی که با من دوره رو میگذرونن، پیش زمینهای دارن توی این حوزه، یعنی با کمی تحقیق متوجه یک سری مسائلی شدن، این افراد فکر میکنن که اونقدر متوجه هستن که میتونن از پسش بر بیان.
من روشی رو پیش میگیرم در دورههای بعد امیدوارم جواب بده:
۱. اینکه اولین جلسه رو اختصاص میدم کاملا به مباحث تئوری
۲. از جلسه دوم شروع میکنم به برنامه نویسی تا متوجه بشن چیزی بلد نیستن، چون تکلیف اون کسی که اومده مدرک بگیره کاملا مشخصه. اینم بگم که ۱۰۰ نمره عملی دارن که باید بالای ۷۰ بشن که نمرش دست منه و ۱۰۰ نمره تئوری که باید بالای پنجاه بشن که دست فنی و حرفهایه.
۳. سن یک عدده ولی متاسفانه برای بعضیا معیار سنجش، پس اینو تحت هیچ شرایطی به کسی نمیگم.
۴. ارتباط دوستانه با دانشجو برقرار نمیکنم که بهش القاء بشه من دانشم خیلی بیشتر از اونه.
انشاءالله بعد از تست کردن این بخش، حتما ادامه داستان رو براتون قرار میدم
پس مسیر وب کار شدن چی شد؟
بله از این مهم یکمی دور شدیم. توی ایران البته دقیقا از زمانی که من وارد بازار کار حرفهای شدم، میتونم بگم فقط و فقط کار و پروژه باعث پیشرفت من توی این زمینه میشد. اگر قرار به رفتن دانشگاه باشه، باید حتما دانشگاه رو به بهترین شکل ممکن بگذرونید، یعنی بچسبید دروس تخصصی که دوست دارید رو با پیشنیازهاش با بهترین نمره بگذرونید چرا که برای ادامه تحصیل هم این نمرات خیلی تاثیر داره و خب تخصص شماست. من به نوبه خودم مسیر کلی رو خدمتتون معرفی میکنم که باید هر شخص حرفهای این مسیرو برای متخصص شدن بگذرونه، چرا که توی این جامعه اگر یک ذره پول داشته باشی مهندس که هیچی، دکتر هم صداتون میکنن و به همون اندازه قبولتون دارن.
مرحله اول: سعی کنید تخصص خودتونو توی عرصه برنامه نویسی مشخص کنید. مثلا وب، موبایل، دسکتاپ و ...
مرحله دوم: سعی کنید کورسهای آموزشی مختلفی چه فارسی و چه انگلیسی ببینید که به باز شدن ذهنتون خیلی کمک میکنه.
مرحله سوم: سعی کنید دانستههاتونو با افراد حرفهای تر توی فرومها و شبکههای مجازی مرتبط، به اشتراک بذارید تا سطح سوادتون دستتون بیاد.
مرحله چهارم: بعد از این سعی کنید توی یک شرکت معتبر نه بزرگ، ترجیحا کوچیک کارآموزی خودتونو استارت بزنید. هرچه بیشتر کارآموزی کنید بیشتر دانش کسب میکنید. چون خیلیا هستن که دانششونو همینطوری در اختیارتون میذارن البته در محیط کارآموزی چه از سر دلسوزی یا توهین یا هرچیز دیگهای. تفاوت توهینهای توی محیط کار مهندسی با محیطهای دیگه، در نحوه توهینها و کسب تجربههاست. سخت نگیرید.
مرحله پنجم: با سلام و صلوات، سعی کنید توی همون شرکت به مدت خیلی کوتاه قراردادی ۳ماه ۳ماه، مشغول به کار بشید ولی مراقب نحوه قرارداد بستن باشید همچنین سفته که خیلی خیلی خیلی خیلی مهمه. این مرحله هیچوقت تموم نمیشه، سعی کنید توی این مرحله رزومه سازی کنید، تولید محتوا، نمونه کد گیتهاب، مشارکت در سورس کدهای دیگه و ... که مهمترین دستاوردهای این دوره است.
قرار بود پنجشنبه ها پست منتشر کنیم، اما خب امروز تازه به ویرگول مهاجرت کردیم.
در پناه حق باشید.
مطلبی دیگر از این انتشارات
وُرَثای مرگ
مطلبی دیگر از این انتشارات
اصل استمرار چه چیزی میتونسته باشه؟
مطلبی دیگر از این انتشارات
چگونه افسرده شویم؟