برای کسانی که میخواهند کدنویسی بیاموزند، ممکن است در ابتدا قدم گذاشتن در این جهان عظیم و نامتناهی، دلهرهآور و سخت به نظر برسد. اما نکته اینجاست که منابع ارزان و یا حتی رایگانی وجود دارند که میتوان از آنها برای آموختن کدنویسی و تمامی تکنیکهای جدید کمک گرفت و فرایند یادگیری کدنویسی را سرگرمکننده و هیجانانگیز کرد.
فرقی نمیکند شما یک فرد بزرگسالی باشید که میخواهید زمینه کاری خود را تغییر دهید و وارد صنعت فناوری شوید و یا اینکه دانشآموزی باشید که به دنبال یادگیری جدیدترین زبان برنامهنویسی هستید و یا حتی کسی که فقط از روی علاقمندی میخواهید سمت برنامهنویسی بیایید؛ تمام چیزی که برای شروع نیاز دارید یک کامپیوتر و دسترسی به اینترنت است. اما قبل از اینکه دست به کار شوید، میخواهیم در این مقاله یکسری نکات و منابع عالی به شما معرفی کنیم تا به درستی در مسیر خود قدم بگذارید.
از خودتان بپرسید: چرا میخواهم کدنویسی را یاد بگیرم؟
چند ساعت و یا حداقل یک روز را به فکر کردن درباره دلایل اصلی و واقعی یادگیری برنامهنویسی اختصاص دهید. با خودتان روراست و صادق باشید. آیا میخواهید با مباحث برنامهنویسی آشنایی داشته باشید تا بتوانید ترفیع شغلی بگیرید؟ آیا با یادگیری برنامهنویسی به دنبال تغییر اساسی در مسیر شغلی خودتان هستید؟ و یا اینکه میخواهید بهترین برنامه (Application) بعدی را بسازید؟
پاسخ شما به این سوالات میتواند مسیر را برایتان روشن کند که به سراغ کدام زبان برنامهنویسی بروید. برای مثال اگر رویای شما این است که بزرگترین سیستم عامل بعدی را ایجاد و یا یک نرمافزار جدید را جایگزین فوتوشاپ کنید بهتر است ابتدا به سراغ ++C بروید و سپس موضوعات پیچیدهتری را مانند ساختار داده و الگوریتمهای تخصیص حافظه بیاموزید.
برای آگاهی از برخی ویژگیهای حرفهی برنامه نویسی، میتوانید به مقالهی چرا برنامه نویسی شغل ایده آل ماست؟ مراجعه کنید.
زبان برنامهنویسی مناسب خودتان را انتخاب کنید.
وقتی که بدانید از کدنویسی چه میخواهید و هدفتان مشخص باشد آن موقع میتوانید به راحتی زبان برنامهنویسی مرتبط با آن را انتخاب و آموزش ببینید. باید همین جا به شما بگوییم که هیچ زبان برنامهنویسی وجود ندارد که بهترین و کاملترین زبان باشد. در عین حال بعضی از زبانها نسبت به بقیه زبانها کاربرپسند هستند و طرفداران بیشتری برای یادگیری دارند. به نظر میآید که HTML و CSS سادهترین نقاط ورود به دنیای کدنویسی هستند اما از آنها فقط میتوان برای توسعه وبسایتهای اولیه استفاده کرد. برای وبسایتهای تعاملی که شامل سیستم پرداخت و پایگاههای داده میشوند، باید JavaScript، PHP، SQL و Python بدانید تا بتوانید همه مولفهها را اجرا نمایید. برنامهنویسان اپلیکیشنهای موبایل از Swift یا C برای ساخت برنامههای IOS استفاده میکنند و برای ساخت برنامههای Android به سراغ Java یا Kotlin میروند. توسعهدهندگان بازیهای ویدیویی به Unity و #C روی میآورند تا ایدههای خود را به دنیای واقعی بیاورند.
اگر هنوز نمیدانید که به سمت یادگیری کدام زبان بروید فقط کافی است که یک زبان پیشنهادی و مورد تایید برنامهنویسان حرفهای را انتخاب کنید مانند #Python ،C و یا JavaScript. مهمترین کار این است که شروع کنید و قدم اول را بردارید. هر زبان برنامهنویسی را که انتخاب میکنید به اتمام برسانید و وقتی آشنایی کامل با آن پیدا کردید به سراغ یادگیری زبان بعدی بروید.
برای آشنایی بیشتر با زبان های برنامه نویسی پرطرفدار می توانید به مقالهی چطور برنامهنویسی را در سال 2022 شروع کنیم؟ مراجعه کنید.
دورههای آموزشی آنلاین را امتحان کنید.
اگر میخواهید کنترل بیشتری بر روی برنامه یادگیری خود داشته باشید، یک دوره آموزشی آنلاین، گزینه مناسبتری نسبت به بوتکمپهای (bootcamp) حضوری است. با این حال دورههای آنلاین بسیاری وجود دارند که باید در انتخاب آنها دقت کنید تا در زمان و هزینه نیز صرفهجویی کرده باشید.
اگر به صورت تکی و خودآموز، یادگیری شما سریعتر است، آموزشهای موجود در سایت سکان آکادمی بهترین راه برای تبدیل شدن از یک کدنویس مبتدی به یک برنامهنویس حرفهای است. نکته مهم اینجاست که بتوانید بعد از آموزش دورههای آنلاین مواردی که یاد گرفتهاید را به کار ببرید. به همین دلیل باید تمرینهای عملی و پروژههای اولیه نیز انجام و ادامه دهید.
می تونی خیلی سریع با کارراههی "برنامه نویس Front-End شو" وارد دنیای برنامه نویسی وب بشی! |
بر روی یادگیری تفکر و نگرش کامپیوتری تمرکز کنید.
به جای تمرکز بیش از حد بر روی یادگیری یک زبان برنامهنویسی خاص، سعی کنید که به مباحث حل مساله به روش درک رایانهای هم بپردازید. به عبارت دیگر مهارتهای خود را در مفاهیمی مانند تشخیص الگو، الگوریتمها، پردازش و تفکیک دادهها تقویت نمایید. همچنین یکسری عبارتها و ساختارهایی وجود دارند مانند Loops که در هر زبان برنامهنویسی که استفاده میکنید ظاهر میشوند. هرچه این اصول را بهتر درک کنید یادگیری زبان بعدی آسانتر خواهد شد. به لطف اینترنت و آموزشهای آنلاین دیگر نیاز نیست برای یادگیری علوم کامپیوتری، چهار سال را در دانشگاه بگذرانیم. در حال حاضر میتوانید بعد از دورههای آموزشی آنلاین مدرک معتبر و قابل ارائه نیز دریافت کنید.
کتاب بخوانید.
ممکن است یکی از بهترین راههای یادگیری کدنویسی مطالعه چند کتاب مختلف باشد. در حالت ایدهآل مطالعه کتاب برای یادگیری انسجام ذهنی بیشتری برای شما دارد تا اینکه بخواهید از یک دوره آنلاین به دوره دیگری پرش کنید و مطالب را جستهگریخته بیاموزید. احتمالا میتوانید برای هر زبان برنامهنویسی که مدنظر دارید یک کتاب الکترونیک در GitHub پیدا کنید. اما اکثر توسعهدهندگان وب، مجموعه رنگارنگ جان داکت (Jon Duckett) را به شدت توصیه میکنند. در سایت سکان آکادمی کتابهای کاربردی و مفیدی در رابطه با آموزش برنامهنویسی مانند کتاب Clean Code معرفی و ارائه شده است که میتوانید از این مطالب استفاده کنید.
چند تا از آموزشهای تعاملی یا بازیهای کدنویسی را امتحان کنید.
اگر دوره آموزشی آنلاینی را مشاهده کنید و کتابهایی را بخوانید، اما در زمان مواجهه با نوشتن و اجرای دو خط کد، از آن سر در نیاورید احساس ناامیدی به شما دست میدهد. به همین دلیل آموزشهای کدنویسی به صورت تعاملی حس خوبی را ایجاد میکنند و میتوانید در سرتاسر اینترنت به آنها دسترسی پیدا کنید. برای مثال FreeCodeCamp نه تنها مفاهیم کدنویسی را به بخشهای کوچک تقسیم میکند بلکه هر مفهوم را با یک تمرین مرتبط آموزش میدهد و تا تمرین را حل نکنید نمیتوانید به مرحله و آموزش بعدی بروید. به این ترتیب در حین یادگیری، اشکالات و ایرادهای احتمالی نیز برطرف میشود.
بازیهای کدنویسی نیز یک روش آموزشی سرگرمکننده هستند. اگر یک ساعت زمان برای وقتگذرانی دارید به سراغ بازیهای ساده Hour of Code بروید. برای مثال بازیهای Minecraft: education edition و CodinGame برای یادگیری کدنویسی طراحی شدهاند.
به سراغ اسباب بازیهای کدنویسی مخصوص کودکان بروید.
چه کسی میگوید که بزرگسالان نمیتوانند از همان اسباببازیهای STEAM/STEM و بازیهای ویدیویی که بچهها را درگیر کدنویسی میکنند آموزش ببینند؟ این محصولات برای آموزش منطق و نحوه برنامهنویسی بدون اینکه حوصله فرد سر برود و حواسش پرت شود طراحی و تولید شدهاند. اگر میخواهید رابطه بین سختافزار و نرمافزار را بهتر درک کنید، از نسخه دوم کیت کامپیوتری پایپر (piper computer kit 2) لذت خواهید برد.
ویدیوهای مربوط به کدنویسی تماشا کنید.
گاهی اوقات لازم است ابتدا کسی کاری را انجام دهد و ما با تکرار و انجام مجدد آن آموزش ببینیم. در حال حاضر میتوانید انواع و اقسام این ویدیوها را پیدا و نگاه کنید. اغلب کارمندان سابق گوگل از این قبیل ویدیوها در رابطه با راه حلهای مصاحبههای برنامهنویسی به اشتراک میگذارند و یا کاربران یوتیوب که مسابقات برنامهنویسی را به صورت زنده پخش میکنند و حتی پیشکسوتان برنامهنویسی که به شما نشان میدهند چگونه یک خطای خاص را به هر زبانی که میخواهید عیبیابی کنید. سپس آنها را بارها و بارها تکرار کنید و خودتان اجرا کنید. پیشنهاد میکنیم کانالهای CS Dojo، TheNetNinja و Harvard’s CS50 را در یوتیوب دنبال کنید. همچنین می توانید لیست جامع تری از کانال های مرتبط با کدنویسی در YouTube را در این مقاله مشاهده و آنها را دنبال کنید.
با گرفتن پروژههای کوچک تمرینات خود را تکمیل کنید.
مهم نیست که چند مدرک، گواهینامه و کارگاه برنامهنویسی را بگذرانید؛ باید مهارتهای خود را در پروژههایی که به اتمام میرسانید بسنجید. به سراغ پروژههای سنگین و جاهطلبانه نروید. پروژههای اولیه شما باید به گونهای باشد که طی یک هفته و روزی 7 ساعت برای توسعه و گسترش آن وقت بگذارید. با قدمهای کوچک شروع کنید اما بزرگ فکر کنید. پروژه شما باید شامل مهارتهایی باشد که در حال حاضر قادر به انجام آنها هستید. ولی همزمان باید برای کسب مهارتهای بعدی نیز برنامهریزی کنید. به همین ترتیب به مرور زمان با کسب مهارتهای بیشتر، پروژههای بزرگتری دریافت خواهید کرد. در طی این مدت نیز موفقیتهای خود را جشن بگیرید؛ هرچند کوچک و جزئی. تا برای ادامه دادن انگیزه لازم را داشته باشید.
پیامهای خطا را گوگل کنید.
این بهترین توصیه کدنویسی است. اگر نتوانستید متوجه شوید که چرا کد شما معیوب است همیشه راه حلهای آنلاین موجود هستند. خوشبختانه شما اولین کسی نیستید که میخواهید در این مسیر قدم بردارید و قبل از شما هم حتما این اشتباهات اتفاق افتادهاند. در نتیجه کافی است فقط همان پیام خطا را کپی و در گوگل جستجو کنید. بهتر است عبارت پیام خطا را در داخل گیومه قرار دهید و بعد جستجو نمایید. امیدواریم این ترفند کوچک شما را به پاسخ صحیح برساند. اگر از این طریق نتوانستید مشکل خود را برطرف کنید، در انجمنهای توسعهدهندگان مانند Stack Overflow و یا GitHub سوال خود را بپرسید.
کدهای دیگران را هک کنید.
شاید واژه هک کردن کد به معنای تقلب و سواستفاده از کد دیگران به نظر برسد اما در واقع قرار است شما از کدنویسی صحیح و بدون خطای دیگران آموزش ببینید و آن را مهندسی معکوس کنید. هزاران کد منبع باز وجود دارد که میتوانید با آنها تمرینات خود را ادامه دهید. به یاد داشته باشید که اگر استفاده از کد شخص دیگری در پروژه به شما کمک کرد حتما آن را به اشتراک بگذارید.
یک مربی بگیرید و یا خودتان به کسی دیگر آموزش دهید.
ممکن است بتوانید از طریق GitHub با مربیان و مشاوران حرفهای ارتباط برقرار نمایید و یا در رویدادهای مختلف با برنامهنویسان کاربلد آشنا شوید. سعی کنید ارتباطات خود را قوی کنید تا هم بتوانید هر از گاهی سوالاتتان را از آنها بپرسید هم در پروژههای بعدیشان به شما پیشنهاد کار بدهند. در ادامه مسیر خود به کسانی که تازهوارد هستند کمک کنید. راهنمایی افراد در حال آموزش، آموختههای خودتان را تقویت و به روز میکند.
حالا وقت شرکت در بوتکمپ است!
بوتکمپها دورههای آموزشی فشرده و معمولا سختی هستند که طی چند روز دانشی را به صورت حرفهای میآموزید. پس از گذراندن مراحل گفته شده بهتر است در بوتکمپها شرکت کنید تا هم دانش کدنویسی خود را بالا ببرید و هم ارتباطات موثر با بقیه افراد ایجاد نمایید. به طور کلی برنامهنویسی در بوتکمپها میتواند بحثبرانگیز باشد ولی مهارتهای زیادی در مدت کوتاهی به شما انتقال داده میشود. قبل از ثبت نام و شرکت در بوتکمپ حتما از قبل گزارشی از آن بدست آورید و مطمئن شوید که این بوتکمپ باعث افزایش اطلاعات شما خواهد شد.