اجازه دهید در مورد یک تصور غلط رایج در مورد برنامهنویسها صحبت کنم. این تصور که همهی برنامهنویسها نابغههایی با مهارتهای ریاضی فوقالعاده و هوش سرشار هستند، درست نیست. شما نیازی به نابغهی ریاضی بودن ندارید؛ بلکه به تمرکز و پشتکار نیاز دارید.
برای یک برنامهنویس، تمرکز اهمیت زیادی دارد. برنامهنویسی دربارهی حل مسئله است و حل مسئله زمان میبرد. گاهی ممکن است ساعتها یا حتی روزها روی یک بخش از کد کار کنید. اگر هر ۲۰ دقیقه توییتر خود را چک کنید یا ویدیوهای خندهدار ببینید، نمیتوانید تمرکز داشته باشید.
به عنوان یک برنامهنویس، ساعتها و ساعتها را جلوی صفحهی کامپیوتر و با نگاه کردن به کدی مانند این خواهید گذراند. مهم است از خودتان بپرسید که آیا این چیزی است که دوست دارید؟ میدانم که این کار برای همه مناسب نیست، اما برخی افراد، مانند من، عاشق برنامهنویسی هستند.
دومین ویژگیای که به آن نیاز دارید، کنجکاوی و اشتیاق به یادگیری است. زیرا نرمافزار و زبانهای برنامهنویسی دائما بهروزرسانی و بهبود مییابند. شما باید هر از گاهی چیزهای جدیدی یاد بگیرید. این روند هرگز متوقف نمیشود. بنابراین، برای اینکه با جدیدترین اتفاقات صنعت آشنا شوید، هر از گاهی مقالات، کتابها یا دورههای آنلاین را مطالعه کنید.
خوب، یک دهه پیش داشتن مدرک در رشتهی علوم کامپیوتر تنها راه ورود به صنعت برنامهنویسی بود. اما امروزه، سد ورود برای بسیاری از شرکتها بسیار پایینتر است. سطح مهارت فنی اثباتشدهی شماست که باعث میشود شغل را به دست آورید، نه مدرکتان.
خود من شخصاً در هیچکدام از مصاحبههایم در مورد مدرکم سؤال نشد. چیزی که اهمیت داشت این بود که میتوانستم کار را انجام دهم..
برخی افراد دوست دارند به دانشگاه بروند. شخصا فکر میکنم این کار اتلاف وقت و پول است، حتی با اینکه خودم مدرک کارشناسی ارشد دارم. اکثر برنامههای دانشگاهی مهندسی نرمافزار سه تا چهار سال طول میکشند، دهها هزار دلار هزینه دارند و تمایل دارند وقت زیادی را برای آموزش موضوعات منسوخ یا غیرمرتبط مانند فیزیک یا زیستشناسی صرف کنند.
علاوه بر این، بر اساس تجربهام، به احتمال زیاد، فردی که به شما آموزش میدهد یک دانشجوی دکتری است که به دنبال درآمد جانبی است، نه کسی با تجربهی واقعی در صنعت. در نتیجه، بسیاری از دانشجویان چهار سال را در دانشگاه میگذرانند، با ۳۰ هزار دلار بدهی وام دانشجویی فارغالتحصیل میشوند و متوجه میشوند که حتی نمیتوانند یک اپلیکیشن ساده بسازند.
اگر با این موضوع موافق نیستید، اشکالی ندارد. دانشگاهها میتوانند مکان خوبی برای برقراری ارتباط و تبدیل شدن به یک فرد کارآمد باشند، اما اگر میخواهید برنامهنویسی را به اندازهی کافی برای به دست آوردن شغل یاد بگیرید، باید آن مهارت را به طور مستقل یاد بگیرید. دانشگاه این مهارت را به شما آموزش نمیدهد.
.
خبر خوب این است که منابع زیادی از جمله کتابها و دورههای آنلاین دربارهی موضوعات مختلف وجود دارد. جامعهی برنامهنویسی بسیار بزرگ و حمایتی است. بنابراین، اگر میخواهید وارد حوزهی برنامهنویسی شوید، دنیایی از منابع آموزشی در دسترس شماست.
میتوانید تصمیم بگیرید که چه میخواهید یاد بگیرید و آن را دنبال کنید. نیازی نیست وقت خود را برای مطالعهی موضوعات غیرمرتبط و پرداخت هزینه برای آنها تلف کنید.
این موضوع تا حدودی سلیقهای است و بستگی به این دارد که چه کسی از شما میپرسد و میخواهید چه چیزی بسازید.
بسیاری از افراد به مبتدیان میگویند که HTML و CSS یاد بگیرند، اما در واقع اینها زبانهای برنامهنویسی نیستند. آنها زبانهای نشانهگذاری هستند که برای توصیف ظاهر یک وبسایت یا برنامهی موبایلی استفاده میشوند.
بنابراین، اگر میخواهید یک برنامهنویس شوید، باید یک زبان برنامهنویسی واقعی یاد بگیرید که بتوانید از آن برای تعریف نحوهی کار یک برنامه استفاده کنید.
زبانهای برنامهنویسی مختلفی مانند جاوا اسکریپت، سی++، سی شارپ، جاوا، پایتون، روبی و PHP وجود دارد. هر زبانی مزایا و معایب خاص خود را دارد.
به عنوان مثال، اگر میخواهید چیزی بسازید که عملکرد در آن نقش اساسی دارد، احتمالاً میخواهید از سی++ (بخوانید: سی پلاس پلاس ) استفاده کنید.
اما از طرف دیگر، این موضوع با هزینهی نگهداری همراه است، زیرا سی++ زبان پیچیدهای است.
اگر میخواهید یک برنامهی آیفون بسازید، باید سوئیفت یاد بگیرید و به یک کامپیوتر مک هم نیاز دارید. برای اندروید، باید جاوا یا کاتلین یاد بگیرید.
من به شما توصیه میکنم درگیر این تفاوتهای ظریف بین زبانهای برنامهنویسی نشوید.
هنگامی که یک زبان را یاد گرفتید، یادگیری زبانهای دیگر خیلی سریعتر خواهد بود، زیرا اکثر این زبانها پایههای یکسانی دارند.
اگر به فرانت اند و ساخت برنامه های دنیای وب و جاوا اسکریپت علاقه ندارید و وقت زیاد هم دارید: از بین تمام این زبانها، من به شما یادگیری پایتون را توصیه میکنم، زیرا:
اما البته، این درامد بیشتر مستلزم داشتن مهارتهای اضافی است. بنابراین، با خواندن یک کتاب پایتون، یادگیری تمام نمیشود و سالی 160 هزار دلار درآمد نخواهید داشت. اینطور نیست. اما یادگیری پایتون فرصتهای زیادی را برای شما باز میکند. بنابراین، برای حال حاضر، من به شما توصیه میکنم که فقط روی پایتون تمرکز کنید.یکی از مشکلات رایج در بین مبتدیان این است که سعی میکنند همزمان چندین زبان را یاد بگیرند.
آنها کمی پایتون یاد میگیرند، سپس میشنوند که جاوا اسکریپت خیلی محبوب است، بنابراین پایتون را رها میکنند و شروع به یادگیری جاوا اسکریپت میکنند.سپس، شخص دیگری در مورد PHP به آنها میگوید و آنها PHP را نیز یاد میگیرند. این روش جواب نمیدهد.
یادگیری چندین ساز موسیقی به طور همزمان به این صورت است که شما نمیتوانید حتی یک آهنگ را با هیچ کدام از آنها بنوازید. ابتدا یک ساز را یاد بگیرید، مطمئن شوید که میتوانید چند آهنگ بنوازید، سپس سراغ ساز دوم بروید.
به همین ترتیب، ابتدا پایتون را یاد بگیرید، مطمئن شوید که اصول برنامهنویسی را به خوبی میدانید، چند برنامه بسازید، و سپس سراغ زبان دوم بروید.
آموزش پایتون برای مبتدیان من یک مقدمه عالی برای پایتون است و به شما اصول برنامهنویسی را آموزش میدهد. نکتهی جالب در مورد یادگیری برنامهنویسی این است که شما دائماً در حال انجام آن هستید. 30 درصد از زمان خود را صرف مطالعه و 70 درصد را صرف تمرین میکنید. اینطور نیست که برای سه ساعت بنشینید و چیزی خستهکننده مانند تاریخ را مطالعه و حفظ کنید.
شما در حال حل مسئله هستید، به راهحلهای مختلف فکر میکنید، با کد خود بازی میکنید و نتیجه را مشاهده میکنید. اگر کار نمیکند، اشکالی ندارد، چیز دیگری را امتحان کنید. این فرآیند بسیار عملی است.
واقعاً به زمان بستگی دارد، اما اگر بتوانید به طور متوسط هر روز دو ساعت را به برنامهنویسی اختصاص دهید، پس از 2 تا 3 ماه باید بتوانید برنامههای سادهای بنویسید.
پس از آن، به 3 تا 6 ماه دیگر زمان نیاز دارید تا در یک زمینه خاص مانند توسعه وب، توسعه موبایل یا علم داده تخصص پیدا کنید.
بنابراین، در مجموع، من میگویم که شما باید 6 تا 12 ماه از زمان خود را صرف مطالعه و تمرین برنامهنویسی برای آمادگی جهت ورود به بازار کار کنید.
در آن زمان، میتوانید اولین شغل خود را به عنوان یک توسعهدهندهی نرمافزار مبتدی با حقوق متوسط (60 تا 70 هزار دلار در سال اگر در خارج از ایران کار پیدا کنید) به دست آورید. سپس، با کسب تجربه بیشتر در صنعت، رزومهی شما جذابتر خواهد شد و به راحتی میتوانید سالانه حقوق بالایی (100 تا 120 هزار دلار یا حتی بیشتر اگر در خارج از ایران کار پیدا کنید) درخواست کنید.
اگر آماده هستید، من شما را تشویق میکنم که با تعهد به صرف دو ساعت در روز برای مطالعه و تمرین برنامهنویسی شروع کنید. از قسمت نظرات زیر برای اطلاع من و دیگران از دلیل تمایل به یادگیری برنامهنویسی استفاده کنید. من عاشق شنیدن داستان شما هستم!
قبل از اینکه برای اولین شغل خود درخواست دهید، رزومهی شما خالی است و سابقهی کاری ندارید. اشکالی ندارد، نگران نباشید. بسیاری از افراد به دلیل عدم سابقهی کاری وحشت میکنند، اما این موضوع برای برخی از شرکتها مهم است، نه همه.
شرکتهای زیادی هستند که توسعهدهندگان مبتدی را استخدام میکنند و به آنها آموزش میدهند، زیرا این کار برایشان ارزانتر از استخدام یک توسعهدهندهی ارشد است. بنابراین، در مصاحبهی شغلی، آنها میخواهند بدانند که آیا شما متعهد و یادگیرندهی سریعی هستید یا خیر.
اگر سوالی را نمیدانید، اشکالی ندارد. فقط به آنها بگویید که شما یک یادگیرندهی سریع هستید و واقعاً میخواهید این شغل را به دست آورید زیرا عاشق برنامهنویسی هستید و میخواهید رشد کنید. اشتیاق خود را برای کار با آنها نشان دهید. این به شما کمک میکند تا متمایز شوید و امیدوارم شغلی را که میخواهید به دست آورید.
همچنین، کار روی برخی از پروژههای شخصی در حین یادگیری بسیار مفید است. به وبسایتها و برنامههایی که استفاده میکنید فکر کنید و سعی کنید نسخهی سادهتر آنها را بسازید و آن را در رزومهی خود قرار دهید. میتوانید کد خود را در github.com آپلود کنید و لینک آن را در رزومهی خود قرار دهید.
اگر سوال دیگری دارید، در قسمت نظرات زیر از من بپرسید.