به عنوان کسی که برای مدت طولانی است به توسعهدهندگان مبتدی، برنامهنویسی را آموزش میدهم باید بگویم که صحبتهای بسیار عجیب و غریبی را بین این افراد میشنوم. سخنها و سوالاتی که اگر ریشهای به آنها نگاه کنید متوجه میشوید که اساس خاصی ندارند. برخی از این افراد به افسانههایی اعتقاد دارند که من در این مطلب قصد دارم در رابطه با آنها صحبت کنم و دلیل وجود آنها را بررسی نمایم.
۱. برای یادگیری برنامهنویسی باید به دانشگاه رفت
اغلب اوقات این موضوع را میشنوم که میگویند برای یادگیری برنامهنویسی و استخدام شدن در یک شرکت باید حتما به دانشگاه رفت. شما حتما باید ۴ تا ۵ سال را با نودلهای سریع بگذرانید و در نهایت یک مدرک بگیرید در غیر اینصورت نمیتواند به عنوان یک توسعهدهنده نرمافزار خودتان را معرفی کنید. البته برای برخی از شرکتها این موضوع وجود دارد که شما حتما باید مدرک دانشگاهی داشته باشید اما این موضوعی است که شرکتهای بزرگ از آن گذر کردهاند و دیگر برایشان اهمیتی ندارد.
من نمیگویم که همه باید مانند استیو جابز و مارک زاکربرگ رفتار کرده و دانشگاه را رها کنند، اما این قضیه که شما تنها در دانشگاه برنامهنویسی را یاد میگیرید درست نیست، چرا که زمانه تغییر کرده است.
اگر شما یک توسعهدهنده خودآموز باشید میتوانید تواناییهای مختلفی بدست آورده و حتی یک شغل را برای خودتان دست و پا کنید.
۲. برای برنامهنویس شدن باید ابتدا ریاضیدان باشید
اگر میخواهید برنامهنویس باشید حتما نیازی به یادگیری ریاضی ندارید، من خودم دیروز سر پرداخت کردن یک قبض مقداری را تقسیم کردم و بعد از سه بار انجام این کار هر بار به مقدار عجیبی میرسیدم! شما به دانش ریاضی نیازی ندارید بلکه نیاز است که مانند یک ریاضیدان فکر کنید. منظور این است که بتوانید دانش حل مسئله و فکر منطقی را بالا ببرید. ریاضی یکی از راههایی است که میتوانید از طریق آن به این دانش برسید. برای مطالعه بهتر این موضوع میتوانید به مطلب «آيا برنامهنویسی به دانستن ریاضیات نیازمند است؟» مراجعه کنید
۳. نیاز است که در ساختمان داده و الگوریتم متخصص باشم
برای مدت طولانی یک برنامهنویس جونیور بودم، برای مدتی تبدیل به یک سنیور شدم و حال یک تیم را مدیریت میکنم و باید بگویم که تنها زمانی که نیاز به استفاده از ساختمان دادههایی مانند مرتبسازی حبابی، مرتبسازی سریع، جستجوی باینری و… را داشتم در زمان انجام یک مصاحبه کاری بود. به عنوان بخشی از کارتان مخصوصا اگر توسعهدهنده وب باشید بسیار کم پیش خواهد آمد که به این موضوعات نیازی پیدا کنید.
البته یادگیری ساختمانهای داده و الگوریتم میتواند توانایی حل مسئله و داشتن فکر منطقی در شما را بسیار بالا ببرد. اگر بخواهید که به سمت برنامهنویسی علمی، هوش مصنوعی و… بروید یادگیری این موارد میتوانند بسیار کاربردی باشند.
۴. نیاز است که تمام زبانها و تکنولوژیها را بلد بود
لیستی از موضوعاتی که من میدانم: جاوااسکریپت، نودجیاس، ریاکتجیاس، ریاکت نیتیو، جاوا، HTML/CSS، REST API، داکر، دستورات پایهای شِل، مقدماتی از شبکه و چند الگوی طراحی.
لیستی از موضوعاتی که من نمیدانم: انگولارجیاس، ویوجیاس، پیاچپی، گرافکیوال، پایتون، روبی، پیاچپی، تایپاسکریپت، سرورلِس، سی/سیپلاسپلاس، سوئیفت و… .
هیچکسی نمیتواند همه تکنولوژیها را یاد بگیرد. و هیچکسی هم به انجام چنین کاری نیاز ندارد. شرکتها بیشتر به دنبال کسی هستند که در یک زبان برنامهنویسی تخصص داشته و میتواند کارهای مختلفی را انجام دهد. نیازی به کسی که از تکنولوژیهای مختلف دانش سطحی دارد نیست.
۵. تنها در چند ماه میشود یک شغل داشت
اگر این قضیه واقعیت داشت همه مردم در حال یادگیری برنامهنویسی بودند تا بتوانند در چند ماه در یک شغل استخدام شوند. بسیار مهم است که استرس را از خودتان دور کرده و نگاهی واقعیتر به مسائل بیاندازید. باید یاد بگیرید که قبل از شروع راه خود انتظارات عجیب و غریبی نداشته باشید در غیر این صورت سرخورده خواهید شد.
نیازی نیست که لپتاپ را کنار گذاشته و بگویید دیگر برنامهنویسی نمیکنم، نه! همیشه یکسری استثنا وجود خواهد داشت اما چیزی که من میگویم این است که استخدام شدن در یک شرکت نیاز به زمان بیشتری دارد.
چه میزان زمان میخواهد؟ خب این موضوع به چند فاکتور بستگی دارد:
- میزان زمان آزاد شما
- میزان سرعت شما برای یادگیری تکنولوژيها
- میزان علاقه شما
- وجود شرکتهایی که به استخدام افرادی مانند شما علاقه داشته باشد
- میزان عالی بودن رزومه کاریتان
اگر چند ماهی است که مشغول برنامهنویسی هستید و نتوانستهاید پیشرفتی در خودتان ببینید نیازی به تسلیم شدن نیست. برای من بیش از ۲۰ مصاحبه کاری لازم بود تا بتوانم اولین کار خود را پیدا کنم.
۶. برای یادگیری برنامهنویسی پیر هستم
این حرف همیشه من را یاد سکانسی از جنگ ستارگان میاندازد که در آن Yoda میگوید: «من برای یادگیری بسیار پیر هستم.» خوشبختانه شما تنها میخواهید برنامهنویسی یاد بگیرید نه اینکه تبدیل به یک استاد Jedi شوید «البته تا آنجایی که ما میدانیم!». بنابراین شما برای یادگیری نیازی ندارید که از پنج سالگی شروع کنید.
واقعیت این است که اگر یکسری از تکنولوژیها را به خوبی بدانید میتوانید در یک شغل استخدام شوید، فارغ از آنکه چند سال سن دارید. یک نکته مثبت این ماجرا هم با تجربه بودن شما در زمینههای مختلف است. مطمئنا هر کاری که قبلا انجام میدادید با یکسری فکر و چالش روبرو بوده، عادت داشتن به روبرو شدن با این موارد میتواند از شما برنامهنویس خوبی بسازد.
مدتی پیش با یک خانم کار میکردم که در دهه ۴۰ سالگی زندگیاش بود و قصد داشت کدنویسی را یاد بگیرد. این خانم صاحب کافه خودش بود و میخواست برای کارش یک وبسایت را راه بیاندازد. بعد از مدتی یادگیری حال وبسایت خودش را دارد. در واقع از این داستانها کم نیستند، میتوانید چنین مواردی را در اینجا مطالعه کنید.
نگران بالا بودن سنتان نباشید شما در هر دورهای میتوانید کدنویسی را یاد بگیرید.
۷. همه در حال یادگیری برنامهنویسی هستند اما شغل به اندازه کافی نداریم
بله این موضوع درست است، افراد بسیار بیشتری در حال یادگیری برنامهنویسی هستند و از آنجایی که دنیا بیشتر و بیشتر در حال وابسته شدن به تکنولوژی است، کدنویسی در آینده درست به اندازه خواندن و نوشتن اهمیت پیدا میکند.
براساس چارت بالا میتوان متوجه شد که میزان شغلها تا سال ۲۰۲۰ در یک سیر صعودی قرار خواهد گرفت. همین حالا اگر در گوگل «استخدام برنامهنویس» را جستجو کنید با صدها کار مختلف روبرو خواهید شد.
۸. یادگیری کدنویسی گران تمام میشود
یادگیری کدنویسی برای هر دلیلی تفاوت چندانی با دیگر موضوعات ندارد. اگر میخواهید عکاسی را یاد بگیرید در قدم اول با یک دوربین ۳ هزار دلاری کارتان را شروع نمی کنید. اگر بخواهید شروع به دو بکنید با گرانترین کفش موجود شروع نمیکنید.
بجای اینها شاید با دوربین موبایل و یا کفش عادیتان پیش بروید. این کار باعث میشود که قبل از خرجهای زیاد مطمئن شوید که در میانه کار جا نخواهید زد و روند یادگیری را متوقف نمیکنید. برای برنامهنویسی نیز دقیقا به همین شکل است. منابع رایگان بسیار زیادی وجود دارد که میتوانید با آنها کارتان را شروع کنید. در نهایت میتوانید بعد از آنها سراغ دورههای حرفهایتر نیز بروید.
در پایان
خوشبختانه من در این مطلب توانستم ۸ افسانه که مردم به آنها اعتقاد دارند را حل کرده و دلایل منطقی برای تکیه نکردن به آنها را آوردم. مهم نیست که چه پس زمینهی کاری دارید در هر صورت میتوانید به یک برنامهنویس تبدیل شوید. سخت کار کنید، صبر داشته باشید و نتایج را ببینید.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید