شباهت شیرموز و AI Software Engineer اگر یادتون باشه دیدیم که دیوار رول جدیدی به نام AI Software Engineer تعریف کرد و احتمالا از این به بعد بیشتر شبیه این role رو خواهیم دید. در همین راستا دیدم که موری که زمینه جستجوی هوشمند خرید لباس هست موقعیت شغلی جدیدی رو با همین عنوان نیازمندی باز کرده (داخل پرانتر یک تبلیغ ریزی برای موری بکنم آدمهای خوش فکری پشتش هستند، مثل
مهدی شکری، شکری بازیکردن تو این زمین بازی رو بسیار خوب بلده، یک روز یک اسپین آف در مورد خودش دوست دارم بنویسم، بسیار مدیر خوبیه،)
بله میگفتم. اما اصلا ماهیت و ذات و واقعیت پشت این عنوان AI Software Engineer چیه؟ از دو زاویه میشه این نقش رو تحلیل کرد:
یک- از این پس سرویسهای هوش مصنوعی و LLMای نقش پایهای برای ساختن محصولات و فیچرها دارند. بنابراین اگر کسی میخواد ارزش افزوده داشته باشه لازمه که حتما با توانایی و نحوه ساخت محصول با مدلهای هوش مصنوعی و LLMها آشنا باشه. به زبان دیگه، ارزش افزودهای که از این به بعد خلق میشه، چه بخواد در سطح فیچر باشه چه در سطح محصول، همگی بر بلوکهای پایهای که خودشون هوش مصنوعی هستند، ساخته میشه.
دو- یک جمله جالبی که در بلاگ توصیف نقش AI Software Engineer دیوار نوشته شده که بسیار جالب نظره به چشم بنده:
AI will democratize access to skill, similar to how the internet democratized access to information
این جمله میخواد بگه که همونطور که اینترنت کاری کرد که بخش زیادی از کار جمع آوری و داشتن اینفورمیشن به یک کار بدیهی تبدیل شد، هوش مصنوعی هم کاری خواهد کرد که بخش زیادی از Skill به یک کار بدییه تبدیل بشن. مثال بخوام بزنم الان برنامه نویسی در زبانها و فریمورکهای مختلف نسبت به چند سال قبل به کار سادهتری تبدیل شده. در چنین شرایطی آدمهایی پیدا خواهند شد که بر روی مهارتهایی که قبلا هر کدوم یک تخصص جدا بودند، به واسطه استفاده از هوش مصنوعی ماهر میشن. برای مثال عینی مثلا در تیممون
سعید مهدیان رو داریم. سعید در اصل یک data engineer بوده ولی الان هم تسکهای backend میزنه هم front میزنه هم حتی کارهای هوشی رو انجام میده. سعید الان شبیه یک تیم یک نفره است. آینده تیمها همین شکلی خواهد بود. دیگر گذشت زمانی که یک تیم نیروی بکاند داشت نیروی فرانت داشت نیروی هوش داشت و ... به واسطه همین بدیهیشدن اسکیلها به دست AI، در آینده نه چندان دور تیمهایی با سایزهای بسیار کوچکتر خواهیم داشت. آدمهایی که دیگه انجام skill ازشون یک انتظار بدیهیه و چیزی که بیشتر ازشون انتظار میره جلو بردن استوری محصول و خلاقیت برای پیشنهاد نیازمندی و طراحی راه حل هست.
دو نگاه بالا رو جمعبندی اگر بخوام بکنم اینه که AI از دو جهت جدا، یکی تغییر در فرآیند توسعه محصول و دیگری هم امکان پیشبرد ایدههای جدید آینده دولوپرهای نرمافزار رو تغییر میده. این دو نگاه کاملا از هم منفک هستند و نباید به اشتباه یکیشون بگیریم.
سیدمصطفی مشکاتی در همین باره یک نقد جالب در لینکدین بر عنوان AI Software Engineer منتشر کرده. مشکاتی میگه که این عنوان AI Software Engineer در ذهن این تبادر رو به وجود میاره که AI و Software دو چیز جدا از هم هستند، در حالی که اصلا این شکلی نیست، بلکه در آینده نزدیک آن چنان این دو در هم آمیخته میشن که جدا کردنشون از هم ناممکن میشه. سیدمصطفی میگه که:
حسم اینه اکثرِ Software Engineerها و دیتاساینتیستها فعلی ( و بقیه آدمهای سازمان )، در آیندهی نزدیک باید این مهارتهای AI Engineer هارو داشته باشن، و دیگه نباید بهش بگیم AI Engineer. جدا کردنش و وجود همزمان جفتشون در یک سازمان هم به نظرم خطرناکه! اینجوری انگار باز داریم یک مرزی بین آدمها و مهارتهاشون میکشیم. این تجربهی ناموفق جدا کردن رو، توی Dev و Ops هم گفت. وقتی کلود نیتیوها و کوبرنتیز و بقیه چیزا اومدن، همه دیگه از یک Software Engineer انتظار دانش و مهارت کار کردن با k8s رو داشتن و شغل جدید Cloud Software Engineer رو تعریف نمیکردن. اتفاقا جاهایی که این دوتا پوزیشن رو همزمان و جدا تعریف میکردن، ضربه میخوردن.
مصطفی میگه که AI Software Engineer همون قدر به اشتباه اندازه میتونه باشه که H2O و شیرموز رو فرض کنیم یک مخلوط جدا از عناصرشون هستند. امروز و بهویژه در آینده خیلی نزدیک، مهارتهای مهندس نرمافزار و مهارتهای هوش مصنوعی قرار نیست جداگانه باشند؛ دقیقاً مانند شیرموز که دیگر نه فقط شیر است و نه فقط موز، نقشها نیز به شکلی یکپارچه درمیآیند. مهندس نرمافزاری که با هوش مصنوعی کار میکند، نه صرفاً یک Software Engineer است و نه یک AI Engineer؛ بلکه یک ترکیب است که ویژگیهای خاص خودش را دارد و باید هر دو بُعد را با هم بلد باشد.