برای رسیدن به موفقیت هیچ فرمولی وجود ندارد. وقتی به مشاغل موفق نگاه کنید، میبینید که تمام آنها دارای شباهتها و اقداماتی هستند که سبب رسیدن به این موفقیت شده است. زندگی توسعهدهندگان نیز از این قاعده مستثنی نیست. انتخاب نوع زبان، فریمورک، ابزار و غیره میتواند در پیشرفت شغلی یک توسعهدهنده بسیار تاثیرگذار باشد.
در لیست پایین موضوعاتی را فراهم آوردهام که هر توسعهدهنده Frontend باید برای رسیدن به پیشرفت در زندگی حرفهای خود به آنها تسلط داشته باشد. توسعهدهندگان با استفاده کردن و یا دانستن این موضوعات میتوانند خودشان را از سایر رقبا متمایز کنند.
1. HTML5
HTML5 زبان اصلی برای نشانهگذاری در توسعهی وب بوده و بسیار فراتر از تنها چند <div> است. این زبان طیف وسیعی از تگها را در اختیار دارد و ویژگیهای بسیاری را از طریق تگها برای صفحات فراهم میکند. یک توسعهدهندهی Frontend باید این تگها را به خوبی بشناسد و در زمان مناسب از آنها استفاده کند. استفادهی درست از این تگها میتواند تاثیر مستقیمی در سئو، قابلیت دسترسی و خوانایی برنامه داشته باشد.
2. CSS3
به منظور بازتولید نمونههای اولیهی یک طراحی، نمیتوانید تنها از HTML5 استفاده کنید. ما با دانستن CSS3 میتوانیم برنامههای واکنشگرایی را خلق کنیم. این زبان برای تفکیک مسئولیتهای مربوط به توسعهی یک طرحبندی خاص اهمیت دارد. هر توسعهدهندهی Frontend باید نحوهی کار با Grid، Flexbox System، Keyframeهای انیمیشنها و کلاسها و پارادایمهای سازماندهی کد مانند BEM را بداند.
3. جاوااسکریپت
جاوااسکریپت یکی از پرکاربردترین زبانهای برنامهنویسی موجود در جهان است و در بخش Frontend برتری دارد. اهمیت تسلط پیدا کردن روی این زبان با قدرتمندتر و کاربردیتر شدن نسخههای ECMScript بیشتر شده است. یادگیری مفاهیم اولیه در این زبان مثل شروط و حلقهها برای توسعهدهندگان Frontend ضروری است. آنها باید در زمینههایی مثل برنامهنویسی فانکشنال، closure، پارامترهای پیش فرض، استفاده از let و const، آرایهها، توابع و سایر موارد نیز آگاهی داشته باشند.
برای بیشتر آشنا شدن با جاوااسکریپت میتوانید به دورههای آموزشی راکت نگاهی بیاندازید.
4. فریمورکها و کتابخانهها
برای تبدیل شدن به یک توسعهدهندهی خوب در زمینه ی frontend باید آگاهی درستی از جاوااسکریپت داشته باشید. اما دانستن جاوااسکریپت تنها بخشی از این مسیر است. توسعهدهندهای که میخواهد در بازار کار کند، باید حداقل یک فریمورک یا کتابخانه را یاد گرفته و به آن تسلط داشته باشد. به عنوان مثال از معروفترین فریمورکهای حال حاضر میتوان به Angular، React و Vue اشاره کرد.
برای اینکه بیشتر با فریمورکهای Angular و React آشنا شوید، بهتر است به سراغ دورههای آموزشی راکت بروید.
5. نسخهدهی (Versioning)
یک توسعهدهندهی خوب باید نحوهی استفاده از ابزارهای نسخهدهی را بلد باشد و مفاهیم مربوط به نسخهدهی را بداند. امروزه Git یکی از بهترین و معروفترین نرمافزارها برای انجام این کار است.
6. تجربهی کاربری – رابط کاربری
گاهی اوقات شما محصولی را میسازید که عملکرد خارقالعاده و بدون اشکالی را از خودش به نمایش میگذارد. با این حال اگر تجربهی کاربری در آن خوب نباشد، محصول شما محکوم به شکست خواهد بود. یک توسعهدهندهی Frontend باید نحوهی ساخت برنامههای روان را بداند. او با خلق کردن برنامههایی که دارای رابط کاربرپسند است، به تجربیات کاربران خود احترام میگذارد.
7. اشکالزدایی
شما با آگاهی داشتن از محیط توسعه میتوانید کارهای خود را خیلی زودتر انجام دهید. این موضوع هنگام رفع اشکالات یا ساخت یک قابلیت جدید در برنامهها به شما کمک بسیاری خواهد کرد. یک توسعهدهندهی خوب باید از قابلیتهای اشکالزدایی موجود در مرورگر خود مطلع باشد.
مثلاً گوگل کروم دارای DevTools است. یک توسعهدهنده به کمک این قابلیت میتواند عناصر و تگهای موجود در برنامه، زمان رندر گرفتن، اطلاعات ذخیره شده، اعمال و تایید تغییرات CSS و موارد دیگر را بررسی کند.
8. قابلیت دسترسی
برنامهها میتوانند مشکلات زیادی را برای کاربران حل کنند. با این حال باید دارای قابلیتهایی باشند تا تمام کاربران اعم از افراد سالم و معلول بتوانند به طور کامل از پتانسیلهای برنامه استفاده کنند. توسعهدهندهی Frontend باید اطلاعات خوبی در این زمینه داشته باشد. او باید با کمک مهارتهای فنی خود این مفاهیم مهم را در عملکردهای برنامه جای دهد.
9. بهینهسازی موتورهای جستجو
توسعه دادن یک وبسایت خارقالعاده تا زمانی که قابلیت پیدا شدن توسط موتورهای جستجوگر را نداشته باشد بیفایده است، توسعهدهندگان Frontend باید به خوبی با بهینهسازی موتورهای جستجو آشنا باشند. کسب دانش در زمینه SEO یک امر ضروری برای تمام توسعهدهندگان است. با به کار بردن چنین اطلاعاتی در روند ساخت برنامه باعث میشوید تا آن محصول راحتتر دیده شده و رشد تصاعدی داشته باشد.
10. واکنشپذیری و Cross Browser
شما میتوانید با استفاده از چندین دستگاه مختلف مثل کامپیوتر، تبلت یا گوشی به برنامههای وب دسترسی داشته باشید. برنامهای که میسازید باید برای هر صفحه نمایشی واکنشگرا باشد. با استفاده از مرورگرهای مختلف نیز میتوانید به یک برنامهی وب مشابه دسترسی پیدا کنید. شما در طول فرآیند توسعه باید برنامهی وب خود را روی مرورگرهای مختلف آزمایش کنید.
توسعهدهندهی Frontend باید این مفاهیم مهم را به ذهن سپرده و از آنها در کارهای روزمره خود استفاده کند. تمام کاربران میخواهند تجربههای یکسانی را در دستگاههای مختلف تجربه کنند و هیچکس دوست ندارد با عوض کردن دستگاه خود به تجربهی کاربری او لطمهای وارد شود.
11. آزمایشات
توسعهدهندگانی که در مراحل توسعهی خود از آزمایش استفاده کردهاند، بسیار از این بابت راضی هستند. شما با کمک آزمایشها میتوانید در زمان خود صرفهجویی کنید. ابتدا باید یک بخش خاص از برنامه را اصلاح کرده و بفهمید که چه چیزی اشتباه انجام شده است. بفهمید که چه چیزی باعث شده تا بخشی از برنامه از کار بیفتد. سپس با اصلاح کردن تنها همان بخش میتوانید مشکلات خود را خیلی زودتر رفع کنید. شما با استفاده از Enzyme، Jest، Chai و غیره میتوانید این کار را انجام دهید.
انجام دادن این کار برای توسعهدهندگان Frontend ضروری است. گاهی اوقات شرکتها تنها افرادی را استخدام میکنند که نحوهی کار با ابزارهای آزمایش را بلد هستند.
12. خوانایی کد
کدنویسی یک هنر محسوب میشود و چیزی فراتر از مسائل مربوط به کامپیوتر است. به نظر من چندین جنبهی انسانی در این فرآیند دخیل است و اگر ما آنها را نادیده بگیریم، مشکلات زیادی به وجود خواهد آمد. در دست داشتن یک کدبِیس ناخوانا برایتان گران تمام خواهد شد.
13. ریفاکتور کردن
من بارها از دیگران شنیدهام که نباید به کدهایی که درست کار میکنند، دست زد. اما به نظرم کورکورانه دنبال کردن این گفته اصلاً کار درستی نیست. شما میتوانید تمام کدها را بهبود بخشیده و آنها را ریفاکتور کنید. اگر این اتفاق ممکن نبود، شرکتهایی مثل گوگل و فیسبوک سالانه هزاران دلار از سرمایهی خود را خرج ریفاکتور کردن و تغییر دادن کدبِیس نمیکردند. آنها مطمئن هستند که دوباره میتوانند کدهای خودشان را بهتر کنند. یک توسعهدهندهی خوب باید از زمان درست برای ریفاکتور کردن باخبر باشد.
14. مهارتهای نرم خود را تقویت کنید
صرفه نظر از کاری که انجام میدهید، بهبود بخشیدن مهارتهای نرم باید جزو بایدهای زندگیتان باشد. از جمله مهارتهای نرم میتوان به ارتباطات، انگیزه، رهبری، کار گروهی، هوش هیجانی، مذاکره و غیره اشاره کرد. میتوانید به تنهایی این موارد را یاد گرفته و در آنها مهارت کسب کنید. توسعهدهندگانی که نتوانند به درستی با همکاران یا مدیران خود ارتباط برقرار کنند، در آینده با مشکلات جدی مواجه خواهند شد.
15. جوامع توسعه و منبع باز
شما به عنوان یک توسعهدهنده باید در هر صورتی به جوامع توسعه نزدیک باشید. در این جوامع همیشه افرادی هستند که در مورد بهترین استانداردها، شیوهها، تکنولوژیها و قابلیتهای جدید در محیط توسعهی یک زبان یا فریمورک صحبت میکنند. افراد زیادی اطلاعات خودشان را در این جوامع به اشتراک میگذارند. شما علاوه بر یاد گرفتن چیزهای جدید، میتوانید سوالات خود را نیز در این جوامع مطرح کنید. همچنین میتوانید با سایر توسعهدهندگان ارتباط برقرار کرده و با آنها دوست شوید.
یک توسعهدهندهی خوب Frontend باید از محدودهی خودش خارج شده و به این جوامع نزدیک بماند. این کار راه را برای کسب دانش و شیوههای جدیدتر باز خواهد کرد.
16. روشهای چابک را یاد گرفته و از آنها استفاده کنید
شرکتهایی که در روند توسعهی خود از پارادایمهای چابک استفاده نمیکنند، اغلب محصولاتی را خلق خواهند کرد که مورد استفاده کاربران قرار نمیگیرد. این محصولات با خواستههای کاربران هماهنگی ندارد و دارای خطاهای متعددی نیز خواهد بود. برای توسعهدهندگان درک بهترین شیوههای ارائه داده شده توسط XP (eXtreme programing) به تیم توسعه اهمیت دارد.
17. از آموختههای خود بنویسید
موفقیتهایتان را با دیگران به اشتراک بگذارید اما اشتباهات خود را فراموش نکنید. با این کار دیگران میتوانند از روشهایتان برای رسیدن به موفقیت الهام بگیرند و در مورد آنها فکر کنند. این موضوع باعث میشود تا آنها به اطلاعات مفیدی دست پیدا کنند؛ اطلاعاتی که در پیمودن این مسیر به آنها کمک خواهد کرد. این اطلاعات را با همسالان و جامعهی خود به اشتراک بگذارید.
یک توسعهدهندهی خوب همیشه از ترندها و تغییرات محیط اطراف خود آگاه است، بنابراین برای بروز ماندن به مطالعهی اینگونه محتواها نیاز دارد.
18. تعهدی دائمی برای یادگیری
این مورد هم برای بخش Frontend و هم برای بخش Backend صحت دارد. IT یکی از شاخههای دانش بشری است که بیشترین پیشرفت را طی 50 سال گذشته داشته است. بنابراین چیزهایی که امروز یاد گرفتهاید، تا آخر عمر ماندگار نیست. آنها بالاخره جای خود را به تکنولوژیها و ابزارهای جدیدتر خواهند داد، پس این واقعیت را بپذیرید. یک توسعهدهندهی خوب باید در طول حرفهی خود چیزهای زیادی را یاد بگیرد و تکنولوژیهای قدیمی را پشت سر بگذارد.
همانطور که در ابتدای این مقاله هم ذکر شد، برای رسیدن به موفقیت هیچ فرمولی وجود ندارد. خیلی از برنامهنویسان موفق به این نکات تسلط ندارند، اما با این حال در حرفهی خود استثنایی هستند.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید