دنیای وب و توسعه اپلیکیشن میتواند بسیار پیچیده و غیر قابل درک باشد. منابع آموزشی و تکنولوژیهای مختلفی که در این حوزه وجود دارند میتوانند شما را سرخورده کرده و از انتخاب یک گزینه درست بازدارند. البته این موضوع را نیز باید خاطر نشان کرد که در تمام حوزههای توسعه، چنین سناریویی برای توسعهدهندگان مبتدی پیش خواهد آمد و کاملا طبیعی است.
در حقیقت صنعت IT مانند یک میدان مین برای مبتدیان است. شما هیچ ایدهای ندارید که دقیقا باید چه کاری با این همه تکنولوژی بکنید، در قدم اول سعی میکنید که مسیرتان را مشخص کنید: فرانت-اند یا بک-اند؟ تفاوتشان چیست؟ بیایید فکر کنیم که حال تفاوتشان را درک کردهاید و به توسعه فرانت-اند علاقهمند شدهاید. حال نوبت موجی دیگر از سردرگمی است، چرا که در دنیای فرانت-اند ابزارها و کتابخانههای بسیار زیادی وجود دارد که انتخاب یک مورد آنها میتواند کار سخت و طاقتفرسایی باشید.
اما بیایید روراست باشیم، همه ما با این مشکلات دست و پنجه نرم کردهایم. من به یاد دارم که در یک بازه زمانی بیش از ۹ زبان برنامهنویسی مختلف و ۴ فریمورک جاوااسکریپتی را امتحان کردم و هر روز بیشتر و بیشتر در بین آنها احساس گُم بودن میکردم.
در این مطلب قصد داریم سراغ اشتباهاتی برویم (تکنیکی و غیرتکنیکی) که هر توسعهدهنده تازهکاری ممکن است مرتکب آنها شود. سعی داریم تا راهکارهایی را نیز برای خارج شدن از این وضعیت به شما ارائه کنیم.
۱. یادگیری موارد اشتباه
در دنیای توسعه وب منابع آموزشی، کتاب، آموزشهای ویدیویی، یوتیوب و… بسیار زیادی وجود دارد. کدام مورد را باید انتخاب کنید؟ خب این موضوع که واقعا ندانید چگونه کارتان را شروع کنید عادی است و مشکلی ندارد.
بگذارید یک راهنمایی بسیار ساده به شما بکنم. اگر قصد شما از یادگیری برنامهنویسی تنها مطالعه برای خودتان است، هر چیزی که یاد بگیرید مشکلی نیست، اما اگر هدفتان آن است که در آینده در یک شرکت استخدام شوید، نیاز است که بازار کار را شناخته و براساس آن جلو بروید. برای شناخت این بازار میتوانید به شرکتهای کاریابی اینترنتی مراجعه کرده و ببینید که شرکتهای مختلف بیشتر چه توسعهدهندگانی را استخدام میکنند. میتوانید از افراد با تجربه در این زمینه نیز سوال بپرسید. شبکه اجتماعی چند نفر از این افراد را پیدا کرده و سعی کنید که با آنها ارتباط برقرار کرده و سوالهایی در رابطه با بازار کار، تجربههایشان، پیشنهاداتشان و… بپرسید.
برای انتخاب منابع نیز همواره سراغ جدیدترینها بروید. دنیای آیتی همیشه در حال تغییر است و این تغییرات به سرعت خود را در آموزشها منعکس خواهند کرد. بنابراین برای یادگیری یک تکنولوژی سراغ کتابی که بیست سال پیش چاپ شده است نروید.
نکته مهم: سعی کنید در یادگیری ثابت قدم باشید. یادگیری سطحی چندین تکنولوژی مختلف نمیتواند به استخدام شما کمکی بکند. بجای این کار سعی کنید در یک تکنولوژی ثابت قدم بوده و در آن به یک متخصص تبدیل شوید. مطمئن باشید که در بازار کار همواره جایی برای متخصصین وجود دارد.
۲. نمیدانید که چقدر میدانید!
بسیاری از توسعهدهندگان تازهکار هیچوقت کدهایشان را به معرض نمایش نمیگذارند، صفحه گیتهاب ندارند و کسی از میزان دانش آنها خبری ندارد. آنها مطالعه بسیار زیادی میکنند، از هر چیزی یک مقدار کم میدانند و خودشان هم هنوز نمیدانند که آیا واقعا به یک برنامهنویس تبدیل شدهاند یا خیر.
چنین اشتباهی نیز برای افرادی که مطالعه کمی دارند اما فکر میکنند که دانششان بسیار گسترده است، اتفاق میافتد. تا به حال با آن دسته از اپلیکیشنهای یادگیری روبرو شدهاید که با انجام هر کاری به شما یک پیغام مانند «تبریک میگویم، حالا تو هم این موضوع رو یاد گرفتی!» میدهند؟ این اپلیکیشنها کاری میکنند که شما فکر کنید واقعا چیزهای زیادی میدانید و موضوعات پیچیدهای را یاد گرفتهاید. اما آیا واقعا چنین است؟ در واقع چیزی که این اپلیکیشنها یادتان میدهد شبیه یک کلمه در تمام ساختار یک زبان است. شاید شما کلمات و واژگانی را خوب بشناسید اما زمانی میتوانید دانشتان را ثابت کنید که یک پاراگراف درست را نوشته باشید.
۳. تمرین نکردن
بهترین راه برای یادگیری کدنویسی خود کدنویسی است. البته مطمئنا شما به یکسری تئوریات نیاز خواهید داشت اما در نهایت باید این مفاهیم را در عمل نیز به کار ببرید. مطالعه کدهای دیگران تنها کاری نیست که به شما برای کدنویسی کمک میکند. شما نیاز دارید که خودتان وارد کار شده و با مسائل و مشکلات مختلف دست و پنجه نرم کنید.
۴. یادگیری فریمورکها
با گذشت سالها، برنامهنویسان مختلف تعداد بسیار زیادی از فریمورکهای مختلف را توسعه دادهاند. برنامهنویسان تازهکار در رابطه با فریمورکها معمولا اشتباه عمل میکنند. آنها صرفا سراغ یادگیری فریمورکها رفته و خود زبان را فراموش میکنند. درست است که تنها با استفاده از این فریمورکها و کپی کردن چند قطعه کد آن میتوان یک برنامه را ساخت، اما درک کردن لایههای مختلف برنامه که فریمورک آنها را انتزاعی کرده برای مبتدیان مهم است. در صورت یادگیری فریمورک و فراموش کردن اهمیت خود زبان، شما هیچوقت نمیتوانید آن لایهها را متوجه شوید.
برنامهنویسان خوب افرادی هستند که قبل از یادگیری فریمورک، به خوبی با خود زبان آشنایی پیدا کرده و پروژههایی را تنها با استفاده از آن زبان پیادهسازی میکنند. این موضوع از آن جا مهم است که سوئیچ کردن بین فریمورکهای مختلف برای این دسته از افراد بسیار ساده خواهد شد چرا که پایههای قدرتمندی دارند.
۵. خواستههای غیر واقعی
دانستن تئوریات بسیار زیاد، نداشتن دانش در رابطه با یک موضوع خاص و ندانستن اکوسیستم دنیای IT از جمله مواردی هستند که باعث بوجود آمدن خواستههای غیر واقعی میشوند. درست است که برنامهنویسان حقوق بسیار خوبی میگیرند اما این بدان معنا نیست که شما در همین ابتدای کار چنین حقوقی را دریافت کنید. برای رسیدن به چنین نقطهای نیاز است که چالشهای بسیار زیادی را طی کنید.
انتظار نداشته باشید که بعد از چند ماه یادگیری بتوانید یک کار مناسب پیدا کنید. شما نیاز دارید که تجربیات زیادی بدست آورده و کارهای مختلفی را انجام دهید.
۶. عجله داشتن
قبل از اینکه بتوانید بدوید، نیاز است که پیادهروی زیادی بکنید. چنین سناریویی برای دنیای توسعه و نرم افزار نیز وجود دارد. ممکن است بعد از چند هفته یادگیری بخواهید که یک پروژه بزرگ را در دست گرفته و آن را به پایان برسانید. مطمئنا جاهطلبی گاهی اوقات میتواند انگیزهبخش باشد اما همواره واقعیت را نیز در نظر بگیرید، شما دانش کافی برای انجام چنین پروژههایی را ندارید. سعی کنید فرایند یادگیری را با صبر جلو برده و همواره ثابت قدم باشید.
در کنار این موارد چند موضوع مهم دیگر وجود دارد که مربوط به تخصص توسعهدهندگان وب میشود. بیایید با این موضوعات آشنا شویم:
۷. تکیه بر جیکوئری
جیکوئری یکی از کتابخانههای جاوااسکریپت است که به شما در مدیریت بهتر DOM، رویدادها، انیمیشنها و… کمک میکند.
بسیاری از توسعهدهندگان در ابتدا بجای آنکه سراغ جاوااسکریپت بروند مستقیما جیکوئری را یاد میگیرند. آنها فکر میکنند که جیکوئری پیادهسازی آسانتر از جاوااسکریپت است اما اینگونه نیست. در واقع جیکوئری جایگزینی برای جاوااسکریپت نیست. تکیه بر جیکوئری میتواند شما را از یادگیری موضوعات پیشرفتهتر دنیای جاوااسکریپت باز دارد.
پیشنهاد میشود که قبل از یادگیری جیکوئری به خوبی با جاوااسکریپت آشنا شده و آن را در یک پروژه عملی استفاده کنید.
اگر قصد یادگیری جاوااسکریپت را دارید میتوانید از دورههای آموزشی جاوااسکریپت راکت استفاده کنید.
۸. استفاده بسیار زیاد از بوتاسترپ
بوتاسترپ یک فریمورک رابط کاربری است که برای ساخت وبسایتها استفاده میشود. بسیاری از توسعهدهندگان در ابتدای کار از بوتاسترپ استفاده میکنند که به خودی خود مناسب است اما نباید بوتاسترپ را به صورت کامل جایگزین CSS و طراحی واکنشگرا کرد.
اگر قصد ساخت اپلیکیشن سادهای را دارید شاید انتخاب بوتاسترپ چندان منطقی نباشد چرا که بوتاسترپ ابزارهای بسیار زیادی داشته و میتواند پروژه شما را سنگین کند. بجای آن میتوانید از CSS استفاده کنید. CSS Flexbox و CSS Grid تو تکنیک محبوب هستند که برای لایهبندی وبسایت شما را از بوتاسترپ بی نیاز میکنند.
۹. ماژولار ننوشتن
تمام کدهایتان در یک فایل HTML قرار ندهید، بجای این کار کدهایتان را در بین فایلهای js و css مختلف تقسیم کرده و در نهایت آنها را در فایل HTML وارد نمایید. این حالت تمرینی بسیار عالی برای ماژولار نویسی خواهد بود. در آینده نیاز است که با این تکنیک بیشتر کار بکنید.
۱۰. استفاده نکردن از HTML مفهومی
یکی از موضوعاتی که بسیاری از اوقات در کدهای توسعهدهندگان تازهکار (و حتی با تجربه) مشاهده میشود استفاده بسیار زیاد از تگهای div و span است. بهتر است که از استفاده زیاد این دو مورد دست برداشته و از تگهای مفهومی HTML استفاده کنید. این کار باعث میشود که دسترسیپذیری وبسایت شما بسیار بالا برود.
۱۱. طراحی غیر-واکنشگرا
هنوز هم افرادی وجود دارند که اهمیت طراحی واکنشگرا را درک نکرده و از همان استایلهای قدیمی وبسایت استفاده میکنند. طراحی به صورت واکنشگرا یکی از مهمترین تواناییهایی است که نیاز است آن را یاد بگیرید.
در پایان
در این مطلب از وبسایت راکت سراغ اشتباهاتی (تکنیکی و غیرتکنیکی) رفتیم که هر توسعهدهنده تازهکاری ممکن است مرتکب آنها شود. ابتدا با مواردی شروع کردیم که در ارتباط با همه توسعهدهندگان وجود داشت و سپس مواردی را بررسی کردیم که مختص به توسعهدهندگان وب (Front-End) بودند.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید