مهندس نرم افزار با تحصیلات غیر مرتبط!
یکشنبه 8 اسفند 1400
توضیح:
در لینکتین، یه بابایی با طعنه پرسیده بود: «چرا در C# برای تعریف هر داده ای باید نوع داده را مشخص کنیم؟» و در ادامه، C# رو با JavaScript مقایسه کرده بود. یه بابای دیگری هم نه گذاشته بود و نه ورداشته بود، نوشته بود: «جواب ابلهان خاموشی است!»
اون موقع من ادمین کانال CodeForFood بودم و اون پُست لینکتین رو اسکرین شات گرفتم و گذاشتم در کانال، البته بعدا علی حذفش کرد. پشت بندش این مطلب رو نوشته بودم که هنوز هم در کانال هست:
***
وقتی میگم «برای توسعهء نرمافزار باید رشتهء تحصیلی تون مهندسیکامپیوتر گرایش نرمافزار باشه» برای جلوگیری از یه همچین فجایعیهها...
طرف چشم وا کرده ویندوز 10 بوده و اندروید و آی اُ اِس، رفته دانشگا، بقول علی، رشته «آبیاری گیاهان دیم!»، اونجا سره درس آمار، استادشون حال کرده بجای اِکسِل، با پایتون فرمولهای سادهء آماری رو محاسبه کنه، اینام خیال ورشون داشته با یادگیری پایتون (یا هر خزعبل دیگهای) دیگه برنامهنویس شدن! میان بیرون میبینن بازار کار وب و موبایل داغه، با آق دایی میپرن رو جاواسکریپت و مشتقاتش... چارتا کلاس آموزشی و ویدیوی دکتر ضِیقلیان پور از «سماتک» و «مجتمع فنی» و «فراتر از دانش» شرکت میکنن یا میبینن، امر برشون مشتبه میشه که دیگه دروازههای دِوِلُپمِنت رو درنوردیدن و اونجای غول رو یه تنه با دست خالی شیکوندن. فرتی هم با مفاهیم استارتاپ و اجایل و چارتا بوق-شعر قلمبه سلمبهء دیگه آشنا میشن، شوق تغییر دنیا تمام وجودشون رو فرا میگیره، میخوان «استیو جابز» نسل بعد باشن. بعد سره کار که میرن، نهایتا چارتا یوآی ریعکتی میعکتی چپرچلاق میزنن، بعد از دو سال به عنوان فول استکِ اسمی، میرن یه بکاِند هوا میکنن، اونم با شعار «کلود و دوآپس... حق مسلم ماس»، به طریقه شخمی کانفیگ میکنن میرن جلو، 3 روز بعد هکرای روسی دودمان 45 میلیون نفر رو میریزن رو داریه. مثه افتضاح تورقوز آباد فقط از نوع سایبریش.
خب ابله...
- در رشته نرمافزار ما بطور زور چپون «مدار منطقی» خوندیم که بفهمیم دیجیتال بودن ینی چی...
- «معماری کامپیوتر» خوندیم که بفهمیم کامپیوتر چطوری ساخته میشه...
- «اصول طراحی ریزپردازنده» خوندیم که بفهمیم پردازندهها چطوری کار میکنن و کدها چطوری اجرا میشه...
- «زبان ماشین و اسمبلی» خوندیم که بتونیم همونطوری که پردازندهها کارا رو انجام میدن باهاشون صحبت کنیم...
- «اصول طراحی سیستم عامل» خوندیم که بفهمیم نرمافزار چطوری میتونه سختافزار رو کنترل کنه...
- تازه بطور موازی، «مبانی الگوریتم و حل مسئله» خوندیم که بتونیم مسایل رو سازگار با منطق کامپیوترها درک کنیم...
- «برنامهنویسی مبتدی و پیشرفته» خوندیم که یاد بگیریم کدنویسی به زبان سطح بالا و نزدیک به منطق انسانی چطوریه و برنامهنویس بودن ینی چی...
- «ساختمان دادهها» خوندیم که بفهمیم داده ینی چی و برخورد کامپیوتر با کمیتهای دنیای واقعی چطوریه...
- «طراحی الگوریتم» خوندیم که بفهمیم عُلمای پیش از ما چطور با قضایا و مسایل کنار اومدن تا ما نخوایم چرخ رو دوباره اختراع کنیم...
تازه این دوتا شاخه یه جایی به هم میرسن و اصل داستان که همه ش تئوریه شروع میشه:
- اصول و مبانی ذخیره و بازیابی اطلاعات
- اصول و مبانی پایگاه دادهها
- نظریه زبانها و ماشینها
- اصول طراحی زبانهای برنامهنویسی
- اصول طراحی کامپایلر
آخر سر هم «اصول سرپرستی» و «مهندسی نرم افزار» و چندتا درس اختیاری به اختیار دانشگا!
همه اینها به کنار، یه «ساختار گسسته» هست که اونو نفهمیدی برو خودتو دار بزن، تمام علوم کامپیوتری در اون خلاصه میشه به تنهایی، به علاوه کلی درس عمومی و پایه و تعدادی واحد بوووووقشعر عقیدتی...
بعد طرف سوال پرسیده چرا در C# باید نوع داده رو تعریف کنیم؟!
140 واحد درسی پیشنیاز میخواد برا فهمش خب ابله...
بنده خدا جواب خوبی بهت داده، صریحاً گفته ابلهی که بری یه فکری به حال خودت بکنی...
نکنید این کارا رو...
حداقل قبل از این آپارتی بازیهای سوشیالی یه سرچ بزنید ببینید اون خزعبلی که میخواین بپرسین جوابی داره یا نع...
ویکی رو که ازتون نگرفتن...
در مورد مایکروسافت هم فقط مستندات خودش و لا غیر...
هئی...
پیر شدیم از دستتون...
زت زیاد.