کانال تلگرام

چطور در ۱۸۰ روز به یک توسعه دهنده وب تبدیل شویم؟

تاریخ : ۱۳ آبان ۱۳۹۸
نویسنده : حمید رضا ملکی
دسته بندی ها : برنامه نویسی , طراحی وب

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

developer

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

هر کسی می‌تواند به یک توسعه دهنده وب تبدیل شود، مسئله این است که باید در این مسیر پایدار بوده و از تلاش دست نکشید. اگر انگیزه کافی داشته باشید می توانید پس از مدتی به یک توسعه دهنده خوب وب تبدیل شوید. بهتر است سخن را کوتاه کنم، در این مقاله به شما نشان می دهم که چطور در صد و هشتاد روز میتوان به یک توسعه دهنده وب تبدیل شد.

زمان ۱۸۰ روز برای شروع کار برنامه نویسی در زمینه توسعه وب کافی است. البته نمی‌توانم تضمین کنم که شما در این مدت به نتیجه برسید. بسته به عوامل مختلف ممکن است این زبان برای افراد گوناگون بیشتر و یا کمتر باشد. همه چیز به میزان تلاش و انگیزه شما بستگی دارد.

من از ۱۹ سالگی یادگیری توسعه وب را شروع کردم، طبیعتاً در آن زمان پول زیادی نداشتم و مجبور بودم از آموزشهای ارزان‌ قیمت و یا رایگان استفاده کنم، مسیری که من در آن روزها انتخاب کردم به صرفه ترین مسیر ممکن بود.

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

البته من مخالف کلاس های حضوری برنامه نویسی نیستم این کلاس ها تا حدودی موثر هستند، اما گاهی اوقات هزینه های هنگفتی  بر دوش شما می گذارند، با کمی تلاش بیشتر می توانید مطالبی که در این کلاس ها آموزش داده می شود را یاد بگیرید. اکنون اجازه دهید کارهایی که در مدت این ۱۸۰ روز باید انجام دهید را در زیر بررسی کنیم.

روزهای یکم تا پانزدهم : اصول اولیه زبان های html و css را بیاموزید

آغاز سفر شما برای تبدیل شدن به یک توسعه دهنده وب با دو زبان html و css شروع می شود. تمرکز بر روی اصول این زبان ها بسیار اهمیت دارد. وقتی اصول را در خود قوی کنید، درک موضوعات دیگر برای شما بسیار ساده تر خواهد بود. در ابتدا با زبان html شروع کنید، ببینید این زبان برای شما چه کاری انجام میدهد؟

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

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

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

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

اگر از یک مرورگر مدرن برای پیمایش میان وب سایت ها در اینترنت استفاده می کنید، قابلیت جاوا اسکریپت آن را غیر فعال کرده و به سراغ وب ‌سایت‌های مختلف بروید، خیلی سریع متوجه خواهید شد که ۹۷ درصد از وب سایت هایی که به سراغ آنها رفته‌اید، عملکرد صحیحی ندارند و حتی به درستی بارگذاری نمی شوند. جاوا اسکریپت به وب قدرت می دهد.

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

روزهای پنجاه و یکم تا هشتاد و یکم : یادگیری بهتر زبان جاوا اسکریپت و بررسی جزئیات مرتبط با آن

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

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

روزهای هشتاد و دوم تا صد و بیستم : یک فریمورک یا کتابخانه سمت کلاینت را یاد بگیرید

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

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

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

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

نکته : فریمورک ری اکت یک کتابخانه جاوا اسکریپت برای ایجاد رابط‌های کاربری است. این فریم ورک جزء قدرتمند ترین فریم ورک های موجود در بازار است. در زیر تصویری از ارتباط میان فریمورک های مختلف آمده است.

graph

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

روزهای صد و بیست و یکم تا صد و هفتادم :  Node، MongoDB و PostgreSQL را یاد بگیرید (توسعه سمت سرور)

اکنون که یاد گرفته ایم، چطور توسعه سمت کلاینت کار میکند اجازه دهید، به سمت توسعه سمت سرور برویم. برای اینکه هر برنامه یا وب سایتی که طراحی می کنید واقعی  باشد شما باید قسمتی را نیز در سمت سرور توسعه دهید. در این روز های مدرن، backend خود یک API بوده که با frontend ارتباط برقرار می‌کند.

اما چرا واقعاً به توسعه سمت سرور نیازمندیم؟ خب اجازه دهید بگویم که کاربران در هنگام تعامل با برنامه ما می‌توانند user هایی را ایجاد کنند. ما باید اطلاعات کاربران ایجاد شده را در جایی برای استفاده های آینده نگه داریم. بنابراین  ذخیره سازی اطلاعات کاربران باید از پایگاه داده و کد نویسی در سمت سرور استفاده کنیم.

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

در زیر تصویری بزرگتر از نحوه ارتباط و اتصال فناوری های مختلف نشان داده شده است، البته از شما انتظار نمی رود که همه آن ها را بدانید اما به فرایند درک کلی شما کمک خواهد کرد :
graph2

روزهای صد و هفتاد و یکم تا صد و هفتاد و نهم : DevOps و Git را یاد بگیرید (Docker، Heroku و AWS)

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

به سادگی می توانید یاد بگیرید که چگونه از گیت برای میزبانی پروژه‌های خود در صفحات گیت‌هاب استفاده کنید، هیچ هزینه ای برای شما در این زمینه وجود نخواهد داشت. صفحات گیت هاب رایگان هستند.

تنها نکته منفی آنها این است که فقط می توانید کدهای سمت کلاینت را میزبانی کنید، اگر می خواهید API های خود را میزبانی کنید، لازم است که سرور خود را با Heroku، Docker و AWS راه اندازی کنیم. تقریباً از هر ۱۰ تیم برنامه نویسی ۹ تای آنها از گیت برای به اشتراک گذاشتن کد ها استفاده می کنند.

روز صد و هشتادم : برای پیدا کردن شغل های مرتبط با توسعه وب تلاش کنید

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

نتیجه

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

#توسعه_دهنده_وب
۰ نظر

مقالات پیشنهادی

مشاهده همه مقالات
ثبت دیدگاه

برای ارسال دیدگاه لازم است ابتدا وارد سایت شوید