زمان بسیار خوبی برای توسعه دهنده نرم افزار است
زمان بسیار خوبی برای توسعه دهنده نرم افزار است
توسعه دهندگان نرم افزار باید از پتانسیل امسال هیجان زده شوند. معرفی ابزارها، نوآوری ها و چارچوب های مدرن، فرصت های بیشتری را برای کارایی بیشتر و سرگرمی بیشتر به عنوان یک برنامه نویس در سال 2023 فراهم می کند.
Yoav Abrahami، معمار ارشد و رئیس Velo در Wix Code، با TechNewsWorld بحث کرد که چرا چنین چشمانداز خوبی برای سال 2023 میبیند.
او گفت: “من بهترین سال را تا کنون می بینم، اما نمی توانم تضمین کنم که سال های بهتری در پیش نیست.” “من فکر می کنم بسیاری از چیزهای بسیار هیجان انگیز در حال تغییر نحوه ساخت کد در جهان هستند.”
برای این منظور، ابراهیم برای برخی از اتفاقات به طور همزمان اعتبار می گیرد. اولین مورد، روند بلندمدت حرکت به پلتفرم های اصلی است که با قدرت کامل ادامه می یابد. دیگری نوآوری بیشتر است که با ترکیب طراحان به عنوان بخشی از تیم توسعه دهنده اتفاق می افتد. وی به اهمیت پر کردن شکاف بین طراح و توسعهدهنده اشاره کرد.
6 پیش بینی توسعه دهندگان برای سال 2023
آبراهامی با نگاه کردن به چشم توسعهدهنده نرمافزار خود، سال خوبی را برای توسعهدهی میبیند. در اینجا شش پیش بینی او در مورد آنچه که باید انتظار داشت آمده است:
- توسعه دهندگان قادر خواهند بود با پروژه های پیچیده تر در مقیاس بزرگ مقابله کنند.
- همکاری بین توسعه دهندگان و طراحان موثرتر و الهام بخش تر خواهد بود.
- پلتفرمهای ابری و ابزارهای کمکد یکپارچه خواهند شد و طیف وسیعی از محصولات جدید از جمله وبسایتها، برنامههای وب و برنامههای تلفن همراه معرفی خواهند شد.
- روند حرکت به سمت محیط های مدیریت شده تر، ارائه خدمات جدید و مدیریت بهتر ادامه خواهد یافت.
- هوش مصنوعی کد را پاک می کند و توسعه دهندگان را برای کارهای خلاقانه تر آزاد می کند.
- استعدادهای توسعه بیش از هر زمان دیگری غیرمتمرکز خواهند شد، که به تنوع بیشتر و محصولات نهایی گسترده تر ترجمه می شود.
اگر پیش بینی ها قانع کننده باشد چرا و چگونه از شما، توضیحات عمیق آبراهام در مورد دیدگاهش برای جامعه توسعه دهندگان را بخوانید.
DevOps فاصله را کم کرده است
این تاریخچه جامعه توسعه دهندگان با اصطکاک دائمی بین “افراد سیستم” و توسعه دهندگان نرم افزار مشخص شده است. توسعهدهندگان اغلب نرمافزارهایی را ارسال میکنند که طبق انتظارات عمل نمیکنند، و سپس این وظیفه افراد در سیستم است که آنها را کار کنند و باعث اصطکاک بیشتر میشوند.
آبراهامی خاطرنشان کرد: “ما این اصطکاک را با معرفی ایده DevOps حل کردیم. این اصطکاک مسئولیت خرابی های ناشی از تغییرات سیستم را به توسعه دهندگان منتقل کرد تا تبدیل به یک تیم شوند.”
او پیشنهاد کرد که رویکرد دیگری که به ایجاد فرصتهای بهتر برای توسعهدهندگان کمک میکند، داشتن هر دو عنصر در یک محیط کاری است. شرکت او از این روش تیم سازی برای توسعه نرم افزار استفاده می کند.
راه حل Wix: اجازه دهید طراح مسئولیت طراحی را بر عهده بگیرد و یک تیم واحد ایجاد کند که هم طراح و هم توسعه دهنده را شامل می شود. همه کسانی که درگیر هستند ابزارهای یکسانی دریافت می کنند.
“در همان محیط، طراح رابط کاربری را طراحی می کند و توسعه دهندگان برای کار با رابط کاربری کد می نویسند. واقعیت این است که 99.9٪ از تیم ها مدرن ترین ابزارها را انتخاب می کنند، همانطور که با DevOps اتفاق افتاد – و این انقلاب اتفاق خواهد افتاد. برای توسعه دهندگان. این در حال حاضر اتفاق می افتد، و ما به سادگی آن را می بینیم زیرا پروژه ها با سرعتی ارسال می شوند که ما هرگز تصورش را نمی کردیم. دیدن آن بسیار شگفت انگیز است.”
فرو رفتن عمیق در محیط توسعه
گفتگوی من با یواو آبراهامی با این پرسش و پاسخ ها ادامه یافت.
TechNewsWorld: چه چیزی این امکان را برای توسعه دهندگان فراهم می کند تا به پروژه های پیچیده تر در مقیاس بپردازند؟
یواو آبراهامی: هیچکس که به تیم ملحق می شود مخالف همکاری توسعه دهندگان و طراحان نیست. این بدان معنی است که می توانید سریعتر کار کنید و بهره وری بیشتری داشته باشید. اما فراتر از آن، ما همچنان به سمت محیط های مدیریت شده تر حرکت خواهیم کرد. این بدان معنی است که شما با تمام برنامه های خود کارآمدتر خواهید بود.
چه چیزی در جامعه توسعه دهندگان در حال تغییر است؟
ابراهیمی: باید به یاد داشته باشید که نرم افزار مدیریت شده واقعا چیست. همیشه یک تجارت است. شما با آزادی خود در انتخاب معامله می کنید، مانند خدماتی که فقط کار می کند.
سال ها پیش، شما روی سخت افزار خود کار می کردید و سیستم عامل خود را انتخاب می کردید. امروز، شما حتی این کار را نمی کنید. سالها است که سرور میسازید و سعی میکنید بفهمید از چه چارچوبی استفاده کنید. امروز، ممکن است از چندین لیست استفاده کنید، و واقعا برایتان مهم نباشد که در زیر آن چه می گذرد.
با نگاهی به آنچه امروز داریم، آن را یک قدم جلوتر میبریم. شما حتی فریم ورک front-end خود را انتخاب نمی کنید. ما به شما یک راه حل کلید در دست ارائه می دهیم که در آن شناسه، محیط توسعه، پایگاه داده، باطن و فرانت اند شما با هم کار می کنند.
این نوآوری چقدر گسترده است؟ آیا Wix با این روش ها در اقلیت است؟
ابراهیمی: ما تنها کسی نیستیم که این کار را انجام می دهیم. در سراسر صنعت در حال وقوع است. میتوانید راهحلهای بیشتری را با محیطهای توسعه آنلاین بدون نیاز به پیکربندی پلت فرم مشاهده کنید.
برای ارائه ایده ای از آنچه من در مورد آن صحبت می کنم، در نظر بگیرید که چقدر طول می کشد تا یک مرکز تماس راه اندازی کنید که در آن هزاران داوطلب بتوانند وارد شوند، فرآیند تأیید هویت خود را طی کنند و سپس بتوانند با افراد تماس بگیرند. بپرسند آیا در طول کووید به کمک دارو، غذا یا هر چیز دیگری نیاز دارند یا خیر. به طور بالقوه ممکن است ماه ها یا حتی دو سال طول بکشد تا به روشی طبیعی ساخته شود.
ما یکی را در دو هفته ساختیم. در عرض یک ماه، 700 داوطلب از این سیستم استفاده کردند. از Twilio برای تلفن استفاده کنید، یک راه حل آماده رابط کاربری که برای دو برنامه مختلف در دسترس است. اینجاست که حرکت می کنیم تا خیلی سریعتر باشیم.
میتوانم بگویم که اگر امروز ماهها در تلاش برای تولید محصولات هستید، کار اشتباهی انجام میدهید.
استفاده از پلتفرمهای ابری و ابزارهای کمکد/بدون کد چقدر تأثیرگذار است؟
ابراهیمی: ایده کد پایین این است که شما را از نظر آنچه میسازید سریعتر کند. نیازی نیست همه کدها را بنویسید و روی پلتفرم اصلی دریافت کنید. فقط چند، چند خط کد را اینجا و آنجا اضافه کنید – و ما یک راه حل داریم.
اما وقتی میخواهید کاری را انجام دهید، مانند مقایسه 600 مرحله کدنویسی، و میخواهید چیزی را تغییر دهید، زیرنویس میتواند به شکست تبدیل شود. چگونه آن را تست می کنید؟ چگونه این تغییر را تأیید می کنید؟ از کجا میدونی تاثیر داره؟ تغییر بین یک نسخه و نسخه دیگر را چگونه می بینید؟
هوش مصنوعی چگونه در آنچه در حال حاضر در جامعه توسعه اتفاق می افتد نقش دارد؟
ابراهیمی: راستش را بخواهید هیچ کس نمی داند. اما می دانیم که همه چیز را مختل می کند. این واقعیت است.
فرض کنید از بهترین هوش مصنوعی می خواهید که برای شما کد بنویسد و این کد بخشی از برنامه اجرای قطار شماست. وقتی قطار از طریق خطا تصادف می کند چه کسی را مقصر می دانید؟ آیا این تقصیر هوش مصنوعی است؟ آیا تقصیر فروشنده هوش مصنوعی است؟ آیا تقصیر شخصی است که کد را با نقصی که هوش مصنوعی روی آن آموزش دیده است، نوشته است؟
همه این سؤالات به یک مشکل بزرگ خلاصه می شود: این چگونه کار خواهد کرد؟ ما نمی دانیم! اما ما می دانیم که در کدنویسی هوش مصنوعی پتانسیل وجود دارد.
آیا به هوش مصنوعی به عنوان یک ابزار خیریه برای توسعه دهندگان امید دارید؟
ابراهیمی: من پتانسیل عظیمی در هوش مصنوعی می بینم. ما به کیفیت نگاه می کنیم و دو چیز در کیفیت وجود دارد که نمی دانیم چگونه اندازه گیری کنیم. ما نمی دانیم چگونه قابلیت استفاده را اندازه گیری کنیم، و نمی دانیم چگونه سلامت را اندازه گیری کنیم. اکنون، هوش مصنوعی ممکن است بتواند پاسخهایی را در آنجا به ما بدهد، و من ممکن است بتوانم یک هوش مصنوعی ایجاد کنم که آن را به من بدهد.
این همه آدرس بالقوه را کجا می بینید؟
ابراهیمی: به قابلیت استفاده یک API فکر کنید. اگر او بتواند سعی کند کدی بنویسد که مشکل بزرگ بعدی شما را حل کند، این بسیار ساده تر از سنجش است. حالا این فقط یک مثال است. مثال دیگری که می توانید به آن فکر کنید مربوط به هوش مصنوعی است.
چه زمانی باید کسب و کار را بزرگ کنم یا باید کوچک کنم؟ چه زمانی باید failover را انجام دهم؟ چه زمانی باید یک سرویس را متوقف کنم زیرا باعث ایجاد مشکل در سایر خدمات می شود؟ و غیره
شاید همه این موارد را بتوان با هوش مصنوعی خودکار کرد. اتوماسیون ممکن است از ارسال نرم افزار معیوب از طریق تشخیص زودهنگام خطاها جلوگیری کند. بنابراین پتانسیل زیادی وجود دارد. کارهای زیادی وجود دارد که امروزه میتوانیم با هوش مصنوعی انجام دهیم تا روش کار خود را به عنوان توسعهدهنده تغییر دهیم. چیزهایی که ما در مورد هوش مصنوعی اعتماد داریم، مانند ابزارهایی که به شما در کاری که انجام می دهید کمک می کنند.
مثال دیگر جستجوی معنایی است. بیشتر اوقات، شما در یک دسته قرار می گیرید، به خصوص در سازمان های بزرگ. شما کاملاً مطمئن هستید که شخصی در شرکت کاری را که شما به دنبال آن هستید انجام داده است، اما نمی دانید چگونه به دنبال آن بگردید زیرا ساختار دقیقی ندارید.