در دورهای از کارآفرینی، بنیانگذاران بهشدت به پیشرفت فناوری در توسعه محصولات، پلتفرمها و تجربه بهدستآمده از آنها متکی بودند و از این پیشرفتها در جهت پاسخگویی به نیازهای روبهرشد مصرفکننده جهانی استفاده میکردند. در حالی که محتوا و تولید محتوا برای ساخت برند یا راهاندازی کسبوکار، اصلی ضروری به شمار میرود، اما عامل مهمتری نیز وجود دارد؛ شرکتها باید این ظرفیت را داشته باشند تا در سریعترین زمان ممکن خود را با تغییراتی که در بازار رخ میدهد، هماهنگ کنند. اما چگونه میتوانیم در کسبوکار خود موفق باشیم، آن را گسترش دهیم و در میان چرخشهای ناگهانی و اجتنابناپذیر بازار غافلگیر نشویم؟ پاسخ در ابزارها و راهحلهای نرمافزارمحوری قرار دارد که هر چیزی را بر حسب تقاضا ایجاد کرده، ویرایش میکنند و تغییر میدهند.
شرکتهایی که برای مدیریت مسئولیتها به نیروی کار انسانی وابسته هستند، اگر قصد دارند به بالاترین سطح از بهرهوری دست یابند، باید استعدادهای درست را پیدا کنند و به آنها آموزشهایلازم را ارائه دهند. این استعدادها با غرایز ذاتی و کار بیوقفه خود نه تنها به شما اطمینان میدهند کارها به شکلی مؤثر و دقیق انجام خواهند شد، بلکه در بیشتر مواقع میتوانند خطای انسانی را کشف کرده و آنها را برطرف سازند. برای طراحان نرمافزار، این نقش با دقت و حساسیت بسیار زیادی همراه است. به دلیل اینکه این افراد باید به شکلی دقیق و نسبتاً افراطی به جزئیات توجه کنند. توجه نکردن به این مهم، پیامدهای خطرناک، وقتگیر و البته هزینهبری را به لحاظ آزمایش، پیشبینی و اتوماسیون به همراه خواهد داشت که البته چنین مشکلاتی این روزها بهوفور در دنیای نرمافزار مشاهده میشوند. شرکتها همواره سعی میکنند هزینههای خود را بهگونهای کاهش دهند که کیفیت محصولات تولیدی خود را فدای کاهش هزینهها نکنند. آنها به خوبی آگاه شدهاند که یک فناوری مرکزی و زیربنایی میتواند راهحل سادهای برای مشکلات پیچیده ارائه کند. این فناوری زیربنایی همان هوش مصنوعی است. حال پرسش اصلی این است که اگر ماشینها به محدوده کدنویسی وارد شوند، چه اتفاقی رخ خواهد داد؟ آیا تقابلی میان انسانها و ماشینها ایجاد خواهد شد؟ شاید شرکت «Dev9» نقطه شروعی برای این پرسش باشد. شرکتی که به عنوان یک پیشرو در این مسیر گام برداشته است.
"دنیای نرمافزار این ظرفیت را دارد تا برای حداقل یک دهه، همچنان اثرگذاری خود را نشان دهد. جالب آنکه ماشینهای خودران به تنهایی میتوانند اثر شایان توجهی بر دنیای اقتصاد بگذارند"
Dev9 شرکت توسعهدهنده نرمافزارهای سفارشی است که به طور خاص بر زبان برنامهنویسی جاوا و زبان اسکریپتنویسی جاوااسکرپیت تمرکز دارد. Dev9 با گروههای توسعهدهنده در شرکتهای مختلف در زمینه طراحی بهترین کلاسها (کتابخانهها) همکاری میکند. این شرکت راهحلهای نرمافزاری را بر مبنای تحویل مداوم/مستمر (Continuous Delivery) ارائه میکند. CD مجموعهای از اصول و روشها است که از اتوماسیون ناب و سنگین استفاده میکند. گروههای مونتاژ مستقر در Dev9 از هوش مصنوعی برای طراحی نرمافزارهای سفارشی، حذف فرایندهای سنگین و کاهش سربارههای بهوجودآمده در دفترچه دستورالعملهای نرمافزارها استفاده میکنند. علاوه بر ارائه مجموعه گستردهای از خدمات تحت وب، Dev9 در زمینه ساخت برنامههای همراه ویژه پلتفرمهای اندروید و iOS نیز به فعالیت اشتغال دارد.
هر گروه متشکل از سه تا هشت نفر است که در حوزههای مختلف از معماری تا توسعه، مدیریت پروژه، کیفیت و توسعه صاحب تخصص هستند. Dev9 به توسعه فناوریهای پایهای میپردازد که در آنها سرعت، قابلیت اطمینان و تکرارپذیری در سریعترین زمان ممکن، باعث پیشرفت نرمافزار میشوند. در کنار این رویکرد به مشتریان خود در زمینه کاهش ریسکها و برطرف کردن باگها در محصولاتشان کمک میکند. پیادهسازی چنین فناوریهایی در زمینه تست خودکار، خودکارسازی مستمر و استقرار خودکار به این شرکت مستقر در سیاتل کمک کرده است تا به بالاترین استانداردها در زمینه بستهبندی سریع و استقرار نرمافزارها در محیطهای آزمایشی دست پیدا کند. اتوماسیونی کردن فرایندهای رایج سنتی نه تنها به این شرکت کمک کرده است تا به کسبوکار خود قدرت ببخشد، بلکه کمک کرده تا تمرکزش را بر رشد و شکوفایی قرار دهد و برای تحقق نیازهای فنی و همکاری با شرکتهای دیگر به شیوه منسجمی عمل کند و این کار را به دور از هرگونه پیچیدگیهای رایجی که در زمینه گردش کار وجود دارد، سازماندهی کند. در همین خصوص سایت فوربس با ویل ایورسون، مدیرعامل شرکت Dev9 گفتوگویی کرده است. در این مصاحبه، نویسنده سایت فوربس درباره اتوماسیون، روباتها، فرایند جایگزینی طراحان، آینده تحویل مستمر و اینکه چگونه گامهای این چنینی در حوزه کسبوکار منجر به پدید آمدن اقتصاد جدیدی میشود، از آقای ایورسون سؤالهایی کرده است. در این مقاله نگاه کوتاهی به این گفتوگو میاندازیم.
امروزه طراح نرمافزار بودن یکی از پرتقاضاترین مشاغل دنیای صنعت به شمار میرود. چه عاملی باعث شده است این حرفه به سمت هوش مصنوعی متمایل شود؟ این تحول چه تأثیر مستقیمی بر اقتصاد خواهد گذاشت؟
کامپیوترها به دلیل اینکه توانایی تغییر دنیا را دارند، مورد علاقه ما هستند. بعد از جنگ جهانی دوم، هدف کلی و البته عمومی محاسبات، در بازپیکربندی تاریخچه و زندگی مردم خلاصه میشد. در آن روزگار، این محاسبات عمدتاً حول محور دلالی آنلاین یا قرار ملاقات بود. این تفکر نزدیک به چند دهه ادامه پیدا کرد. کامپیوترها برای دست یافتن به جزئیات مدنظر، به طیف گستردهای از ملزومات نیاز داشتند. بهطور معمول، طراحان نرمافزار میدانند چگونه باید نیازهای مردم را دریافت کرده و آنها را به شکلی ترجمه کنند که برای کامپیوترها قابل فهم باشد. حتی اگر فرض کنیم دنیای سختافزارهای کامپیوتری ناگهان به وضعیت سکون وارد شود و هیچگونه اتفاقی در آن رخ ندهد، در نقطه مقابل، دنیای نرمافزار این ظرفیت را دارد تا برای حداقل یک دهه، همچنان اثرگذاری خود را نشان دهد. جالب آنکه ماشینهای خودران به تنهایی میتوانند اثر شایان توجهی بر دنیای اقتصاد بگذارند.
ویل ایورسون؛ مدیرعامل شرکت Dev9
بر همین اساس، اشکال جدیدی از تعاملات اقتصادی شبیه به آنچه که منجر به شکلگیری شرکت آبر (Uber) شده است، به وجود آمدهاند. شرکتی که تأثیر شگرف و عمیقی بر بازار و نیروی کار گذاشته است. فناوری واقعیت مجازی از چندی پیش کار خود را آغاز کرده است. حال تصور کنید زمانی که فیسبوک شبکه اجتماعی واقعیت مجازی خود را به مرحله اجرا درآورد، چه اتفاقی رخ خواهد داد؟ اگر تمایل دارید هر نوع مزیت رقابتی را به وجود بیاورید یا حتی سرعت فعلی خود را حفظ کنید، باید به سراغ سرمایهگذاری روی نرمافزار بروید. تنها درصد کمی از افراد میتوانند مجموعه مهارتهای مورد نیاز مردم را به دنیای نرمافزارها وارد کرده و آنها را به شکلی کاربردی به نرمافزار تبدیل کنند. تقاضای زیادی که برای نرمافزارها وجود دارد، به علاوه منابع حداقلی که به آن نیاز دارد، باعث شده است بازار خوبی برای توسعهدهندگان به وجود آید.
اگرچه توسعه نرمافزار مهارتی کاملاً فنی به شمار میرود، به خلاقیت نیازمند است. آیا روباتها این ظرفیت را دارند تا به گونهای برنامهریزی شوند که خلاقیت و ساخت را همانند طراحان نرمافزار توأمان با یکدیگر به مرحله اجرا درآورند؟
متافیزیک بهراستی سریع است. اولین پرسشی که با شنیدن این جمله به ذهن خطور پیدا میکند، این است که منظور از خلاقیت چیست؟ سایتی وجود دارد که من از آن برای تولید ایدههای داستانی و تلفیق این ایدهها با شخصیتهایی که از یک جدول ساده به دست میآیند، استفاده میکنم. اما آیا این کار خلاقیت است؟ اگر داستانهایی را بر اساس آن ایدههای خیالی بنویسم، متقلب هستم؟ فکر میکنم جواب پرسش شما این است که انسانها هنوز هم میتوانند معانی مختلفی برای واژه خلاقیت ارائه کنند. داستان ساده من که بر مبنای این سایت تولید شده است، ممکن است ایدههای تصادفی دیگری را برای داستانهای دیگری به وجود آورد. حتی ممکن است این داستانهای پیچیده بر مبنای تجزیهوتحلیل اخبار یا روانشناسی انسان تولید شوند. ممکن است کسی داستان من را بخواند و برداشت کند که ماهیت آن بههیچوجه داستانی نبوده است. بهطور مشابه، توسعه نرمافزار فقط به معنای بسط دادن نرمافزار بهمنظور تعامل با انسان است. ما ایدههایی داریم؛ چیزهایی را درست میکنیم و همواره با ایدههای جدیدی میآییم. ما نرمافزارهایی را برای شرکای خود مینویسیم که این نرمافزارها را روباتهایی ساختهاند که مسائل رایجی همچون جستوجو یا تشخیص صدا را حل کنند. اگر من الگوریتم جدیدی بنویسم که به گروهی از روباتها یاد دهد بیماریهای ژنتیکی را شناسایی کرده و روش درمانی برای آنها ارائه کند، این سؤال پیش میآید که آیا من فرد خلاقی در زمینه طراحی این سیستم بودهام؟ آیا روباتها برای پیدا کردن درمان خلاق بودهاند؟ من دوست دارم این استدلال به نفع انسانها باشد، به دلیل اینکه ایده را در ابتدا انسان مطرح کرده است. او قواعدی را تنظیم کرده و معنای هر چیزی را به روباتها آموخته است. من همواره به ریپلی در سری فیلمهای بیگانگان فکر میکنم. او سوار بر یک روبات لیفت شد و آن را را تبدیل به موجودیتی قدرتمند کرد. انسان بود، اما فراتر از آن عمل کرد. همیشه چیزهای جدید نوعی همجوشی هستند. در نتیجه پاسخ پرسش شما این خواهد بود که این رویکرد فقط به معنای تقابل و رویارویی انسانها در برابر روباتها نیست، بلکه اشاره به دنیای جدیدی دارد که به واسطه تعامل ساخته خواهد شد.
اگر تحویل مستمر در ایالات متحده به استاندارد تبدیل شود؛ این استاندارد چگونه بر آینده کارهایی همچون توسعه نرمافزار و زندگی مردم تأثیر خواهد گذاشت؟
تحویل مستمر، روندی جاری در خط تولید توسعه نرمافزاری است. این تکنیک باعث حذف موارد زائد، افزایش کیفیت و افزایش سرعت تحویل محصول میشود. یک گروه کوچک میتواند نرمافزاری بسیار عالی و با کیفیت مطلوب تولید کند و مخاطرات توسعه نرمافزار را کاهش دهد. اما این تکنیک یک مشکل عمده دارد؛ با یک سازوکار تولید پروژههای نرمافزاری به شیوه سنتی، باید مقدار زیادی پول خرج کرده، تعداد زیادی آزمایشکننده استخدام کنید و امیدوار باشید بعد از ماهها یا سالها به آن چیزی که در نظر دارید، برسید. البته به شرط اینکه محصول شما کار کند. اما باید بدانید این روش به هیچ وجه یک مدل عالی به لحاظ جذب سرمایهگذار نیست. تجربه ما در این سالها نشان داده است که خودکارسازی باعث شده است ریسکها از میان بروند. پروژه تحویل مستمر ما را به سمت کسبوکار ارزشیتر هدایت کرده و کمک کرده است تا سرمایهگذاران بیشتری را جذب کنیم. در نتیجه در یک سطح بالاتر، تحویل مستمر باعث میشود پروژه توسعه جذابتر شود. این به معنای شغلهای بیشتر است.
"روباتها نه تنها توانایی ساخت گوشیهای هوشمند را دارند، بلکه میتوانند این رویکرد را تبدیل به پلتفرم اقتصادی بادوامی کنند"
تنها مسئلهای که در این زمینه وجود دارد، این است که در رویکرد تحویل مستمر فرایند استخدام پیچیده است. به دلیل اینکه مهندسان باید بهخوبی آموزش دیده باشند. به لحاظ تاریخی، همواره تعداد زیادی آزمایشکننده دستی همراه با کارکنان بخش فناوری اطلاعات در جامعه توسعه نرمافزاری به کار گرفته میشوند. این افراد ممکن است کار سادهای همچون کلیک مجموعهای از مراحل در مرورگری در یک سیستمعامل را انجام دهند یا بهطور دستی سرویس پکهایی را روی صدها سرور نصب کنند. ما سیستمهایمان را بهگونهای طراحی کردهایم که آزمایش آنها سادهتر و فرایند نصب به صورت خودکار انجام شود. در نتیجه مشاغلی این چنینی بهطور کامل از دور خارج شدهاند.
با وجود پیشرفتهای بهوجودآمده در دنیای فناوری، هنوز هم شبهاتی وجود دارد که آیا روباتها میتوانند از عهده چنین کارهایی برآیند؟ مردم درباره نقش هوش مصنوعی در جهان مدرن امروزی چگونه باید فکر کنند؟
تحویل مستمر اکنون در اختیار ما قرار دارد. این یک فناوری نظری نیست. طراحان نرمافزار هنوز هم دستورالعملهایی را درون فایلهای متنی ساده وارد میکنند تا این دستورات تبدیل به نرمافزارهای کاربردی شوند. این درست همان کاری است که ما نوشتن آن را به صورت خودکار انجام داده و در کنار آن استقرار نرمافزار را هم به صورت خودکار انجام میدهیم. اگر این رویکردی خستهکننده و تکراری است، پس باید خودکارسازی شود. تحویل مستمر به معنای اعطای قدرت کامل به هوش مصنوعی نیست. چیزی شبیه به سیری، گوگل ناو و کورتانا را در نظر بگیرید. در مقطع فعلی، تنها با کامپیوتر خود صحبت میکنید. اما اگر از آن بخواهید نرمافزاری برای شما بنویسد، این رویکرد بهتر نیست؟ آیا این قابلیت اکنون در اختیار شما هست؟ برای دستیابی به این قابلیت حداقل یک دهه باید صبر کنید.
در مقطع فعلی، در زمان برنامهنویسیهای پیچیده همواره خطای انسانی وجود دارد. زمانی که هوش مصنوعی وارد میدان شود، آیا اعتماد بیشتری به وجود خواهد آمد؟
در نظر داشته باشید تحویل مستمر، درباره خودکارسازی خط تولید توسعه است و تمرکزش بر خطدهی خطای انسانی و کارهای خستهکننده قرار دارد. یک سیستم پیچیده حملونقل را تصور کنید. اگر از تحویل مستمر استفاده کنید و در حال نوشتن حالتهای آزمایشی برای آدرسدهی هر یک از سناریوهای پیشرو باشید، در این حالت هر زمان طراحی کدی را بررسی میکند، یک فرآیند آزمون خودکار به اجرا در میآید. این کار اجازه میدهد تنها در چند دقیقه خطای موجود را کشف کنید. کاری که اگر قصد داشتید آن را به شیوه دستی انجام دهید، به هفتهها یا ماهها زمان نیاز داشتید. در کنار این موضوع، به این نکته نیز توجه کنید که ما اغلب سیستمهایی را ایجاد کرده و به مرحله اجرا در میآوریم که توسط میلیونها نفر استفاده میشوند. در نتیجه هیچ راهکاری وجود ندارد که یک گروه آزمایشکننده قادر باشند یک بارگذاری میلیونی را شبیهسازی کنند. استراتژی «کلیک سختتر، کلیک سریعتر» استراتژی خوبی نیست. در عوض، ما از سامانههایی رایانش ابری برای اجرای نرمافزار بهمنظور بارگذاری حجمی انبوه استفاده میکنیم. درواقع، در حال انتقال پیچیدگیها به سمتی هستیم که بهتر است این پیچیدگیها در آن مکان قرار داشته باشند. ما میتوانیم کیفیت را خودکارسازی کنیم. میتوانیم سؤالاتی همچون «آیا این کار میکند؟» یا «آیا این ایمن است؟» را خودکارسازی کنیم. اما توانایی خودکارسازی سؤالاتی نظیر اینکه «آیا این محصول جذابتر خواهد بود؟» را نداریم.
هوش مصنوعی چگونه به سمت ساخت نرمافزار و فناوریهای دیگری حرکت خواهد کرد که حتی خلاقانهتر و پیشرفتهتر از آن چیزی هستند که امروزه میبینم؟
ما قصد نداریم روباتها را به شکلی افراطی جایگزین طراحان کنیم. همیشه باید تعادل وجود داشته باشد. اما فرض کنید بتوانید یک آیفون را همیشه به شیوه دستی تولید کنید؛ این کار امکانپذیر است، اما این محصول هیچگاه قابل اطمینان نخواهد بود. در مقابل، روباتها نه تنها توانایی ساخت گوشیهای هوشمند را دارند، بلکه میتوانند این رویکرد را تبدیل به پلتفرم اقتصادی بادوامی کنند. بهطور مشابه، مهندسی نرمافزار بر اساس تحویل مستمر باعث میشود توسعه نرمافزار قابل اطمینانتر شود و مخاطره کمتری داشته باشد. این کار کمک میکند گروههای کوچکتر راهحلهای بسیار خلاقانهتری را تولید کنند.
==============================
شاید به این مقالات هم علاقمند باشید:
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟