در سال گذشته، Stack Overflow، یک سایت پرسش و پاسخ برنامه نویسی، از کاربران در مورد مدرک کامپیوتری آنها پرسید. نتایج حاصل از این بررسی ها شگفت انگیز بود. نزدیک به نیمی از 26086 توسعه دهنده که پاسخ دادند که دارای سواد علم کامپیوتر نیستند.

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

جان رید، مدیر ارشد اجرایی آژانس کاریابی Robert Half Technology، گفت بسیاری از شرکت های فن آوری خوب از مدرک دانشگاهی به عنوان یک راه اولیه برای هرس کردن نامزدها استفاده می کنند. برای مثال گوگل، با کاندیداهای مهندسی بدون مدرک اصلا مصاحبه نمی کند.

اگر چنین است، پس چرا بسیاری از مردم مدرک دانشگاهی ندارند؟ یکی از عوامل عمده این امر هزینه های گزاف دانشگاهها است. برای مثال در آمریکا ارزانترین گزینه کالج های عمومی دو ساله است که هزینه آن به طور میانگین برای یک سال 11438 دلار است و گرانترین گزینه کالج های خصوصی چهار سال با هزینه متوسط 43921 دلار برای یک سال است. البته این مبلغ جدا از سایر هزینه های زندگی است.

البته فاکتورهای دیگری هم وجود دارند. یکی از اینها برگزاری دوره های آنلاین کوتاه یا اردوهای آموزشی است که به شما اجازه می دهد آموخته ها را به صورت کاربردی یاد بگیرید و نیازی به گذراندن دوره دانشگاهی نداشته باشید.

اگر می خواهید یک مسیر غیرسنتی را برای یادگیری برنامه نویسی بگذرانید، در زیر چند راهنمایی برای شما آورده ایم:

1. به تنهایی کار نکنید

صرف نظر از اینکه بر روی یک پروژه مشابه کار می کنید، جایی پیدا کنید که بتوانید با برنامه نویسان دیگر با هم در یک محل کار کنید.

بدترین چالش در حال نوشتن یک کد به تنهایی این است که هیچ سرنخی در مورد آن نداشته باشید. اگر تنها نباشید می توانید آن را با کدهای دیگر مقایسه کنید.

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

فضاهای کاری مشترک این مزیت را برای شما دارد، که در آن می توانید با افراد همفکر کار کنید. برای این کار می توانید از  coworking space directory برای پیدا کردن افرادی در منطقه محلی خود استفاده کنید.

2.  ارتباطات قوی مهم تر از برنامه نویسی خوب هستند

یکی دیگر از پیامدهای مثبت تنهایی کار نکردن امکان ایجاد روابط در اوایل زندگی حرفه ای است.

هنگامی که شما یک رابطه قوی با همکاران خود ایجاد می کنید، به شما کمک می کنند مهارت های خود را با همسالان خود مقایسه کنید و مهارت های برنامه نویسی خود را در طول زمان بهبود بخشید.

3. آنچه را در علوم کامپیوتری نمی دانید یاد بگیرید

قاعده کلی این است که اگر در دانش اساسی از شش یا هشت کتاب استاد هستید، یک توسعه دهنده جامد محسوب می شوید.

برخی کتاب های توصیه شده در این زمینه برای طراحی الگوریتم، ریاضیات گسسته با برنامه های کاربردی، الگوهای طراحی J2EE است.

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

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

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

به عنوان مثال، کتاب Ruby on Rails را در نظر بگیرید. اولین فصل آن با مفهوم طراحی مدل-نما-کنترلگر آغاز می شود و هیچ توضیحی در مورد برنامه نویسی شی گرا نمی دهد و مفاهیم اولیه آن بیان نشده است.

4. چیزهایی را در ساخت نگه دارید

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

اگر برای اولین بار فکر ساخت یک برنامه برای موبایل دارید، پیشنهاد می شود Swift یا Objective C را برای iOS، برای اندروید جاوا، و برای ویندوز فون سی شارپ یا ویژوال بیسیک یا جاوااسکریپت را یاد بگیرید.

گزینه دیگر استفاده از فن آوری هایی مانند Phonegap و Titaniumبرای ایجاد یک برنامه است، که می تواند در هر سه سیستم عامل اجرا شود. این فن آوری به شما اجازه می دهد با استفاده از جاوااسکریپت، HTML و CSS برنامه بنویسید و برنامه های خود را در همه جا اجرا کنید.

5. یک شغل جانبی در تکنولوژی داشته باشید

شما نیاز به یک کار جانبی دارید زیرا یک کار می تواند مهارت های برنامه نویسی شما را بهبود بخشد.

بسته به اینکه به مهارت های برنامه نویسی چقدر پیشرفته است، می توانید از استارتاپ ها، Quality Assurance کمک بگیرید و یا به طور مستقل کار کنید.

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

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

اگر نمی توانید این کار را انجام دهید، کار کردن در یک QA می تواند به شما کمک کند مهارت های تکنیکی خود را بهبود بخشید.

کار در QA مستلزم شناسایی مسائل در یک محصول و پیشنهادات تغییر و تعمیر است، که این یک پایه هسته ای برای حل مسئله در برنامه نویسی است.

مزیت خوب در مورد کار کردن در QA این است که به مهارت های فنی خود اعتماد به نفس پیدا می کنید.

آخرین گزینه این است که در مورد هرچیزی مستقل کار کنید. برای مثال وب سایتی مانند  Upwork شمال لیستی از انواع شغل های مرتبط به تکنولوژی اعم از توسعه وب سیات و موبایل و طراحی و بازاریابی است.