ارتباطات و کدنویسی بهترین کار و کامپیوتر بهترین رشته دنیاست.من برنامهنویسی اندروید رو با یک تیم بینظیر در پیام رسان هدهد شروع کردم و در کنارش تو Quera برای دولوپرها مارکتینگ هم انجام میدم :)
۷ مرحله برای تبدیل شدن به یک توسعهدهنده حرفهای وب
شاید گمان کنید برای تبدیل شدن به یک توسعهدهنده حرفهای وب، یادگیریHTML ، CSS و Javascript به همراه کتابخانههای مختلف و یا در نهایت یادگیری یک زبان سمت سرور مثل Python یا PHP کافی است. اما ماجرا به این سادگی نیست! هر ساله هزاران نفر، به عنوان توسعهدهنده وب وارد بازار کار میشوند و خاص بودن در بین آنها به مهارتهای بیشتری نیاز خواهد داشت.
در این مقاله میخواهیم ۷ مهارت فنی را معرفی کنیم که توسعهدهندههای کمتجربهتر معمولاً آنها را نادیده میگیرند اما یادگیری آنها میتواند بسیار اثربخش و مهم باشد. برای هر کدام از این مهارتها یک یا چند منبع خوب مطالعاتی نیز معرفی خواهیم کرد.
دانش اولیهای در مورد شبکه داشته باشید
میدانید وقتی در مرورگر خود google.com را مینویسید و به جستجو میپردازید، در پشت پرده چه اتفاقی میافتد؟ دانش اولیه در زمینه شبکه و دانستن پاسخ سوال بالا، تفاوتهای بسیاری را رقم میزند.
چه چیزهایی باید یاد بگیرید؟
- آشنایی با نحوه عملکرد DNS
- نحوه رجیستر و استفاده از دامنهها
- درک TCP/IP
- دیباگ کردن ابتدایی شبکه
- درک ساز-و-کار VPN
این دوره رایگان گوگل، میتواند زمینهی خوبی برای یادگیری مباحث اولیه شبکه برای توسعهدهندهها محسوب شود.
یاد بگیرید HTTP چگونه کار میکند
از آنجایی که HTTP یکی از کلیدیترین پروتکلها در دنیای وب است، یادگیری ساز و کار آن برای شما اهمیتی هدایی خواهد داشت.
چه چیزهایی باید یاد بگیرید؟
- نحوهی تبادل داده در HTTP
- آشنایی با درخواستهای HTTP و نحوهی استفاده از آنها
- شناخت Response Codeهای اصلی و استفادهی درست از آنها
- پروتکل اصطلاحاً Stateless چیست و چرا اهمیت دارد؟
- شناخت و نحوهی استفاده از Headerهای اصلی
- کار با HTTP خارج از محیط مرورگر
- اصطلاح SSL چیست، چرا و چطور باید از آن استفاده کرد؟
منابع آموزشی در این زمینه بسیار زیاد است، به عنوان
https://developer.mozilla.org/en-US/docs/Web/HTTP
https://www.udacity.com/course/http-web-servers–ud303
نحوۀ کار کردن با UNIX Shell را یاد بگیرید
اگر برنامهی شما استفاده اختصاصی از ابزارهای مایکروسافت نباشد، به احتمال زیاد وبسایت و یا اپلیکیشن شما توسط یک سرور لینوکسی میزبانی میشود، بنابراین باید دانش کافی در این زمینه را داشته باشید. معمولاً برنامهنویسهای تازهکار به دلیل آشنا نبودن، از کار با محیط command line اجتناب میکنند. این امری عادی شمرده میشود ولی اگر میخواهید متفاوت باشید، وقت آن رسیده تا رویکردتان را تغییر دهید.
چه چیزهایی باید یاد بگیرید؟
- دسترسی از راه دور با استفاده از SSH
- دستورات ابتدایی shell
- طریقۀ استفاده از grep
- آشنایی با ویرایشگرهای command line مثل Vim
- درک مجوزهای دسترسی در فایلها و نحوۀ تغییر آنها
- یادگیری متغیرهای محیطی (Environment Variables) و نحوۀ استفاده از آنها
- نحوۀ استفاده از bashrc.
- استفاده از package managerهایی مانند apt و yum
- طریقۀ پیدا کردن و خواندن log
- توانایی مدیریت سرویسها
- یادگیری اسکریپتنویسی با Bash
ممکن است یادگیری UNIX Shell وقت زیادی از شما بگیرد ولی ارزشاش را دارد و قدرت زیادی در زمینه توسعه به شما میدهد. از اینجا میتوانید به درسنامهای در این زمینه که توسط Digital Ocean منتشر شده، دسترسی داشته باشید.
نحوه کار با Git را فرا بگیرید
یکی از مهمترین مهارتهای توسعهدهندگان یادگیری یک سامانه مدیریت نسخه همچون Git است. با این حال، بسیاری از توسعهدهندگان تازهکار خیلی به سراغش نمیروند. استفاده از Git در خیلی از موارد میتواند کار ما را راحتتر سازد و مشکلات را تا حدی کاهش دهد. لازمبهذکر است که سامانههای مدیریت نسخه دیگری نیز مانند Mercurial و SVM وجود دارند ولی Git در بین آنها اهمیت بیشتری دارد.
چه چیزهایی باید یاد بگیرید؟
- دستورات ابتدایی مانند add ،init و commit
- توانایی کار با مخازن remote
- توانایی استفاده از push ،pull و fetch
- توانایی کار با branchها (create و merge)
- توانایی حل کردن Conflict
هر چقدر که در کار کردن با Git مهارت بیشتری کسب کنید، همکاری با یک تیم چند نفره برایتان آسانتر میشود. در این زمینه میتوانید این منبع از Atlassian را امتحان کنید و یا اگر آموزش تعاملیتری را ترجیح میدهید،try.github.io را امتحان کنید.
با محیط Developer tools مرورگر آشنا شوید
همانند محیط ویرایشگر کد، این ابزار هم از مهمترین ابزارهای لازم برای توسعهدهندگان میباشد. اگر بتوانید به خوبی از امکانات Developer tools مرورگر خود استفاده کنید در رقابت با سایر توسعهدهندگان یک پله جلوتر خواهید بود.
این ابزار به شما در Debug کردن، درک تأثیرات کدها، شناخت مشکلات Performance و… کمک بزرگی میکند. مرورگر Chrome به شکل خاص، قابلیتهای بیشتری را در اختیار توسعهدهندگان قرار میدهد.
چه چیزهایی باید یاد بگیرید؟
- استفاده از کنسول برای یافتن و دیباگ کردن کدها
- استفاده از ابزار Inspection برای مشاهده و تغییر Markup و CSS در مرورگر
- نحوۀ Debug کردن Javascript
- طریقهی Inspect و Debug کردن درخواستهای HTTP
- تجزیه و تحلیل وبسایت برای شناسایی مشکلات Performance آن
اگر از مرورگر کروم استفاده میکنید، میتوانید این مقاله آموزشی آنها را در زمینه Dev Tools ببینید.
یک زبان برنامهنویسی جدید یاد بگیرید
خیلیها معتقدند که باید یک زبان برنامهنویسی را خوب فرا گرفت و با آن زیاد تمرین کرد. برای تبدیل شدن به یک توسعهدهندهی خوب باید بدانید دقیقاً از چه چیزی در کجا استفاده کنید. فکر خوبی است که یک زبان برنامهنویسی جدید البته در دستهبندی جدید یاد بگیرید. برای مثال اگر مشغول یادگیری زبان Python هستید تا حد خوبی با قالب شیٔگرا آشنا هستید پس چرا به سراغ زبانهای تابعی (Functional) نروید؟! در زیر لیستی از زبانهایی ارائه شده که میتوانند برای یادگیری زبان دوم مناسب باشند.
چه چیزهایی میتوانید یاد بگیرید؟
فراموش نکنید که برای موفقیت به عنوان یک توسعهدهنده، یادگیری یک زبان جدید، به خودی خود اهمیتی ندارد. چیزی که مهم است این است که بتوانید افقهای دید خود را گسترش دهید و بدانید که برای یک کار خاص، دقیقاً چه چیزی بهترین عملکرد را خواهد داشت.
کامنت گذاری روی کدها را فراموش نکنید
کامنتگذاری روی کدها یکی از مهمترین نکاتی است که شما را تبدیل به یک توسعهدهندهی حرفهای میکند، پس کامنت کردن کدها را به درستی یاد بگیرید.
جمعبندی
قطعاً اهمیت دادن به مواردی که گفته شد، میتواند دید شما را نسبت به کدی که مینویسید و یا سایت و اپلیکیشنی که در حال توسعه آن هستید عوض کند، اما مواردی که در بالا توضیح داده شد از ملزومات و واجبات تبدیل شدن به یک برنامهنویس حرفهای است. پس سعی کنید هرچه زودتر در راه پیشرفت خود قدم بردارید…
Learning Web Development? These Skills Will Make You Stand Out @ FullBit
کوئرامگ مجلهای تخصصی برای توسعهدهندگان است که هر هفته با مطلبهایی در زمینه تکنولوژی، رشد فردی و آینده برنامهنویسی بهروزرسانی میشود. برای اطلاع از آخرین مطلبهای ما، میتوانید توئیتر یا کانال تلگرام کوئرا را دنبال کنید.
مطلبی دیگر از این انتشارات
بهترین ویرایشگرهای متن حال حاضر برای برنامهنویسها
مطلبی دیگر از این انتشارات
سه راه شگفت انگیز برای ساده کد زدن
مطلبی دیگر از این انتشارات
آشنایی با متدولوژی اسکرام