چگونه یک توسعه دهنده ی فول استک باشید؟ یکی از موضوعات داغ برای توسعه دهندگان می باشد که هیچ وقت تمام نمی شودبنابراین در این مقاله 6 نکته طلایی برای تبدیل شدن به یک توسعه دهنده Full Stack را بررسی خواهیم کرد.
چگونه یک توسعه دهنده ی فول استک باشید؟ یکی از موضوعات داغ برای توسعه دهندگان می باشد که هیچ وقت تمام نمی شود. در linkedin و فیس بوک خیلی از مردم عنوان شغلی خودشان را توسعه دهنده ی فول استک می نویسند. به علاوه به نظر می رسد که موضوع فول استک به یک شغل جدید مطرح شده است. یک مقاله در medium در مورد اینکه طراحان فول استک هم تشویق می شوند و هم تنبیه، صحبت کرده است. بعضی از مردم فکر می کنند که فول استک فقط یک عنوان است و چیزی که باید برروی آن تمرکز کنند توانایی و تکنولوژی واقعی فرد است.
اساسا به نظر من موضوع توسعه دهندگان فول استک یک بحثی می باشد که تمامی افراد ماهر در صنعت IT را در بر می گیرد و بحث در مورد عمق و وسعت مهارت های توسعه است.
چگونه یک توسعه دهنده ی فول استک باشید؟ یکی از موضوعات داغ برای توسعه دهندگان می باشد که هیچ وقت تمام نمی شود. در linkedin و فیس بوک خیلی از مردم عنوان شغلی خودشان را توسعه دهنده ی فول استک می نویسند. به علاوه به نظر می رسد که موضوع فول استک به یک شغل جدید مطرح شده است. یک مقاله در medium در مورد اینکه طراحان فول استک هم تشویق می شوند و هم تنبیه، صحبت کرده است. بعضی از مردم فکر می کنند که فول استک فقط یک عنوان است و چیزی که باید برروی آن تمرکز کنند توانایی و تکنولوژی واقعی فرد است.
اساسا به نظر من موضوع توسعه دهندگان فول استک یک بحثی می باشد که تمامی افراد ماهر در صنعت IT را در بر می گیرد و بحث در مورد عمق و وسعت مهارت های توسعه است.
یک توسعه دهنده ی فول استک، مهندسی می باشد که توانایی مدیریت پایگاه داده ها، سرور ها، مهندسی سیستم و مشتریان را دارد. با توجه به کار چیزی که مشتری به آن نیاز دارد ممکن است یک استک موبایل، استک وب و یا حتی یک استک ساده ی نرم افزاری باشد.
در واقع فول استک به معنی جمع آوری تکنولوژی های مورد نیاز برای انجام یک کار می باشد. استک به معنی جمع آوری زیر ماژول ها می باشد. این زیر ماژول های نرم افزاری یا اجزای آن با کمک هم و بدون نیاز به یک ماژول دیگر به هدف مورد نظر کار درست پیدا می کنند.
2. چرا توسعه دهندگان فول استک موضوع بحث برانگیزی هستند؟
همانطور که در بالا اشاره شد، صحبت در مورد توسعه دهنده فول استک، در واقع بحث بر سر میزان و عمق مهارتهاست. مخصوصا در یک کنفرانس OSCON، یکی از مهندسان فیسبوک اعلام کرد که فقط یک «توسعه دهنده فول استک» استخدام کردند. نتیجه ی این بحث موضوع نقاط قوت و ضعف های یک توسعه دهنده فول استک بود.
مزایا: توسعه دهندگان فول استکی مجبورند مهارتهای جانبی دیگری هم داشته باشند، به همین دلیل می توانند با استفاده از مهارت های گسترده ای که دارند خیلی سریع یک نسخه آزمایشی دیگر برای محصول طراحی کنند. با در اختیار داشتن تعداد مهارت های زیاد، دید وسیعتر و تفکر فعالتری دارند. علاوه براین، نسبت به فناوریها و محصولات حساستر هستند. بنابراین این نوع افراد همیشه می توانند ایدهای در مورد محصول یا طراحی داشته باشند.
از طرف دیگر، آنها میتوانند به همه افراد حاضر در تیم کمک کنند و بسیاری از هزینههای زمانی و فنی ارتباط بین افراد و کمبود اطلاعات را کاهش دهند. برای همین خیلی از آنها به یک کارآفرین یا یک همکار متخصص در شرکتهای تازه تاسیس تبدیل میشوند.
معایب: دقیقاً به دلیل داشتن مهارتهای جانبی بیشتر توسعه دهندگان فول استک نمیتوانند در یک مهارت استاد باشند. خیلی از آنها که ادعای فول استک بودن می کنند، اطلاعات کمی در مورد مهارتهای دیگر دارند. برای مثال این سوال را دارند که چطور میتوان ساختار را تغییر داد تا برای توسعه ماژولار مناسب شود.
3. با این وجود هنوز هم افرادی هستند که می پرسند چگونه توسعه دهنده ی فول استک شوند؟
یک توسعه دهنده فول استک حرفهای باید دانش عملیاتی و تواناییهای لازم در همه جنبه های موجود در روند ساخت نرم افزار را دارا باشد.
۱. زبانهای برنامهنویسی
شما باید در چند زبان برنامهنویسی مانند جاوا، PHP، C#، Python، Ruby، Perl و غیره ماهر باشید. به دلیل اینکه اکثر فعالیتهای اصلی شما باید با این زبانها نوشته شوند. شاید همه را نیاز نداشته باشید. اما باید روی دستور زبان برنامهنویسی تسلط کامل داشته باشید و باید با نحوه ساختاربندی، طراحی، اجرا و آزمایش پروژه بر اساس یک یا چند زبان آشنا باشید. برای مثال، اگر جاوا را انتخاب میکنید، باید به موضوعاتی ازجمله طراحی و توسعه object-oriented، الگوهای طراحی، عناصر توسعه مبتنی بر ee2j و غیره مسلط باشید.
کجا این مهارتها را بیاموزید: Git/Github –حتماً باید نحوه استفاده از Git برای مدیریت و به اشتراک گذاشتن کدهای خود را بدانید.
۲. استفاده از زیرساخت های توسعه و کتابخانههای کمکی
معمولاً زبانهای توسعه محبوب با یک زیرساخت توسعه خوب همراه هستند. همانند JAVA Spring، MyBatis، Hibernate، Python Django، PHP thinkphp, yin و nodeJs express و غیره.
۳. فناوری Front-end
امروزه فناوریهای Front-end در توسعه پروژهها و محصولات بیشتر از قبل با اهمیت شده اند. علاوه بر ویژگی های محصول، تجربه کاربری نیز یکی از معیارهای موفقیت یک محصول به حساب می آید. همه این عوامل به پیادهسازی فناوری front-end بستگی دارد، بنابراین شما باید به بعضی فناوریهای front-end مانند HTML5، CSS3 و جاوا اسکریپت تسلط پیدا کنید و کمی بیشتر در مورد زیرساخت های Front-end یا کتابخانههای کمکی مانند JQuery، LESS، SASS، AngularJS یا REACT مطالعه کنید.
۴. پایگاه داده و حافظه نهان (cache)
هر پروژه یا محصولی برای ذخیره اطلاعات نیاز به یک پایگاه داده دارد. شما بهعنوان یک توسعه دهنده فول استک باید حداقل یک یا دو پایگاه داده را در اختیار داشته باشید و نحوه تعامل با پایگاه داده را بدانید. در حال حاضر محبوبترین پایگاه دادهها MySQL، MongoDB، Redis، Oracle ، SQLServer و غیره هستند. یک پایگاه داده اسناد کاغذی MongoDB می باشد که بهطور گسترده در محصولات اینترنتی استفاده میشود. برای پروژههای بزرگتر من همچنین استفاده از MySQL یا پایگاه داده بازرگانی Oracle را برای یک پایگاه داده back-end پیشنهاد میکنم. البته از پایگاههای داده حافظه مانند Redis هم میتواند برای ذخیرهسازی در حافظه نهان و بهبود عملکرد سیستم استفاده شود.
۵. توانایی طراح پایه
اکثر مقالات یا مباحث مربوط به توسعه دهنده ی فول استک به ندرت نیاز های طراحی را مورد بحث قرار داده اند. اما من فکر میکنم که مهارت طراحی بسیار مهم است. همچنین نیاز است تا با اصول و مهارتهای طراحی نمونه پایه، طراحی UI و طراحی UX آشنا شوید.
۶. قابلیتهای فردی نیز عامل مهمی برای تبدیل شدن به توسعه دهنده ی فول استک می باشد
تفکر جهانی
مهارتهای ارتباطی خوب
خلاقیت
کنجکاوی
مهارتهای مدیریت زمان
نظرات کاربران در رابطه با این دوره