چیزی که در یک سال کدنویسی یاد گرفته‌ام

ترجمه و تالیف : عرفان کاکایی
تاریخ انتشار : 13 خرداد 98
خواندن در 4 دقیقه
دسته بندی ها : برنامه نویسی

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

چیزی که در یک سال کدنویسی یاد گرفته‌ام

پیشرفتی که در سال اخیر داشتم، من را شگفت‌زده کرد. من می‌خواهم داستان خود تا به اینجا را تعریف کنم، تا به هر کسی که شک دارد به زمینه کدنویسی وارد شود یا نه، کمک کنم.

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

از این رو، اگر این قطعه به نوعی به شما در سفر کدنویسی خود کمک می‌کند، من آن را نوشته‌ام.

چیزی که در یک سال کدنویسی یاد گرفته‌ام

نحوه شروع کار

بسیاری از مردم در هنگام شروع کدنویسی، اهداف غیر منطقی‌ای برای خود قرار می‌دهند. مشکل در اینجاست که هیچ کس نمی‌تواند انتظار داشته باشد در طی یک شب کدنویسی را یاد بگیرد.

غول‌های برنامه‌نویسی مانند Bill Gates یا Mack Zuckerberg با دانستن نحوه ساخت Microsoft یا Facebook از خواب بیدار نشدند. آن‌ها چند سال را صرف پختن مهارت خود کردند.

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

اگر بتوانید در طی یک روز، ۱ درصد پیشرفت در قابلیت‌های برنامه‌نویسی خود ببینید، در طی ۷۲ روز دو برابر بهتر خواهید بود. مردم می‌توانند با قدردانی از پیشرفت افزایشی به جای تصور این که در طی چند هفته یک ابرستاره خواهند بود، موفق شوند.

چیزی که در یک سال کدنویسی یاد گرفته‌ام

روند یادگیری من تا به اینجا

تابستان پارسال من شروع به خواندن تصادفی مقالات وبسایت Hackernews نمودم. همچنین اگر به مقاله‌های استارتاپی علاقه دارید، من به برخی مقالات Paul Graham برخوردم که می‌توانید مطالعه کنید.

من از مقالات او به عنوان انگیزه برای تحقیق استفاده می‌کردم، و تصمیم گرفتم که می‌خواهم یادگیری HTML و CSS را امتحان کنم. هر دوی این موارد برای تازه‌کاران بسیار ساده به نظر می‌آمد. من با خواندن کتاب HTML & CSS از John Ducket شروع کردم.

این کتاب مفید بود، اما اگر مجبور باشم که از اول شروع کنم، از وبسایت FreeCodeCamp استفاده خواهم کرد. منابع روی این وبسایت، حداقل نسبت به کتاب Ducket، جزئیات بیشتری به همراه دارند. همچنین این مطالب جز وقت شما که در یادگیری سرمایه‌گذاری می‌شود، هیچ هزینه دیگری برای شما ندارند. برنامه‌های این وبسایت شما را قادر می‌سازد تا با انجام تمارین برای هر مفهوم جدید، آن را یاد بگیرید. من وقتی که از آن برای یادگیری JavaScript استفاده کردم، آن را بسیار کاربردی دیدم.

به داستان من بازگردیم: پس از ساخت چند صفحه وب استاتیک با استفاده از HTML، CSS و Bootstrap، تصمیم گرفتم که JavaScript را یاد بگیرم.  JavaScriptواقعا همه کاره است. شما می‌توانید از آن برای وب‌اپلیکیشن‌ها، برنامه‌های دسکتاپ (با استفاده از electron) و حال برنامه‌های موبایل با به کارگیری React Native استفاده کنید. گرچه در اینجا، کمی بیشتر تقلا می‌کردم.

قطعا روزهایی بودند که من می‌خواستم سر خود را به صفحه مانیتور بکوبم. خوشبختانه، در این زمان بود که FreeCodeCamp را پیدا کردم. من از تمارین JavaScript پایه آن از گواهی frontend‌ استفاده کردم.

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

این کلاس یک درک پایه از علوم رایانه به من داد. داشتن دانش در زمینه متدها و آبجکت‌ها، درک React را برای من بسیار ساده‌تر کرد.

چیزی که در یک سال کدنویسی یاد گرفته‌ام

جایی که من در حال حاضر هستم

این فرایند ما را به هدف فعلی من می‌آورد: این که در ساختن برنامه‌ها با استفاده از React Native پیشرفت کنم. من همچنین در حال گذراندن این دوره بر روی Udemy برای یادگیری توسعه‌دهی Backend هستم. اطلاعات این دوره قطعا ارزش ۱‍۰ دلاری که باید بابت آن پرداخت کنید را دارند.

مشکل بسیاری از آموزش‌های کدنویسی این است که اکثر آن‌ها به شما اجازه می‌دهند که نگاه کنید یک نفر دیگر چگونه یک برنامه را می‌سازد. در تضاد، FreeCodeCamp، Frontend Mentor و دوره‌ای که در بالا به آن اشاره، شما را قادر می‌سازند تا با نوشتن کد آن را یاد بگیرید. تمرین کردن شما را بی نقص می‌کند، نه؟

دروس یاد گرفته شده

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

با نگاه کردن به عقب، توانستم به مسیر خود پی ببرم؛ حتی با این وجود که پیشرفت من  در لحظه راکد به نظر می‌آمد. دنیای برنامه‌نویسی بسیار وسیع است، و همیشه اطلاعاتی وجود خواهد داشت که شما بلد نیستید. حس یک وانمود کننده را داشتن ساده است، اما حتی توسعه دهندگان حرفه‌ای هم وقتی که نمی‌دانند چه کنند، از Google و Stack Overflow استفاده می‌کنند. این ابزار دلیلی برای وجود داشتن دارند، پس وقتی که لزوم دارد، از آن‌ها مشاوره بگیرید.

البته بدون در نظر گرفتن این که من قطعا اکثر یادگیری خود را در هنگام ساخت وبسایت‌های کامل (یا برنامه‌هایی با Java) داشتم. انجام این کار من را مجبور کرد آنچه که یاد گرفته بودم را عمل به کار بگیرم و من با چالش کامل کردن بخش‌هایی از پروژه که سخت بودند مواجه کرد.

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

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

پس مطمئن شوید وقتی که به دنبال آموزش مناسب هستید، کمی سخت‌ کوش باشید. بررسی‌ها و بازخوردها نسبت به پست‌های معلم مربوطه بر روی Medium / Twitter را بررسی کنید. من واقعا خوشحالم که آموزش موجود بر روی Udemy را خریدم. این آموزش تغییر بزرگی در درک من از توسعه وب ایجاد کرد.

برخی منابع دیگر که به نظرم کاربردی بودند

  • Sacha Grief، موسس sidebar.io، برنامه‌ای برای درمان خستگی JavaScript نوشته است. این مقاله برنامه خوبی برای یادگیری JavaScript و اکوسیستم React به شما می‌دهد.
  • چگونه یک هکر شویم هم یک مقاله دیگر است که بر روی وبلاگ Paul Graham‌ پیدا کردم. این مقاله مسیر خوبی برای تبدیل شدن به یک توسعه دهنده حرفه‌ای به شما می‌دهد.
  • Frontend Mentor جدید است، اما اگر در زمینه HTML، CSS و JS تازه‌کار هستید، چند لینک به برخی منابع عالی دارد. اگر اولین پروژه‌ای که موسس این وبسایت پست کرده است را انجام دهید و برای او ارسال کنید، او یک بررسی کد رایگان برای شما انجام خواهد داد.
  • CodyHouse یک کتابخانه جالب از قطعه کدهای HTML، CSS و JS است.
  • CSS Tricks برخی آموزش‌های CSS را در خود دارد.
  • Keyframers ویدیوهای جالبی درباره انیمیشن‌های CSS پست می‌کند.

منبع

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید