
سه مورد در مهندسی نرمافزار که تغییر نکرده
در این مقاله، یک مهندس نرم افزار با سابقه از هوش مصنوعی در این حوزه و نکات مهمی که حتی در این دوران، همچنان باید به آنها توجه کرد میگوید. این دیدگاه توسط «الکس بالازس»، مدیر ارشد فناوری شرکت Intuit نوشته شده است.
زمانی که دوازده سال داشتم، والدینم مرا در کلاس برنامهنویسی کودکان در YMCA ثبتنام کردند. این ماجرا مربوط به سال ۱۹۸۳ است (دورانی پیش از اینترنت) که در آن کدهایی از مجلات مختلف از جمله !Compute را در رایانهای با صفحه نمایش سبز روی سیاه تایپ کرده و نتیجه را مشاهده میکردیم. این تجربه تأثیر عمیقی بر مسیر زندگی من داشت.
تحولات مهندسی نرمافزار
بیش از ۳۰ سال است که در حوزه نرمافزار فعالیت دارم و بیشتر آن را در شرکت Intuit گذراندهام. من فعالیت خود را در سال ۱۹۹۹ به عنوان مهندس نرمافزار در این شرکت آغاز کردم و اکنون به عنوان مدیر ارشد فناوری (Chief Technology Officer) آن مشغول به کار هستم. در این مدت، حرفه ما دستخوش تحولات بسیاری (از نحوه راهنمایی و هدایت افراد گرفته تا چگونگی کدنویسی) شده است.
امروزه، فناوری هوش مصنوعی عاملیت محور (agentic AI) قادر است با دریافت دستوراتی در سطح بالا، بررسی کدهای موجود، گردآوری دادههای مرتبط، جستوجوی وب برای شناخت اکوسیستم فعلی و سپس برنامهریزی و اجرای دنبالهای از اقدامات، همان وظایفی را انجام دهد که از یک مهندس تازهکار انتظار میرود. این فناوری تجربهای واقعی از انجام کامل کار به جای کاربر ارائه میدهد. به بیان ساده، میتوان دریافت که چرا برخی احساس میکنند همه چیز برای مهندسان نرمافزار در حال تغییر است.
حتی در این حوزه که با شتاب زیادی در حال دگرگونی است، برخی اصول بنیادین پابرجا باقی ماندهاند. شاید دیگر با زبان BASIC و رایانه Apple 2E دوران کدنویسی نوجوانیام کار نمیکنم، اما مهارتهای پایهای که به من در تجزیه و تحلیل مسائل پیچیده، طرح پرسشهای صحیح و نوشتن راهحلهای پایدار کمک میکنند، همچنان همان قدر اهمیت دارند. نیازی نیست توضیح دهم که این صنعت چقدر تغییر کرده است. در عوض، به سه موردی اشاره میکنم که همچنان ثابت ماندهاند.
۱. «چرایی» به اندازهی «چگونگی» اهمیت دارد
تفکر استراتژیک همواره بخشی از نقش مهندس نرمافزار بوده است، نقشی که فراتر از کدنویسی، به خلق راهحل میپردازد. زمانی که مهندسان در خدمت یک هدف بزرگتر فعالیت میکنند، قادرند راهحلهایی تأثیرگذارتر از اجرای مجموعهای از مشخصات فنی ارائه دهند.
با ظهور کدنویسیِ پشتیبانی شده توسط هوش مصنوعی و در نتیجه، امکان کدنویسی و ساخت سریعتر، اهمیت «چرایی» کار بیشتر از قبل شده است. در واقع ما با ارائه منافع ملموس برای مشتریان، اثرگذاری واقعیتری بر کسبوکارها داریم و برای حل یک مسئله با کد، ابتدا باید آن مسئله را بهدرستی درک کنیم.
در شرایطی که ماشینها بخشهایی از کار را که مربوط به تولید اجزای استاندارد یک راهحل هستند بر عهده میگیرند، بخش دیگر نقش مهندس یعنی معماری شناختی، اهمیتی دو چندان پیدا میکند. در واقع تمایز کلیدی در توانایی استفاده مؤثر از هوش مصنوعی برای تقویت قابلیتهای انسانی نهفته است.
زمانی که پیشتر صرف وظایف تکراری کدنویسی میشد، اکنون میتواند به تصمیمگیریهای راهبردی اختصاص یابد. این فرصت باعث میشود مهندسان تازه کار، زودتر در مسیر تقویت مهارتهای تفکر انتقادی گام بردارند و مهندسان باتجربه، فرصت بیشتری برای بهرهگیری از تخصص خود به منظور ایجاد مزیت رقابتی داشته باشند.
۲. کنجکاوی یک اصل کلیدی است
بهترین مهندسان همواره ذاتاً کنجکاو و با دقت هستند و عطش یادگیری بالایی دارند. این ویژگی در طول دههها تغییر چندانی نکرده است؛ طرز فکر مبتنی بر یادگیری همچنان برای فعالان حوزه فناوری در هر سطحی از اهمیت برخوردار است.
من همیشه به دنبال کشف سازوکار پدیدهها بودهام. از کودکی به یاد دارم که وسایل مختلف را باز میکردم تا ببینم چگونه کار میکنند. زمانی که موفق شدم دوباره آنها را به شکل اولیهشان بازگردانم، مطمئن شدم که میخواهم یک مهندس شوم.
رشد پیوسته فناوری باعث شده است که فعالیتهای روزمره یک مهندس تازهکار در گذر زمان به طور کامل دگرگون شود. در دهه ۱۹۸۰، وظایف برنامهنویسان تازه وارد معمولاً شامل نوشتن برنامههایی ساده به زبان اسمبلی بود. اما در دهه ۹۰ میلادی، زبانهایی مانند ++C باعث شدند این نوع کدنویسی تقریباً منسوخ شود. به همین ترتیب، در اوایل دهه ۲۰۰۰ ما نیاز داشتیم که افراد فایلهای حجیم داده را به صورت دستی پردازش و پاکسازی کنند، اما در دهه ۲۰۱۰ این فرایند با استفاده از اسکریپتنویسی و ابزارهای ETL (استخراج، تبدیل و بارگذاری داده) خودکار شد.
امروزه هوش مصنوعی با شتابی چشمگیر، روند تحولات کاری ما را تسریع کرده است. با این حال، افرادی که با ذهنی کنجکاو و اشتیاقی برای بهینهسازی، سادهسازی و کارآمدتر کردن فرایندها وارد این حوزه میشوند، همچنان موفق خواهند بود، حتی اگر مسیر بهکارگیری این کنجکاوی بهمرور تغییر کند.
۳. مهارتهای رهبری مختص مدیران نیست
لزومی ندارد که هر برنامهنویس توانمند، تمایل داشته باشد به یک مدیر منابع انسانی تبدیل شود. خود من نیز چنین هدفی نداشتم. دوران کودکیام را با درونگرایی گذراندم، اما در مسیر پیشرفتم (در شرکت Intuit)، بهروشنی دریافتم که برخورداری از مهارتهای رهبری مناسب، حتی بدون داشتن مسئولیت رسمی هدایت دیگران، میتواند اثری عمیقتر و گستردهتر به همراه داشته باشد.
بارها شاهد بودهام که توانایی در تصمیمگیری سریع، حل مسئله بهصورت جامع و واگذاری مؤثر وظایف، چگونه میتواند در سطوح مختلف یک سازمان تأثیرگذار باشد.
با ورود هوش مصنوعی به فرایندهای کاری، اهمیت این مهارتها بیش از پیش شده است. توانایی هدایت پروژهها، پیشبینی چالشها و ساماندهی به منابع، اکنون نه تنها برای مدیران بلکه برای تمامی اعضای تیمهای فنی ارزشمند و ضروری است.
این مقاله نخستین بار در «fastcompany» منتشر شده است.