علاوه بر مشهورترین و شناخته شده ترین مهندسان نرم افزار (یعنی بیل گیتس و ایلان ماسک)، تعدادی مهندس نرم افزار خودآموخته و خود توسعه یافته نیز وجود دارند که بر نحوه استفاده و توسعه نرم افزار در صنعت فناوری تأثیر گذاشته اند.
1. آدا لاولیس
آدا لاولیس که یکی از اولین مهندسان علوم کامپیوتر است که پایههای آنچه را که اکنون به عنوان مهندسی نرمافزار میشناسیم پایهریزی کرد، همچنین اولین آیندهگر فناوری در زمان خود بود. لاولیس که در قرن نوزدهم لندن متولد شد، دختر شاعر رمانتیک معروف لرد بایرون بود، اما توسط مادرش بزرگ شد، که لاولیس را از نفوذ پدرش که هرگز ندیده بود، دور کرد و خواستار آموزش منطقی برای دخترش شد.
در نتیجه، آدا نسبت به بسیاری از دختران هم سن و سال خود آموزش فنی پیشرفته تری دریافت کرد، اما هرگز در علوم و ریاضیات در سطحی مشابه با مردان آموزش داده نشد. با این حال، او بالاتر از آن چیزی بود که اغلب از زنان در موقعیت او انتظار می رفت. لاولیس با یک ریاضیدان برجسته دیگر، پروفسور چارلز باجج، به ایجاد یکی از اولین کامپیوترها، یعنی ماشین تحلیلی کمک کرد.
اگرچه ما از نظر فنی بر اساس استانداردهای امروزی به عنوان یک مهندس نرم افزار تعریف نشده ایم، اما بدون آدا لاولیس و ذهن شاعر با استعداد و ریاضی او، سطح محاسباتی را که امروز در ماشین ها انجام می دهیم، نخواهیم داشت.
2. چمدان چارلز
باگیج که در قرن هجدهم در انگلستان به دنیا آمد، پسر یک بانکدار بود و در کودکی به خود ریاضیات آموخت، اگرچه قرار دادن اعداد در خانواده مطمئناً مفید است. او که به عنوان یک کودک اعجوبه ادامه داد، بسیار پیشرفتهتر از معلمان ریاضیات بود و یک انجمن تحلیلی را تأسیس کرد که بخش را بسیار بهبود بخشید.
باجج به عنوان یک ریاضیدان حرفه ای عمیقاً به محاسبات تحلیلی علاقه مند بود و پایه های مهندسی نرم افزار را با شاگرد جوان و شریک بالقوه خود در شرایطی برابر و حتی با توانایی های پیشرفته تر، آدا لاولیس فوق الذکر قرار داد. او اساس موتور دیفرانسیل را اختراع کرد و بعداً با لاولیس به سمت ماشین تحلیلی رفت. این دستگاه که یکی از اولین رایانههای موجود در جهان به حساب میآید، اگرچه ماهیتش ناقص است و هرگز نتوانسته است به برنامهنویسی کامل دست پیدا کند، این ماشین پایهای را برای آنچه تجزیه و تحلیل میتواند به صورت مکانیزه انجام دهد، ایجاد کرد.
3. برادران شویتز
اگرچه اغلب در تاریخ مهندسی نرم افزار و به طور کلی تاریخ نادیده گرفته می شود، اما گئورگ و پسرش (و نه همانطور که ممکن است برادرش انتظار می رود) ادوارد شویتز در طراحی و ساخت ماشین تحلیلی لاولیس و باگ بی طرفانه عمل کردند. این برادران که به عنوان ریاضیدان یا دانشمند آموزش ندیده یا تحصیل کرده اند، روح پرانرژی و پرانرژی مهندسان خودآموخته مدرن را تجسم می بخشند.
جورج شویتزدا که در حرفه چاپگر بود، در زمینه های دیگر خارج از انتشارات نیز کار می کرد. او پس از کمک به ساخت چیزی که میدانست ماشینی در حال تغییر جهان است، به ساخت ماشینهای دیگر از این دست برای مقاصد تجاری ادامه داد و موتور را به همراه پسر نوجوانش ادوارد در استکهلم فروخت. متأسفانه، هیچ یک از آنها سود زیادی از چنین اختراعاتی به دست نیاوردند، که منجر به نابودی نهایی مالی آنها شد، اما همچنان در فرهنگ واژگان تاریخی مهندسان و مخترعان نرم افزار خودآموخته ضروری است.
4. آلن تورینگ
صحبت از چمدان چارلز، مؤسسه چمدان چارلز، کالج علوم و مهندسی، او مصاحبه ای رونویسی شده عمومی در دانشگاه مینه سوتا ارائه می دهد که در آن نظریه های ریاضی در هم تنیده آلن تورینگ بزرگ و جان فون نویمان مورد بحث قرار می گیرد. تورینگ، رمزنگار با استعداد در طول جنگ جهانی دوم، بعداً در زمانی که ذهن درخشان او به دلیل “جنایت” همجنس گرایی نادیده گرفته شد، به عنوان یک جنایتکار محکوم شد.
تورینگ در حالی که بعداً به عنوان یک ریاضیدان و یکی از اولین بنیانگذاران مهندسی نرمافزار تلاش خود را ثابت کرد، در مدرسه خوب عمل نکرد. او نمرات بدی گرفت و معلمانش را بدتر کرد. او در واقع یک مرد خودساخته بود که به متفقین کمک کرد تا نیروهای محور را در طول جنگ جهانی دوم با شکستن ماشین رمزگذاری انیگما آلمان شکست دهند.
3. جان فون نویمان
جان فون نویمان نیز مانند تورینگ در اوایل قرن بیستم متولد شد و در دهه 1930 از اروپا نقل مکان کرد و در دانشگاه پرینستون در ایالات متحده تدریس کرد. او در زمانی که یهودی تبار بود در بوداپست مجارستان ریاضی خواند و خشم و تبعیض همسالان خود را برانگیخت و بعدها پیش از دعوت به سخنرانی در ایالات متحده، شیمی و ریاضی خواند.
فون نویمان یکی از ریاضیدانان خودآموخته ای بود که روی بهبود اجزای الکتریکی ماشین های محاسباتی کار کرد و از تئوری تحلیلی برای مطالعه دامنه وسیعی که این ماشین ها یک روز می توانستند به آن دست یابند، از جمله تئوری های فرضی در مورد چگونگی طراحی امکانات نرم افزاری (به ویژه قضیه مینیمکس و نظریه فون نویمان- مورگنسترن) که اکنون به صورت روزانه از آن ها استفاده می کنیم.
6. فرانسیس “فران” آلن
آلن با الهام از معلم ریاضی دبیرستان خود، در حال تحصیل در رشته ریاضی در دانشگاه است، اما پس از تدریس در دبیرستان، متوجه می شود که برای دریافت مجوز کامل معلمی خود باید مدرک کارشناسی ارشد را دنبال کند. در عوض، آلن تصمیم گرفت دوره برنامه نویسی IBM را بگذراند و بعداً با هدف پرداخت بدهی دانش آموزان و بازگشت به تدریس در مدارس دولتی به IBM پیوست. در عوض، او ۴۵ سال دیگر برای این شرکت کار کرد و به خود و دیگران یاد داد که چگونه نقش کلیدی IBM را در بهینهسازی تحولات نرمافزاری افزایش دهند.
آلن اولین زنی بود که در سال 1989 عضو IBM شد و بعداً در سال 2006 جایزه معتبر تورینگ ACM را دریافت کرد.
7. مارگارت همیلتون
چگونه میتوانیم در مورد مهندسان نرمافزار خودآموخته بنویسیم بدون اینکه مارگارت همیلتون را در نظر بگیریم؟ همیلتون که در اواخر دهه 1930 در شهر کوچک ایندیانا متولد شد، ریاضی دان دیگری است که تخصص او از تدریس حساب به مدرسه تغییر نکرده است، زیرا در آن زمان بسیاری از زنان قرار بود مدرک ریاضی داشته باشند تا به دستاوردهای قابل توجهی در توسعه نرم افزار دست یابند.
همیلتون نه تنها نظریه ها را تجزیه و تحلیل کرد و در مورد آنها نوشت – او موشکی به آن فرستاد ماه. همیلتون به رهبری تیمی از مهندسان نرم افزار در موسسه فناوری ماساچوست، کدی را ایجاد کرد که به طور تاریخی آپولو 11 را در سال 1961 به فضا پرتاب کرد و برای اولین بار بشریت را روی ماه فرود آورد.
8. Edsger W. Dijkstra
یکی از جذابترین مهندسان نرمافزار خودآموخته، دایکسترا، علیرغم تمرکز رشتهاش بر این رشته، تصمیم گرفت فیزیکدان نظری نشود. در عوض، او به مدت سه سال در دانشگاه لیدن به عنوان برنامه نویس در بخش محاسبات مرکز Mathematisch کار کرد و در نهایت این دو رشته را با هم ترکیب کرد، به گونه ای که مسیر مهندسی نرم افزار را برای همیشه تغییر داد.
Dijkstra که خود را برای مهندسی نرمافزار، بهویژه برنامهنویسی نامناسب میدانست، با این وجود آموخت که چگونه به نقش خود در مهندسی کامپیوتر از منظر جدیدی نگاه کند. او الگوریتمی اختراع کرد که راه را برای محاسبات جهت هموار می کند: چگونه کوتاه ترین مسیر را از یک مقصد به مقصد دیگر پیدا کنیم. کارهای او جوایز و دستاوردهای متعددی (از جمله جایزه تورینگ ACM) را در طول زندگی خود کسب کرده است، زیرا او همچنان به اختراع، تحقیق و فلسفه در مورد پیچیدگی های ریاضیات، تجزیه و تحلیل و برنامه نویسی ادامه می دهد.
9. گریس هوپر
یکی دیگر از ذهن های بزرگ زن علاوه بر مهندسین نرم افزار تاثیرگذار، هوپر در سنین پایین به مهندسی و ریاضیات علاقه مند شد. در حالی که هوپر مدرک کارشناسی ارشد و دکتری خود را در رشته ریاضیات از دانشگاه ییل دریافت کرد، سمت خود را به عنوان استاد در یک کالج محلی ترک کرد و در سال 1943 به نیروی دریایی پیوست. دانشگاه هاروارد در طول جنگ جهانی دوم، در حال کار بر روی یک ماشین حساب (Mark I)، که بعداً به عنوان نمونه اولیه یک کامپیوتر الکترونیکی شناخته شد.
پس از جنگ، هوپر به کار در نیروی دریایی در زمینه برنامه نویسی و زبان های نرم افزاری ادامه داد. او هم به خاطر شغل برجستهاش در نیروی دریایی و هم نقشش در توسعه علوم کامپیوتر، مورد تقدیر قرار گرفته است. در سال 1987 به او مدال شایستگی در دفاع اعطا شد و پس از آن به عنوان یکی از اعضای عالی انجمن کامپیوتر بریتانیا در سال 1973 شناخته شد.
10. دونالد نات
یکی دیگر از برندگان جایزه معتبر تورینگ ACM، در میان دیگران، کنات به عنوان “سیلیکون ولی یودا” شناخته می شود. او که یک داستان نویس جذاب و با استعداد، و همچنین یک برنامه نویس کامپیوتر است، به دلیل توانایی خود در نوشتن و صحبت در مورد دنیای مهندسی نرم افزار به گونه ای که برای افراد عادی قابل دسترس و جالب باشد، شناخته شده است.
از سال 1962، کنات شروع به نوشتن (و هنوز هم می نویسد) مجموعه ای از کتاب های معروف و محبوب در سیلیکون ولی. هنر برنامه نویسی کامپیوتر (یا به اختصار TAOCP)، که هنوز هم توسط مهندسان نرم افزار مجرب و جاه طلب به طور گسترده خوانده می شود.
11. جان کارمک
مانند Knutch، Carmack یکی از مدرن ترین نمونه های مهندسین نرم افزار خودآموخته است. کارمک که در دهههای 1970 و 1980 در آمریکای مرکزی بزرگ شد، فرهنگ بازیهای آرکید، سپس کنسول و در نهایت رایانه، بازیهای نسل خود را زندگی کرد و تنفس کرد. مانند دیگر غولهای فناوری در دره سیلیکون، کارمک تصمیم گرفت دانشگاه میسوری را ترک کند و در عوض برنامهنویسی مستقل را دنبال کند و جایگاه خود را در برنامهنویسی بازیهای ویدیویی پیدا کند. به ویژه، Carmack با دادن جای خود به بازی های کلاسیک مانند مرگ و ولفنشتاین اتفاقا سریال او به بررسی راه های دیگر برنامه نویسی مانند پروژه های هوش مصنوعی ادامه می دهد و یکی از نمونه های موفق مهندسان نرم افزار خودآموخته مدرن است.
انتشار 11 مهندس نرم افزار خودآموخته که تأثیر گذاشتند برای اولین بار در Skillspot ظاهر شد.