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