پشیمانی های فارغ التحصیلان کامپیوتر

راستش هرچی فکر میکردم چی بنویسم چیزی جز پست اموزشی به ذهنم نرسید که هم نوشتنشون حوصله و وقت زیادی میخواد و هم اینکه اگه زبانتون خوب باشه میتونید براحتی و با گوگل کردن اون تکنولوژی کلی اموزش رایگان پیدا کنید اما چند روز پیش چند نفری دور هم جمع شدیم که با هم در مورد کارهایی که چهار سال لیسانس اگه میکردیم جلوتر بودیم و یا اگه نمیکردیم کلی عقب تر بودیم بحث میکردیم و فکر کردم اگه بعنوان یه ترم 9 لیسانس کامپیوتر یه دانشگاه دولتی بخوام کسایی که توی این رشته تازه وارد هستن رو راهنمایی کنم خیلی بهتر از اینه که اموزش چیزای مختلف رو بزارم اگه تازه میخواید برید رشته کامپیوتر تو دانشگاه بخونید یا سال اول و دوم این رشته هستید این نوشته بدردتون میخوره و پیشنهاد میکنم بخونیدش0:چرا از کد زدن ترسیدم؟مهم ترین بخش ماجرا همینه!!شما وقتی کامپیوتر میخونید یک برنامه نویس میشید و برای برنامه نویس خوب شدن هم باید زیاد کد بزنیدبه هیچ وجه پروژه هاتون رو از بقیه نگیرید این خیلی مهمه و البته مهم تر ازون پروژه های شخصی خودتون رو پیش ببرید اگه زیاد کد نزنید دقیقا مثل کسی میشید که مهندس معماری میشید که حتی نمیتونه یه خونه ی سادرو طراحی کنه درواقع لیسانس خوندن جز عقب انداختن سربازی و کلاسش چیز دیگه برای شما نخواهد داشت!!1:چرا وقت کشی کردم؟این بیشترین موردیه که دیدم دانشجوها بخاطرش حسرت میخورن. بهترین پیشنهادی که میتونم بهتون بکنم اینه که هرشب که میخوابین به این فکر کنین که امروز چه پیشرفت هایی کردین و کارهای بدردبخوری رو انجام دادین و در کل اینکه ایا نسبت به صبح که از خواب پاشدین تغییر مثبتی داشتین یا نه.البته به شخصه گوش دادن این اهنگ معروف اما قدیمی زمان از پینک فلوید رو هم بهتون پیشنهاد میکنم2:خودتون رو با دیگران مقایسه نکنیداین نکته خیلی مهمیه مهم نیست نسبت به دیگران کجا ایستادید مهم اینه که همواره در حال بهتر شدن باشید و این نکتروهم در نظر داشته باشید وقتی خودتون رو با کسی مقایسه میکنید نه اینده و اهداف اون رو میدونید و نه گذشته اون رو پس مقایسه کردن خودتون با هر کسی کار بیهوده ایه و اینکه تعداد ادم هایی که مهارتی رو شروع کردن به یاد گرفتن و موفق شدن بیشماره و البته برعکس که تعداد ادمایی که قبل از 10 سالگی کاری رو شروع کردن و تو اون موفقیتی بدست نیاوردن هم خیلی زیاده.و البته باید اضافه کنم که دانش و مهارت به تنهایی هیچ ارزشی ندارن و مهم تر از اون خلاقیت و استفاده ازون دانش برای کمک به دیگرانه و البته هزاران دلیل دیگه میتونم براتون بیارم که مقایسه کردن خودتون با دیگران کاملا غیر منطقیه3:چرا تکنولوژی های کمی یادگرفتم؟این هم نکته مهمیه افراد زیادی میشناسم که فقط درس های دانشگاهی رو پاس کردن و قاعدتا جز زبان های سی و جاوا زبان های دیگه ای یاد نگرفتن بنظرم باید همواره دنبال یادگیری چیزهای جدید باشید اینکه فقط یک زبان برنامه نویسی رو بلد باشید و اصلا دنبال یادگیری زمینه های دیگه نباشید شمارو توی بازار کار کاملا اسیب پذیر میکنه و البته به این نکته توجه کنید که توی دانشگاه به شما چیزی یاد نمیدن خودتون باید یاد بگیرید حتی خیلی از درسایی که میدن بدرد پروژه خود اون درس هم نمیخوره4:چرا بجای اینکه در یک زمینه عمیق شم در چندین زمینه سطحی کار کردم؟درسته!!شاید فکر کنید موضوع 4 با موضوع 3 در تناقضه اما اینجور نیست!!این هم نکته ی قابل بحثیه دوستای زیادی دارم که توی مباحث(اندروید ,بازی سازی,هوش مصنوعی,طراحی سایت و ...) به صورت سطحی کار کردن اما توی هیچکدوم عمیق نشدن باید حواستون باشه که تعادل رو رعایت کنید اینکه 10 تا زبان برنامه نویسی بلد باشید اما توی هیچکدوم عمیق نشده باشین بدونید که کارتون داره اشتباه پیش میره بهتره با 3 تا زبان اشنایی داشته باشید و توی دو زبان بصورت عمیق کار کنید یا توی زمینه ی برنامه نویسی سمت سرور عمیق کار کنید وبا لینوکس و برنامه نویسی فرانت - اند اشنایی داشته باشید اینطوری بهتر میتونید زمینه ای که بهش علاقه دارید رو پیدا کنید و اگر هم اون زمینه قدیمی شد بتونید به زمینه های دیگه مهاجرت کنید5:چرا توی پروژه های متن باز مشارکت نکردم؟ مشارکت کردن توی پروژه های بزرگ متن باز چیزیه که میتونه رزومه خیلی خوبی براتون درست کنه البته قبول دارم مشارکت کردن توی این پروژه ها کار ساده ای نیست و چیز های زیادی قبلش باید بدونید اما اگه میتونید توی این پروژه های مشارکت کنید حتما اینکارو بکنید چون رزومه خوبی براتون میشه و حتما بنفعتون میشه البته اگه میخواین شروع کنین و نمیدونین اینکارو از کجا شروع کنین جادی اینجا بخوبی راهنمایی کرده6:چرا بیشتر روی طراحی الگوریتم ها و ساختمان داده ها کار نکردم؟طراحی الگوریتم ها چیزیه که شمارو تبدیل به یک برنامه نویس خوب میکنه و البته اگه خواستید میتونید اینجا بطور مجانی بخوبی یاد بگیرید و تمرین کنید و البته اگه حرفه ای تر هستید باید بیشتر تمرین کنید حتی پیشنهاد من اینه روی مسابقات ای سی ام هم سرمایه گذاری کنید7: نیم نگاهی به design pattern ها هم داشته باشید:از اول نباید نگران این باشید ولی وقتی حرفه ای تر شدین نگاه خوبی هم به این موضوع داشته باشید باعث میشه وقتی برای شرکتی مصاحبه کنید ندونستنشون باعث دردسر بشه!!8:حتما گیت رو یاد بگیرین!!بنظرم گیت بشدت مهمهاگه بلد نیستین همین الان شروع کنید به یادگیریش منابع خوبی توی یوتیوب هست و البته به فارسی هم گوگل کنید نتایج خوبی رو میاره و البته بهتون میگه چی هست و به چه دردی میخوره9:ریاضیات رو جدی بگیرید!!این برای کسایی هست که میخوان هوش مصنوعی بخونن اگه به هوش مصنوعی علاقه مند هستید حتما ریاضیات رو بخوبی یاد بگیرید و علاوه بر چیزایی که تو دانشگاه پاس میکنید جبر خطی رو هم بخوبی یاد بگیرید10:فکر نکنید چون لینوکس رو (به صورت سطحی) بلدید خیلی خفنید!!البته که بلد بودن لینوکس خوبه و من بارها بلد بودن لینوکس بنفعم بوده البته که برتری هایی میاره اما فکر نکنید با بلد بودن یا حتی نصب کردن لینوکس(مخصوصا نسخه اسم بد درفته کالی) خیلی هکر خفنی هستید یا کلا شاخید بقیه باید شاگردیتونو بکنن!!11:در اسرع وقت کار پیدا کنید!!بله اگه زودتر کار پیدا نکنید(البته که منظورم کاراموزیه) به احتمال زیاد پشیمون میشید.کار هم باعث میشه چیز یاد بگیرید هم رزومه خوبی میشه برای کارای بعدی12:اگه میخواید برید خارج حتما معدل خوبی بیاریدامیدوارم توصیه های من رو بخونید و خوشتون بیاد اگه غلط املایی یا غلط انشایی دارم به بزرگی خودتون ببخشید و اگه نکته ای هست که اشتباه گفتم یا کم گذاشتم خیلی ممنون میشم بهم تذکر بدین حتی اگه این متن باعث بشه یک نفر هم راه درست رو بره و از گذشتش راضی باشه من به هدفم ازین متن رسیدم