اندرباب انتخاب رشته: مهندسی کامپیوتر

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


چی یاد می‌گیریم/نمی‌گیریم؟

توی دوره لیسانس مهندسی کامپیوتر شما تمامی دانش‌های بنیادی لازم برای درک کردن کامل این که یک کامپیوتر چطوری کار می‌کنه رو یاد می‌گیرید. از سطح سخت‌افزار و خیلی پایین تا سیستم عامل و برنامه‌نویسی و چیزهای خیلی پیچیده‌تر و پیشرفته‌تر.
چیزی که الان مهم‌تر هستش اینه که بدونید چیا رو قرار نیست توی این رشته یاد بگیرید. تصور غلطی که من حس می‌کنم در یه بخش زیادی از جامعه وجود داره اینه که مهندس کامپیوتر یاد می‌گیره چطوری اپلیکیشن بنویسه و وبسایت بسازه. در حالی که حدود ۱۲ واحد از ۱۴۰ واحدی (دانشگاه شریف) که قراره توی دانشگاه پاس بکنید به این موضوع مرتبط هستش. مهندسی کامپیوتر خیلی وسیع‌تر و عمیق‌تر از کد زدن برنامه‌های روزمره هستش و هدف سیلابس دانشگاه، تربیت کردن برنامه‌نویس نیست.
ساخت وبسایت و برنامه‌نویسی وب توی شریف یه درس اختیاری هستش و در هر صورت بیشتر از ۳ واحد قرار نیست توی دانشگاه یادش بگیرید. درسی با مبنای ساخت اپلیکیشن اندروید در حال حاضر توی شریف ارائه نمی‌شه. هیچ درسی مرتبط با استارتاپ زدن در دانشکده کامپیوتر ارائه نمی‌شه. متاسفانه دانشگاه یه سری مهارت کلیدی رو هم قرار نیست بهتون یاد بده که اینجا بیشتر نوشتم در موردشون.


شما یک شبه پولدار نخواهید شد!

اگر حس می‌کنید ایده‌های خیلی زیادی دارید، کافیه که یه خورده برنامه‌نویسی بلد باشید تا بتونید پیاده‌سازیش بکنید، بذاریدش توی بازار و پول در بیارید سخت در اشتباه هستید. حداقل یکی دو سال طول می‌کشه تا برنامه‌نویسی رو خوب یاد بگیرید و بتونید یک محصول با کیفیت درست کنید. شما یا تیم شما باید خیلی بیشتر از مهندسی کامپیوتر بلد باشید تا بتونید یک محصول درآمدزا رو مدیریت بکنید. شما باید business plan داشته باشید، سرمایه و وقت داشته باشید، کمی مدیریت و رهبری بلد باشید تا با احتمال ناچیزی موفق بشید. طبق آمار جهانی ۷۵ درصد استارتاپ‌ها شکست می‌خورند. توی این ۴ سالی که من در دانشگاه بودم و چند سال بالایی‌ها و پایینی‌هام رو دیدم، فقط چند مورد که تونستند پول در بیارن:

  • آفتابه: فکر کنم ۴-۵ سال از عمرش می‌گذره و اون موقع بیش از ۱۰۰ میلیون تومن پول در اورد. بچه‌های اون تیم بعدش شروع کردند به ساخت محصولات دیگه و هنوز هم به شدت درگیر هستند اما دیگه محصولی مثل اون تولید نکردند و درآمدشون پایدار نبود.
  • سالار: من یه مدتی با سازنده این اپلیکیشن همکار بودم. خیلی آدم باحالی بود و یه مقدار خوبی از درآمدش رو صرف سفر به اروپا کرده بود و حسابی خوش گذشته بود بهش. فکر نکنم از درآمدش از این بازی پول زیادی مونده باشه و خب ایشون هم سخت مشغول پروژه‌های بعدی هستند.
  • گروه گندم هم چند تا اپ زده بود و یادمه درآمدشون بد نبود. از این افراد خیلی وقته خبر ندارم و نمی‌دونم به کجا رسیدند.

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

استارتاپ زدن بدون هیچ تجربه‌ی کاری یک مسیر به شدت ریسکی هستش و ممکنه چیزهای زیادی رو از دست بدید و من اصلاً این مسیر رو بهتون پیشنهاد نمی‌کنم.

پیشنهاد می‌کنم این مصاحبه از ایلیا وکیلی که مدت خوبی مدیر فنی اسنپ بوده رو تماشا کنید.


اگر تنها به ریاضی و الگوریتم علاقه دارید، مراقب باشید

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

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

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

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

اگر سوالی داشتید در قسمت نظرات ازم بپرسید. خوشحال می‌شم کمکتون کنم :)