اشکان رحمانی
اشکان رحمانی
خواندن ۹ دقیقه·۶ سال پیش

چرا مهندسی کامپیوتر و چرا نه؟!

توی این پست قصد دارم نظرات شخصیم و تجربیات چهارسالم رو در مورد رشته مهندسی کامپیوتر، خوبی‌ها و بدی‌هاش و در کل این که برای چه کسانی میتونه خوب باشه و برای چه کسانی بد رو بگم. همینطور چه روش‌هایی برای طی کردن دوره لیسانس این رشته وجود داره و هر کدوم چه اهدافی رو برای خودشون دنبال میکنن و برای رسیدن به اون اهداف باید از چه مسیری گذشت.


این مطلب بازنشر مطلب اصلی داخل بلاگ خودم هستش که میتونین از اینجا(+) بهش سر بزنین :)


این مطلب به درد چه کسانی میخوره؟!

  • تازه در حین انتخاب رشته هستین و دارین در مورد رشته‌های مهندسی تحقیق میکنین و یکی از گزینه‌هاتون مهندسی کامپیوتر هستش.
  • این رشته رو انتخاب کردین و ترم‌های اول دوم هستین و سردرگمین و نمیدونین قراره چی بشه.
  • وسطای این رشته هستین و هنوز هدف و راه خودتون رو پیدا نکردین.

اگر جز سه دسته بالا هستین، این مطلب ممکنه اطلاعات خوبی رو بهتون بده. اگرم نیستین بازم مطلب رو بخونین و نکات جدیدی رو بهش اضافه کنین تا شامل طیف وسیع‌تری از تجربیات بشه…

قبلش هم این نکته رو بگم که این مطلب صرفن نظرات و تجربیات شخصیم هستش و نه یک دستورالعمل ثابت برای همه افراد و البته کمی طولانی ?

من قبل دانشگاه به دلایل زیادی درس خوندن اولویت اولم نبود و همیشه درگیر مسابقات و تمرینات ژیمناستیک و کارهای حاشیه‌ای دیگه بودم اما تصمیم داشتم با ورود به دانشگاه و خوندن رشته مورد علاقه‌ام (مهندسی کامپیوتر) همه چیز رو عوض کنم و بچسبم به درس و با قدرت ادامش بدم.

همین کار رو هم کردم و ترم‌‌های اول و دوم معدلم بالای ۱۹ بودش اما نهایتن به این نتیجه رسیدم که این مسیری نیست که من همیشه دنبالش بودم. از صبح برم دانشگاه بعد بشینم تمرین‌هارو انجام بدم و خودم رو برای امتحانا آماده کنم و روزی حداقل یکی دوساعت وقت بزارم روشون. من دنبال خلق ایده‌هام بودم، یک چیزی تولید کنم، بتونم یک ابزاری بسازم برای رفع نیاز مردم، اما این مسیر هیچ شباهتی بهش نداشت.

قبل از ورود به دانشگاه بیشتر کارهای گرافیکی انجام می‌دادم و همینطور المپیاد کامپیوتر هم تا مرحله کشوری شرکت کرده بودم اما هیچی از برنامه‌نویسی و دنیای توسعه و مهندسی نرم‌افزار نمیدونستم. توی اون تایم هیچکس تعریف مشخصی از مسیر برنامه‌نویس شدن یا هر تخصص دیگه‌ای تو حوزه‌های مختلف دنیای آی‌تی نمی‌داد و همه چیز توی یک‌سری مسائل تئوری خلاصه شده بودن و کد زدن‌های الگوریتمیک و پروژه‌های دانشجویی سطحی با یک زبانی مثل سی‌پلاس‌پلاس که حتا همون رو هم درست آموزش نمی‌دادند.

دانشگاه بدی هم نبودم، بین دانشگاه‌های غیرانتفایی توی ایران رتبه اول رو داره و هر سال پنج شش تا رتبه تک‌رقمی تو ارشد، اما محیط‌های آکادمیک دانشگاهی ما خاصیتشون اینه که جوری شما رو هدایت میکنن که از شما یک استاد دیگه بسازن تا توی یک دانشگاه دیگه درس بدین! روال همینه. یعنی اگر بخواین توی این سیستم به شما فرد موفق بگن باید مباحث عمومن قدیمی علوم کامپیوتر رو به شکل کاملن تئوری مسلط بشین و نمره بیست بگیرین. در بهترین حالت این از شما یک فرد مسلط به دانسته‌های از رده خارجی میکنه که با قطعیت بیش از ۹۰ درصدشون توی دنیای واقعی کاربردی ندارن و یا ۳۰ سال پیش داشتند. اما به شما تبریک میگم، شما حل تمرین ترم بعد شدید!

از نظر من این یک سیر باطل هستش که اگر به خودتون نیاین و هدف مشخصی برای مسیرتون معین نکنید در نهایت مشابه خیلی از دوستانی میشین که در حال فارغ‌التحصیلی هستن، اما خب یک خط کد واسه پروژه پایان‌نامه‌شون نمیتونن بزنن و هیچی از دنیای مهندسی کامپیوتر نمیدونن و گیر کردن.

اما حالا نکته مهم اینجاست که اگر شما هدف استاد دانشگاه شدن دارین، هدف مهاجرت تحصیلی و بورسیه شدن و یا تحصیل در مقطع ارشد توی یک دانشگاه خوب دارین، دقیقن باید همین روال گفته شده بالا رو طی کنید. اگر قصد اپلای کردن و مهاجرت تحصیلی دارین احتمالن ادامه مطالب زیاد بدردتون نخوره اما بازم بد نیست نگاهی بهشون بندازین، حداقل برای دورانی که تحصیلتون تموم شد و برنامه‌های بعدش.

راستی یک چیزی تو پرانتز بگم :)) من تصمیم گرفتم یک پیج توی اینستاگرام بزنم و اونجا در مورد همین موضوعات بلاگم به صورت مفصل‌تر و ویدیویی مطلب بزارم. خوشحال میشم اونجا منو دنبال کنین و اگر سوالی دارین همونجا بپرسین تا راحت‌تر بتونم جواب بدم :) آیدی پیج: happy_developer

برای مسیر استاد دانشگاه و هیئت علمی شدن باید حواستون باشه که در حال حاضر دانشگاه‌ها دیگه برای پذیرشِ چیزی به عنوان عضو هیئت علمی ظرفیت ندارن و فقط اساتید حق‌التدریس با حقوق ساعتی میگیرن که در عمل باید تقریبن تمام طول هفته از هشت صبح تا هشت شب در انواع و اقسام دانشگاه‌های دولتی(با شرایط و رزومه خاص!)، غیرانتفایی و آزاد کلاس بردارین و با همه نوع قشر دانشجو سر و کله بزنین و همین مباحث منسوخ شده رو دوباره تدریس کنین تا در ماه چیزی حدود ۲ تا ۳ میلیون تومان درآمد داشته باشین. (در بهترین حالت که رزومه درسی شمارو اون دانشگاه قبول کنه و اجازه تدریس بده و اون تعداد واحد هم در طول ترم به شما داده بشه و البته اونم در سن ۲۶ سالگی برای آقایون که سربازی هم رفتن که بازم بهترین حالتِ سنش رو گفتم).

یک مورد خیلی کوتاه بگم که من دوستانی دارم که با ۱۸ سال سن درحال حاضر توی شرکت‌های مختلفی به صورت ریموت و نیمه‌وقت مشغول به کار(برنامه‌نویسی) هستن و ماهانه ۴میلیون تومان در سال ۹۶ میگیرن(بدون احتساب  پروژه‌های فریلنسری).

برای مورد قبلیم که گفتم نمونه عینی این مثال، اعضای هیئت علمی دانشگاه خود ما هستن که با مدرک فوق‌لیسانس سال ۶۴ هنوز توی این پست هستند اون هم بدون انجام هیچ پروژه تحقیقاتی و یا ارائه مقاله جدیدی از خودشون. تنها دلیلشم داشتن سهام از دانشگاه هستش و رابطه! از طرف دیگه‌ای ما شخصی رو داریم که رتبه ۴ کنکور ارشد شده و بورس مقطع دکترا از شریف که درخواست تدریس داده و تنها یکی دو کد درس ۳واحدی به عنوان حق‌التدریسی بهش داده بودن ?

دسته دیگه‌ای از دوستان تا ترم‌های دوم سوم اصلن اطلاعی از آینده رشتشون ندارن و نمیدونن که کلن قراره چی بشه و یا خیلی دیگه از بچه‌ها هستن که با دنیای عظیمی از تکنولوژی‌های مختلف روبه‌رو میشن و نمیدونن چیو انتخاب بکنن و وقت و انرژیشون رو روی چی سرمایه‌گذاری بکنن. پیشنهاد من به این دوستان مطالعه توی حوزه‌های موجود در دنیای آی‌تی هستش و اینکه سعی کنن خیلی زود علاقه خودشون رو پیدا بکنن و سریع برن توی مسیرش. با خودشون فکر کنن که میخوان برنامه‌نویس بشن، توی حوزه شبکه کار بکنند و یا زمینه طراحی گرافیکی و UI رو انتخاب کنن که خب من سعی کردم برای حوزه برنامه‌نویس شدن یک مسیر راهی رو تا حدی مشخص کنم که میتونین از اینجا(+) یک راهشو بخونین و البته برای آشنایی و شناخت نسبی به حوزه‌های مختلف برنامه‌نویسی هم اینجا(+) یک مطلبی نوشتم که خوندنشون میتونه کمک کنه. در ادامش هم نگاهی به این(+) پست بندازین تا با اصطلاحات رایج این حوزه بیشتر آشنا بشین تا از این مرحله به بعد بتونین راحت‌تر خودتون سرچ کنین و توی یک سری لغات گنده گم نشین.

از این حرف‌ها اینجوری برداشت نکنید که دانشگاه جای مزخرفی هستش و کلن درس خوندن توی این رشته فایده‌ای نداره! بلکه باید بهتون بگم برعکس… مقطع لیسانس دوره خیلی مناسبی هستش برای یادگیری یک‌سری مباحث بنیادین و اصولی مثل ساختمان داده‌ها، طراحی الگوریتم و هوش مصنوعی. این موضوعات مباحث پایه‌ای و همینطور ثابت در تمام دوران‌ها هستش. برای همین تا میتونید روی این موضوعات وقت بذارین و با دقت و انگیزه روشون عمیق بشید. چون در آینده حرف اصلی رو برنامه‌نویسی میزنه که بتونه از الگوریتم سردربیاره و تحلیلش بکنه.

دنیا دنیای هوش‌مصنوعی و یادگیری ماشین هستش و تمام برنامه‌ها و وب‌اپلیکیشن‌ها به این سمت دارن پیش میرن و در واقع این موضوعات از حوزه‌های ترند روز دنیا هستند و به شدت بازارکار جهانی خوبی داره.

بیشتر از این در مورد انصراف دادن و اینکه چرا دانشگاه رو رها نمی‌کنم(حداقل دوره لیسانس) نمینویسم، چون صدرا اینجا(+) خیلی کامل و جامع دلایل خوبی رو آورده و همینطور جادی اینجا(+) در مورد اینکه اگر به دانشگاه برمی‌گشت نکات جالبی رو گفته که پیشنهاد میکنم حتمن حتمن یک سری بهشون بزنید.

تا اینجا بیشتر در مورد کسانی حرف زدیم که در حال حاضر مشغول به تحصیل توی رشته مهندسی کامپیوتر هستن، از اینجا روی صحبتمون میره سمت کسانی که در حال انتخاب رشته هستند و از روی شنیده‌ها قصد دارن بیان کامپیوتر…

یک آمار خیلی معروفی که معمولن هر چندوقت یکبار توی شبکه‌های اجتماعی دست به دست میشه، آمار تعداد بیکاران فارغ‌التحصیل از رشته‌های مختلف هستش که خب همیشه با اقتدار، فارغ‌التحصیلان رشته مهندسی کامپیوتر صدرنشین هستن. اما چرا؟! شاید میشه گفت یکی از دلایلی که این پست رو نوشتم برای پاسخ به همین سوال هست.

یکی از بزرگترین دلایل این قضیه بی‌مهارتی و بی‌تخصص بودن فارغ‌التحصیلان این رشته هستش. یعنی با جرئت میتونم بگم که از هر ۱۰ نفر فارغ‌التحصیل این رشته چیزی حدود ۷نفر هیچ تخصصی از هیچکدوم از شاخه‌های مهندسی کامپیوتر ندارن و فقط دروس رو پشت همدیگه پاس کردن و رسیدن به تهش… این اعدادی که گفتم یک آمار تجربی بود که شاهد این قضیه هم تعداد پیام‌هایی هستش که در آخر هر ترم برای زدن پروژه‌های درسی میگیرم و همینطور افرادی که دربه‌در برای زدن پروژه فارغ‌التحصیلیشون دنبال افراد مختلف هستند. (راستی قبل اینکه این تیپ پیام‌هارو بدین یک سری به اینجا (+) بزنین شاید پروژتونو پیدا کردین ? )

بازار کار رشته مهندسی کامپیوتر به شدت به مهارت و تخصص شخص ارتباط داره و متاسفانه این مهارت هارو در هیچ درس دانشگاهی پیدا نمی‌کنید و به همین دلیل اگر کسی صرفن دروس این رشته رو پاس کرده باشه و امید به پیدا کردن کار مرتبط با رشتش داشته باشه، هیچوقت به نتیجه نمیرسه و بیکار میمونه و یا مشغول به یک کار بی‌ربط میشه و تمام اون ۴ سال از عمرش رو بیهوده هدر داده!

نکته جالبی که میخوام بگم اینه که شاید رشته مهندسی‌کامپیوتر و به‌ویژه برنامه‌نویسی بیشترین آمار جذب نیرو با حقوق‌ و مزایای بسیار مناسب رو داره که برای اثبات این حرف میتونین سری به اینجا(+) بزنین و آگهی‌های استخدام برنامه‌نویس در شرکت‌های مختلف رو ببینید. اما مشکلی که این شرکت‌ها دارن نبود نیروی متخصص و فنی هستش. بعضی از این آگهی‌ها برای مدت ۶ماه تا یکسال در این سایت هستند و هنوز شخص مناسب که مهارت‌های مرتبط با اون موقعیت شغلی داشته باشه رو پیدا نکردن.

اگر فکر میکنید که مهندسی کامپیوتر رشته ساده‌ای هستش و فقط برای گرفتن یک مدرک لیسانس میخواین درس بخونید پیشنهادم اینه اصلن این رشته رو انتخاب نکنید. چون به هیچ‌وجه ساده نیست و رشته‌های ساده‌تری برای اینکار وجود دارن.

توی ذهنتون اگر به شبکه، انیمیشن، گرافیک، امنیت و هک، برنامه‌نویسی وب و موبایل فکر میکنید و دنبال این موارد توی رشته کامپیوتر هستید باز هم در اشتباهید… چون هیچکدوم از موارد بالا رو توی دانشگاه به شما آموزش نخواهند داد.

همینطور اگر دنبال یادگیری کارهای روزمره مثل کار با آفیس، فوتوشاپ و این چیزا هستید دوره‌های ICDL بیشتر از رشته دانشگاهی کامپیوتر به‌دردتون میخوره و البته اگر حوصله یادگیری مفاهیم جدید و سخت رو ندارین هم سمت این حوزه نیاین…

تمام موارد بالا رو گفتم تا درک بهتری از فضای این رشته، آیندش و بازار کارش ارائه داده باشم و در نهایت تصمیم‌گیری و انتخاب مسیر با خود شماست.

این رو هم بدونید که برای رسیدن به موفقیت به اندازه تمام انسان‌های روی کره‌زمین راه وجود داره و هیچ دستورالعمل مشخص و تضمینی برای موفقیت وجود نداره.

در آخر هم تاکید می‌کنم که حتمن حتمن مطالبی که به این پست لینک شدند رو یک سری بزنین و مطالعه بکنیدشون. چون تقریبن خیلی از مطالب رو به خاطر اینکه قبلن توی اون لینک‌ها مفصل توضیح داده شدن رو اینجا بازگو نکردم و همه اونها مکمل این پست هستند.

اگر هم تجربیات مشابه و یا متضاد مطالب گفته شده رو دارید، خیلی خوشحال میشم تا نظرات شما رو هم بشنوم و چیزای بیشتری یادبگیرم…

این مطلب بازنشر مطلب اصلی داخل بلاگ خودم هستش که برای خوندن مطالب مرتبط با این حوزه میتونین از اینجا(+) بهش سر بزنین :)

با آرزوی موفقیت برای هممون...

پ.ن ۱: حتمن کامنت‌ها رو هم بخونین :) اونجا خیلی سوالای دیگه جواب داده شدن...

پ.ن ۲: کامنت های جدید رو متاسفانه نمیرسم جواب بدم، اگر سوالی دارین داخل پیج اینستام happy_developer دایرکت بدین...

دانشگاهبرنامه نویسیمهندسی کامپیوترکنکورمهندسی نرم افزار
https://ashkaan.ir/blog :) اینجا مطالب بلاگم رو بازنشر میکنم | یک توسعه‌دهنده دیگر وب!
شاید از این پست‌ها خوشتان بیاید