بگذارید این را به شما بگویم: اگر هدف شما تبدیل شدن به یک “توسعه دهنده نرم افزار” است، زمان و پول خود را برای دریافت مدرک دانشگاهی در علم کامپیوتر هدر ندهید. من هشت سال زندگی ام را در دو دانشگاه مختلف گذراندم. یکی در ایران، که در آن من لیسانس خود را در رشته ی مهندسی نرم افزار دریافت کردم و دیگری در استرالیا، جایی که من کارشناسی ارشد خود را در سیستم های شبکه (Network Systems : شبکه های کامپیوتری) دریافت کردم.

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

برای چیزی که نیازی ندارید هزینه می کنید

شما برای چیزی که نیازی ندارید هزینه می کنید

در چارت مهندسی نرم افزار من، من مجبور شدم تعداد زیادی از موضوعات را که با مهندسی نرم افزار ارتباط ندارند بگذرانم: ریاضیات، فیزیک، مطالعات دینی، ادبیات فارسی، دانش جمعیت و خانواده (بله، خنده داره، درسته؟)، تاریخ اسلام و غیره. من هیچ علاقه ای به این موضوعات نداشتم، اما مجبور شدم آنها را بردارم و برای آنها هزینه و زمان بگذارم.

از بین ۴۰ تا ۵۰ موضوع، فقط تعداد کمی از آنها مفید بودند و تفکر من را تغییر دادند، از جمله:

  • اصول برنامه نویسی با پاسکال
  • برنامه نویسی پیشرفته با C
  • زبان اسمبلی
  • ساختار داده ها و الگوریتم ها

اگر دوره های آنلاین را انتخاب کنید، “شما” می توانید موضوعاتی را که “شما” علاقه مند آن هستید را انتخاب کنید. مجبور نیستید برای آنچه که لازم ندارید هزینه و زمان بگذارید.

وقت خود را با موضوعات قدیمی تلف می کنید

وقت خود را با موضوعات قدیمی تلف می کنید

چارت های دانشگاهی اغلب ۲۰ سال عقب تر از آن چیزی است که امروزه در صنعت نرم افزار اتفاق می افتد. مگر اینکه چیزهایی را خودتان یاد بگیرید. زمان که فارغ التحصیل شدید به سختی می توانید شغلی پیدا کنید؛ زیرا مهارت هایی که کارفرمایان به آن نیاز دارند را نیاموخته اید. دوره های آنلاین مبتنی بر آنچه که در حال حاضر در صنعت اتفاق می افتد، هستند؛ نه سی سال پیش! آنها همه ی این نظریه های فسیلی را که لازم ندارید، ندارند.

آموزش با کیفیت دریافت نمی کنید

شما آموزش با کیفیت دریافت نمی کنید

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

میخواهید چیزی خنده دار بشنوید؟ آیا چیزی از ASCII شنیده اید؟ اگر نه، آن مخفف کلماتAmerican Standard Code for Information Interchange است. اساسا یک جدول است که کاراکتر ها را به اعدادی مپ می کند که می توانند در حافظه کامپیوتر ذخیره شوند. من یک مدرس داشتم که آن را به عنوان ASCI TWO تلفظ می کرد! او فکر کرد II عدد دو بود!

البته، من نمیگویم هر مدرس دانشگاهی مثل این است. من مطمئن هستم که استادان ماهر بسیاری وجود دارند، اما آنها اغلب در اقلیت هستند.

با دوره های آنلاین، “شما” مدرسانی را که دوست دارید را انتخاب کنید. شما یک مدرس را دوست ندارید؟ فکر می کنید او بیش از حد صحبت می کند؟ یا خسته کننده است؟ یا تجربه صنعتی ندارد؟ خوب. یک دوره آنلاین دیگر را انتخاب کنید!

چه زمانی آموزش دانشگاهی خوب و لازم است؟

چه زمانی آموزش دانشگاهی خوب و لازم است؟

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

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

سوال این است: چیکاره میخوای بشی؟ یک توسعه دهنده نرم افزار یا یک محقق؟

درمورد بدست آوردن یک شغل به عنوان توسعه دهنده نرم افزار چطور؟

خوشبختانه، بسیاری از شرکت ها متوجه شده اند که داشتن مدرک دانشگاهی یک نفر را برنامه نویس نمی کند؛ همانطور که داشتن گواهینامه ی رانندگی، یک راننده را تبدیل به راننده ی خوب و ایمن را نمی کند. این فقط یک قطعه کاغذ است و معنی چیزی نیست!

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

Mosh Hamedani

منبع : https://goo.gl/8QqC91