اکثر افراد حوصله یا زمان کافی برای یادگیری یک مهارت جدید را ندارند. یادگیری یک زبان برنامهنویسی هم از جمله مهارتهای نسبتاً دشوار و زمانگیر است. علاوه بر آن، انتخاب اینکه چه زبان برنامهنویسی را چه موقع و چگونه یاد بگیرید، خود فرآیندی زمانبر است.
با وجود تنوع کلاسها، کارگاههای آموزشی، ویدئوها، نرم افزارهای آموزشی و کتابهایی که برای انتخاب وجود دارند، و از طرفی وجود زبانهای مختلف و متفاوت، تصمیم گیری دربارهی اینکه کدام روش یادگیری و کدام زبان برنامهنویسی شما را سریعتر به هدفتان میرساند کمی گیج کننده است. با رعایت نکاتی کوچک میتوانید زمان بیشتری را روی کدنویسی و زمان کمتری را روی تصمیم گیری صرف کنید.
سه حالت بسیار معمول را در نظر بگیریم: دستهی اول کسانی هستند که قصد دارند برنامهنویسی را شروع کنند. دستهی دوم افرادی هستند که میخواهند با افزایش مهارتهای خود در برنامهنویسی موقعیت شغلی بهتری پیدا کنند، و در آخر دستهی سوم کسانی هستند که کار آنها به نوعی با برنامهنویسها و کدنویسی مرتبط است و تنها قصد دارند با اصول برنامهنویسی آشنا شوند.
کارآفرینها
فرض کنید ایدهای خلاقانه برای ساخت یک اپلیکیشن موبایل به ذهنتان رسیده است؛ ایدهای که به عقیدهی خودتان پتانسیل بسیار بالایی برای موفقیت دارد. اما نمیدانید این ایده را چطور به یک پروژهی واقعی تبدیل کنید. اگر یک توسعه دهنده و کارآفرین مشتاق هستید و تجربهی کمی در علوم کامپیوتر دارید، تلاش برای اینکه خودتان به صورت خودآموز برنامهنویسی را یاد بگیرید میتواند بسیار مشکل باشد.
اگر هیچ پیشزمینهای در کدنویسی نداشته و مطمئن نیستید که باید از کجا شروع کنید، خودآموزی شاید گزینهی مناسبی برای شما نباشد. به جای آن بهتر است که در دورههای آموزشی برنامهنویسی شرکت کنید.
در این دورهها تمام آنچه برای یادگیری برنامهنویسی نیاز دارید موجود است؛ از مربیان مجرب گرفته تا منابع آموزشی مورد نیاز، همه چیز در اختیار شما است. از نکات منفی این روش هم میتوان به قیمت بالا و وقتگیر بودن این دورهها اشاره کرد؛ بطوریکه برای گذراندن بعضی از آنها باید به مدت یک تا سه ماه به صورت تمام وقت در کلاسها شرکت کنید. اگر مشکل مالی ندارید، شرکت در این دورهها قطعاً یکی از بهترین جاهایی است که میتوانید برنامهنویسی را شروع کنید.
دورههای آموزشی آنلاینی هم وجود دارند که میتوانید در آنها شرکت کنید. Coding Dojo و Bloc از جمله بهترین دورههای آموزشی آنلاین هستند.
نکتهی مهم، به خصوص اگر قصد ساختن اپلیکیشن برای تلفنهای هوشمند را دارید، یادگیری برنامهنویسی مخصوص موبایل است. برای مثال اگر میخواهید اپ خود را برای iOS توسعه دهید، سوئیفت (Swift) یک زبان عالی برای شروع به کار است. هر چند میتوان از Objective C هم استفاده کرد، اما توصیه میشود با روشهای آسان کار خود را شروع کنید. در مورد برنامه نویسی برای اندروید هم اگرچه ابزارهای زیادی وجود دارند، اما یکی از آسانترین روشها برای شروع استفاده از Android Studio است.
برنامه نویسان سنتی
چیزی که برنامه نویسی را از دیگر مهارتها متمایز میکند این است که فرآیند یادگیری در آن هیچگاه تمامی ندارد. در طول زمان، کسب و کارها اولویت خود را به زبانهای خاصی میدهند و به برنامهنویسهایی که در آن زمینه قدرت بیشتری دارند، لطف بیشتری نشان میدهند. اگر دارای پیشزمینه در برنامهنویسی بوده و با کدنویسی به صورت کلی آشنایی دارید، اما میخواهید در زمینهای خاصی متخصص شوید یا مهارتهای دیگری یاد بگیرید تا در بازار کار موفقتر ظاهر شوید، نکات مهمی وجود دارند که با رعایت آنها وقت و انرژی خود را بیهوده تلف نخواهید کرد.
اگر میخواهید به صورت خودآموز کدنویسی را بیاموزید، چه از طریق کتاب و چه از طریق دورههای آموزش رایگان آنلاین، توصیه میشود قبل از شروع نگاهی به آگهیهای استخدام انداخته و موقعیتهای شغلی و زبانهایی که احتیاج دارند را بررسی کنید.
به صورت کلی در حال حاضر چندین حیطه بسیار داغ و جذاب هستند. شرکتها به دنبال افرادی میگردند که تجربهی کار با AWS یا کار کردن با API ها را داشته باشند و خیلیها به دنبال توسعهدهنده با تسلط کافی به روبی آن ریلز (Ruby on Rails) هستند. علم دادهها هم در حال حاضر رو به رشد است و یادگیری دربارهی محاسبات بزرگ (مثلاً با استفاده از هدوپ (Hadoop)، که به شما اجازه میدهد محاسبات دادهای را روی هزاران کامپیوتر اجرا کنید) باعث میشود که مهارت منحصر به فردی داشته باشید که افراد زیادی از آن بهرهمند نیستند.
هنگامی که زبان بعدی که قرار است یاد بگیرید را انتخاب کردید (یا تصمیم به تقویت مهارتهای خود در زبانی که از قبل به آن مسلط هستید گرفتید)، این زبان چه روبی آن ریلز باشد، چه پایتون (که برای استخدام در شرکتهای بزرگ بسیار مهم است) یا جنگو، مهارتهای غیر مرتبط با برنامهنویسی زیادی هم وجود دارند که باعث میشوند برای شرکتها جذاب شوید. برای مثال تسط بر Git و Github برای تبدیل شدن به یک برنامهنویس بهتر در طول زمان ضروری است.
البته توجه داشته باشید که تمام اینها باید در خدمت پر بارتر کردن هرچه بیشتر رزومهی شما باشند. داشتن مدرک مهندسی نرمافزار یا علوم کامپیوتر دیگر مانند گذشته مهم نیست. برای استخدام شدن در شرکتهای خصوصی و استارتآپها داشتن یک رزومهی قوی بسیار موثرتر از مدرک دانشگاهی است.
مدیران اجرایی
دستهی آخر از کسانی که به برنامهنویسی علاقه دارند، مدیرانی هستند که میخواهند چیزهای جدید یاد بگیرند؛ مدیران سطح بالایی که در شرکت خود با تعداد زیادی برنامهنویس کار میکنند و دوست دارند بدانند فرآیند توسعهی یک نرمافزار به چه صورت است تا بتوانند برنامهریزی زمانی و بودجه بندی مناسبی داشته، تیم خود را بهتر مدیریت کرده و از کارمندان خود انتظارات معقولی داشته باشند.
این گروه از افراد یک ویژگی خاص دارند: آنها احتیاجی ندارند به این فکر کنند که برای موفقیت باید به دنبال آموزش چه زبانی بروند، چرا که آنها از قبل صاحب یک کسب و کار موفق هستند.
برای پیشرفت شرکت و ارتباط موثر بین افراد متخصص و غیر متخصص، درک مبانی برنامهنویسی کمک میکند تا تمام تیم بازده بیشتری داشته باشد و بهینهتر عمل کند. آشنایی اندک با برنامهنویسی باعث میشود با کارکنان زیردستتان بهتر ارتباط برقرار کرده و تصمیمهای عاقلانهتری برای اختصاص منابع بگیرید.
نکتهی دیگری که یادگیری برنامهنویسی برای مدیران را راحتتر میکند این است که صرف نظر از نوع زبانی که آن را یاد میگیرند، با شروع یادگیری هر زبانی با اصول برنامهنویسی آشنا خواهند شد. منابع آنلاین خوبی مثل لیندا، اودمی وآموزش یک ماههی برنامهنویسی وجود دارند که بسته به سلیقهی خودتان میتوانید از بین آنها انتخاب کنید. تمامی این دورهها شما را با اصول اولیه آشنا خواهند کرد.
پس میتوانید از همین امروز شروع کنید: پروژهی برنامهی موبایلی که در سر دارید را به واقعیت تبدیل کرده، موقعیت شغلی بهتری پیدا کرده یا با مجموعهی مهندسان خود راحتتر ارتباط برقرار کرده و بهتر مدیریت کنید.