React היא לא הבעיה. הדרך שבה אנחנו מלמדים אותה היא הבעיה.
תשאלו מפתח ג'וניור מה קורה כשהוא לוחץ על כפתור שליחה. רוב האנשים לא יצליחו לתת תשובה ברורה.
הם אולי יגידו שקריאת API נשלחת לשרת ותגובה חוזרת. זו תשובה שטחית.
תשאלו אותם שאלות ספציפיות יותר:
- איך הדפדפן אורז את הבקשה?
- באיזו שיטת HTTP משתמשים?
- איפה מתבצע האימות (authentication)?
- איך השרת מעבד נתונים לפני שהם מגיעים למסד נתונים?
כאן מתחיל השקט.
מפתחים ג'וניורים הם לא עצלנים. אין להם חוסר בכישרון. חסר להם הקשר (context).
אנחנו מלמדים הפשטות (abstractions) לפני יסודות.
בוטקאמפים ומדריכים מתמקדים בתוצאות מהירות. הם רוצים שתבנו פורטפוליו ותמצאו עבודה. React עוזרת בזה כי רואים תוצאות מהר.
לומדים רואים פריימוורקים לפני שהם רואים מערכות.
- הם לומדים React לפני HTTP.
- הם לומדים רכיבים (components) לפני שרתים.
- הם לומדים ניהול מצב (state management) לפני מסדי נתונים.
זה יוצר מפתחים שיודעים מה לעשות, אבל לא למה הם עושים את זה.
זה מוביל ל"גיהנום המדריכים" (tutorial hell). אתם מעתיקים קוד מוידאו ומרגישים פרודוקטיביים. ואז אתם מנסים לבנות משהו לבד ואתם נכשלים. טעיתם בין היכרות לבין הבנה.
כלי AI מחמירים את הבעיה הזו. כלים כמו ChatGPT עוזרים לפרודוקטיביות. הסכנה מתחילה כשה-AI מחליף את החשיבה במקום לתמוך בה.
דיבאגינג (Debugging) היה פעם קשה. היית צריך לקרוא תיעוד (docs) ולהיכשל עד שמצאת את שורש הבעיה. המאבק הזה בנה את המוח שלך. אם תפקידו כל בעיה ל-AI, תאבדו את השיקול ההנדסי שלכם.
הנדסת תוכנה עוסקת בקבלת החלטות והבנת פשרות (trade-offs). אי אפשר ללמוד את זה רק באמצעות פרומפטים.
אם הייתי בונה תוכנית לימודים, הייתי מלמד בסדר הזה:
- HTML/CSS
- יסודות JavaScript
- יסודות הדפדפן
- HTTP ו-APIs
- מושגי back-end בסיסיים
- מסדי נתונים
- אימות (Authentication)
- React
עד שהסטודנטים מגיעים ל-React, הם מבינים למה שליפת נתונים (data fetching) קיימת. הם מבינים את המכניקה שמאחורי לחיצה על הכפתור.
React היא לא הבעיה. AI הוא לא הבעיה.
הבעיה היא המעבר מהיר מדי על היסודות והציפייה שהפערים יתמלאו מעצמם.
האם אנחנו מלמדים אנשים לבנות, או שאנחנו מלמדים אותם להעתיק בלי להבין?
מקור: https://dev.to/franklyn_nmesoma_86940ec9/react-isnt-the-problem-how-we-teach-it-is-38m8