تخصصی شبیه به آچار فرانسه در دنیای وب/ نرم افزار
برنامهنویسان فولاستک خیلی نایاب هستند و به ندرت فردی پیدا میشود که به معنای واقعی کلمه فولاستک باشد. فولاستک تعریف خاص خود را دارد و هر فردی نمیتواند فولاستک باشد. دقت کنید در دنیای فناوریاطلاعات این اصطلاح برای هر تخصصی صدق میکند. در دنیای برنامهنویسی وب، فولاستک فردی است که سطح بسیار بالایی از مهارتها در ارتباط با برنامهنویسی بکاند (زیرساخت) و فرانتاند (روساخت) را دارد. به عبارت دقیقتر، میداند که چگونه سایتی را باید طراحی کند، بهترین الگوهای برنامهنویسی برای طراحی سایت چیست، مناسبترین بانکاطلاعاتی برای اتصال به وبسایت چیست و از چه منطقی برای طراحی سایت باید استفاده کرد. همانگونه که مشاهده میکنید، فولاستک فردی است که خود مشکلات را شناسایی کرده و قادر است برای آنها راهحلی ارائه کند. البته متخصصان فولاستک به ندرت دست به کدنویسی مستقیم میزنند، زیرا مهارتهای آنها فراتر از انجام کدنویسی است. به همین دلیل است که این افراد دستمزدهای بالایی دریافت کرده و بیشتر برای مدیریت تیمهای طراحی بهکار گرفته میشوند. همانگونه که اشاره شد در مشاغل مختلف این اصطلاح کاربرد دارد، بهطور مثال توسعهدهنده فولاستک جاوااسکریپت، پیاچپی، برنامهنویسی فولاستک پایتون، توسعهدهنده فولاستک داتنت و.... هر یک بیانگر سطح بسیار بالایی از مهارتها هستند. زمانی که از اصطلاح فوق برای توصیف خودتان استفاده میکنید، سطح انتظارات کارفرما را به شدت افزایش میدهید، زیرا انتظار دارند در ارتباط با تخصص خود هیچ نقطه مجهولی وجود نداشته باشد.
چگونه توسعهدهنده فولاستک وب شویم؟
ویروس کرونا باعث شده تا بسیاری از افراد و مشاغل مجبور به دورکاری شوند و به همین دلیل انتظار میرود بازار کار فریلسنرها یا همان آزادکارها بهبود پیدا کند. به همین دلیل اکنون زمان مناسبی است که بر مبنای یک برنامهریزی دقیق به فکر تبدیل شدن به یک توسعهدهنده فولاستک وب باشید، زیرا شرکتها و استارتآپها به وبسایت نیاز دارند و برخی از آنها تمایلی ندارند از قالبهای آماده و سامانههای مدیریت محتوا شبیه به وردپرس، دروپال و..... استفاده کنند و ترجیح میدهند سایتی مبتنی بر فناوری داتنت یا سایتی طراحی شده با پیاچپی را در اختیار داشته باشند. برای تبدیل شدن به یک توسعهدهنده فولاستک باید چند سال زمان صرف کنید، اما با توجه به شرایط فعلی و وقت آزادی که افراد دارند این امکان وجود دارد تا این بازه آموزشی را کوتاهتر کرد و فناوریها و ابزارها را به سرعت یاد گرفت. نکته مهم دیگری که باید به آن دقت کنید این است که تسلط بر مهارتهای فرانتاند و بکاند شما را یک توسعهدهنده فولاستک نمیکند، زیرا یک توسعهدهنده فولاستک به ذهن تحلیلگری نیاز دارد تا بتواند پروژههای مختلف را به سرانجام رسانده و به بهترین شکل افراد یک تیم را مدیریت کند.
پیشنیاز تبدیل شدن به یک توسعهدهنده فولاستک، تسلط بر ابزارها و فناوریهایی است که متخصصان فرانتاند و بکاند با آن آشنایی دارند در نتیجه ضمن آشنایی با مهارتهای این دو متخصصان باید با فناوریها و ابزارهای دیگر نیز آشنا باشید. شرکتها انتظار دارند یک توسعهدهنده فولاستک دستکم بر ابزارهای زیر تسلط داشته باشد.
تسلط بر HTML و CSS و جاوااسکریپت اجتنابناپذیر است. همچنین باید به فکر یادگیری CSS Box Model و مباحث مربوط به CSS همچون پیشپردازندههای CSS باشید. تسلط بر Bootstrap کمک زیادی به شما میکند.
همانگونه که اشاره شد، یادگیری جاوااسکریپت ضروری است. پس از یادگیری جاوااسکریپت باید با مفاهیم DOM و JSON آشنا شده و ویژگیهای مهم این زبان همچون رویدادها، delegation و.... بررسی کرده، با چارچوبهای روز دنیای جاوااسکریپت آشنا شده و بدانید چارچوبهای بزرگ چه ویژگیهایی دارند. در ارتباط با فرانتاند باید با چارچوبهای AngularJs و EmberJS و در ارتباط با بکاند با چارچوبهای Ruby on Rails، Django و CakePHP آشنا باشید. در زیرمجموعه جاوااسکریپت به شکل عمیقتر باید با تایپاسکریپت، ES6، فرآیندهای آزمایش (Jest، Mocha، Jasmine، Enzyme)، اجراکننده وظایف (اسکریپتهای npm، gulp و Grunt)، مدیر بستهها (Yam و npm)، چارچوبهای Angular(RxJS،TypeScript)،React(Flux، Redux و Mobx)،Vue.js، Preact، Ember JS، باندرهای webpack، rollup، Parcel، RequireJS/AMD، Browseify، آشنا باشید.
یادگیری زبان برنامهنویسی ضروری است. پیشنهاد برخی از کارشناسان در این زمینه پایتون، پیاچپی و ASP.Net است. بهتر است به سراغ زبان برنامهنویسی پایتون و مدیر بسته (Pip)، ابزارهای آزمایش (unittest/pyUnit، py.test،)، doctest، nose، tox، چهارچوبهای همگام (Django، Pyramid، Flask)، غیرهمگام (aiohttp، gevent، Tornado، Sanic) بروید.
تسلط بر مباحث بانکهای اطلاعاتی و ذخیرهسازی مهم است. چگونه باید دادهها را به شکل درستی ذخیرهسازی کرد؟ هر پروژهای بانکاطلاعات خاص خود را میطلبد و اینگونه نیست که برای تمامی پروژهها از MySQL، SQL Server، MongoDB و.... استفاده کنید. برای شروع کار به سراغ بانکهای اطلاعاتی غیررابطهای بروید و منطقی که این بانکها بر مبنای کار میکنند را به خوبی یاد بگیرید. پس از کسب اطلاع در ارتباط با بانکهای اطلاعاتی به بررسی این موضوع بپردازید که چگونه یک بانکاطلاعاتی و زبان برنامهنویسی بکاندی که انتخاب کردهاید باید به یکدیگر متصل شوند. در ادامه بعد به سراغ راهکارهای ذخیرهسازی تحت وب رفته و سعی کنید اطلاعاتی در ارتباط با ویژگی دادههای رابطهای به دست آورید.
آشنایی با پروتکل HTTPS مهم است. این پروتکلها به کلاینتها و سرورها اجازه میدهند ارتباط پایداری با یکدیگر داشته باشند. بهطور مثال شما درخواستی را با کدهای جاوااسکریپت ایجاد میکنید که در قالب کدهای بکاند ارسال خواهند شد. اینکار به لطف پروتکل HTTP یا HTTPS انجام میشود. برای شروع کار اطلاعاتی در ارتباط با REST به دست آورده و به سراغ مبحث طراحی RESTful API بروید، در ادامه نحوه کار کردن با Chrome DevTools را یاد بگیرید و سعی کنید اطلاعات خوبی در ارتباط با گواهینامه SSL به دست آورید.
آشنایی با معماری برنامههای کاربردی تحت وب مهم است. آشنایی با معماری برنامههای کاربردی از آن جهت مهم است که به شما در تکمیل پروژههای پیچیده کمک فراوانی میکند. باید بدانید چگونه کدها را ساختیافته کرده، دادهها را به چه شکلی وارد کنید، فایلهای بزرگ را کجا ذخیرهسازی کنید، فایلهای خاص را چگونه تفکیک کنید، دادهها را بر مبنای چه ساختاری در بانک اطلاعاتی وارد کرده و با سایر جنبههای فنی مدیریت پروژهها آشنا باشید. به سراغ یادگیری MVC رفته و اطلاعاتی در ارتباط با گیتهاب و نحوه مدیریت پروژهها روی گیتهاب به دست آورید.
مجبور هستید از یک ابزار کنترل نسخه پروژه همچون Git استفاده کنید. اگر بدانید این ابزار چگونه کار میکند، در کار خود موفق خواهید بود و به راحتی میتوانید با سایر طراحان روی یک پروژه کار کنید.
آگاهی در ارتباط با الگوریتمها و ساختارهای دادهای کمک زیادی میکند.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟