לפני כחודש נתקלתי בפוסט שהכותרת שלו הייתה Please don’t learn to code. מיותר לציין שהכותרת סיקרנה אותי מאוד אז עשיתי מה שתמיד אני עושה – שמרתי בצד לימים טובים. והנה הם הגיעו 🙂

"אבל עכשיו אני כבאי. זה מה שצוית בעצמך".
(מתוך הספר "סיפורי לילה טוב של רחוב סומסום")
בתחילת הפוסט מדבר Basel Farag על תנועה שהולכת וצוברת תאוצה שקוראת לכולם ללמוד קוד. הפיסקה הראשונה – שבקריאה מרפרפת ראשונה רק אותה קראתי ממש – העלתה בראשי את הסיפור של המלך והכבאי מתוך אוסף סיפורי לילה טוב של רחוב סומסום. בסיפור, המלך ניצל משריפה בזכות הכבאי ומחליט שכל התושבים צריכים להחליף מקצוע לכבאות. לאט לאט המלך מבין שזאת לא הייתה החלטה נבונה כי אם טבח המלך הוא כבאי – לא יהיה לו אוכל, ואם רופאת הממלכה כבאית – אין מי שיחבוש את ידו. אל דאגה – סוף טוב הכל טוב – המלך מבין ששגה ומורה לכל אחד לעסוק במקצוע שלו. מוסר ההשכל?
א. כל אחד צריך לעסוק במה שהוא טוב בו.
ב. מגוון זה דבר טוב
ג. לא כולם יכולים לעשות את אותו הדבר
הפוסט של tech crunch לא כל כך פשטני והטענות שלו עשירות יותר ומנומקות יותר. Basel Farag מדבר על חוסר ההגינות בהשלכה של 'לימדו קוד – וכלכלת העסקים תשתפר'. הוא מדבר על האשליה של "סיליקון ואלי" (שמועצמת גם בזכות תוכנית הטלוויזיה) – רק תלמד קוד ומייד תמצא עבודה. תפתח סטארטאפ ותרוויח מליונים. coding bootcamps אשר נותנים מענה ללמידה של שפות קוד ומבטיחים עבודה, גם הם מעצימים את האשליה. בפועל המציאות היא אחרת: מקומות העבודה דורשים בדרך כלל בוגרי תואר ראשון במדעי המחשב, ושליטה בשפות תכנות שונות לא מספיקה. הוא לא שולל את חשיבות לימוד הקוד (או את הצד החיובי שיש ב coding bootcamps), אבל אומר – זה לא מתאים לכל אחד. רק מי שישקיע את כל כולו ויאהב את זה, יהיה מתכנת טוב.
הדברים האלו קצת הזכירו לי את הקורסים ללימוד מקצוע העיצוב. הסילבוס עשיר בתוכנות וכלים שיהפכו כל אחד/ת למעצב/ת, וגם פה יש אשליה לא נכונה. לא מספיק לשלוט בפוטושופ או באילוסטרייטור. צריך להבין את הבסיס. צריך לערבב צבעים במברשת כדי להבין ממה הצבע מורכב, ללמוד את ההסטוריה של האמנות, ללמוד קומפוזיציה, טיפוגרפיה, צילום ועוד. הידע העשיר שנלמד ונבנה לאורך שלוש שנים, הוא מה שעושה את ההבדל בין מעצב לביצועיסט. גם בוגר של שלוש שנות לימוד לא יהיה מעצב-על בין רגע. גם פה חשובות שנות הנסיון והלמידה שאף פעם לא מסתיימת.
Basel Farag מדבר על החשיבות הבנת הצורך בשימוש בקוד. הוא מדבר על הבנת הבעיה ולא מציאת הפתרון. מאוד עניין אותי לקרוא את מה שהוא אומר, במיוחד שסמוך לקריאת הפוסט הזה קראתי בדה-מרקר את הראיון עם פאסי סאלברג על מערכת החינוך בישראל. גם הוא מדבר על עניין הבנת הבעיה (לא, אף אחד משרי החינוך לדעתו לא מחפש ובודק מה הבעיה, אלא רק מחפש פתרון). פאסי סאלברג כמו Basel Farag מדבר על חשיבות בחינת הבעיה, על הקדשת 99% מהזמן לבעיה ורק אחוז אחד לפתרון.
לפעמים אני חושבת לעצמי – איך אני יכולה לחתום כ"מתכנתת" – אין לי תואר במדעי המחשב ולא למדתי בשום מקום (עדיין) את הבסיס של כתיבת והבנת קוד. באמת הבסיס הרחב הזה הרבה פעמים חסר לי. מצד שני אני כבר שנתיים שוחה ב-CSS
. לא מתיימרת להיות מומחית, אבל כן אוהבת להשתמש במאפיינים חדשניים (כמו flex
, mix-blend-mode
, object-fit
vh+vw
ועוד). אז יקומו אלו שיאמרו ש-CSS
זו לא שפת תכנות. אבל בשבילי CSS
זה עולם ומלואו. פתאום אני יכולה להרים לחיים את העיצוב הסטטי שקיבלתי בקובץ PSD.

כשלמדתי עיצוב תקשורת חזותית, באחד הקורס של פרסום, המרצה (לצערי לא זוכרת את שמו) דיבר על זה שמפרסם צריך לדעת על הכל קצת. אני לא בטוחה שאני לגמרי מסכימה עם העובדה הזאת, כי זה אומר שהידע שלנו מאווודדד שיטחי, אבל אני כן לוקחת את זה למקום משלי. אני מרגישה שהידע שלי בעיצוב, מעשיר את הידע שלי ביצירת CSS
נקי, מדויק ויפה. אני מרגישה שהידע שלי בהבנת חווית משתמש מעשירה אותי הן בעיצוב, הן בתכנות והן בהבנת בעיות ומציאת הפתרון.
בשנתיים האחרונות יש כל מיני קורסים שמיועדים ללמידת קוד למעצבים. אני לא חושבת שכל המעצבים צריכים לכתוב קוד. לא כולנו עם ראש אנליטי ולא כולם אוהבים את זה. אבל יש משהו בהבנה של מבנה עמוד אינטרנט, באלמנטים שהוא מכיל, בהבנה שבאופן בו הם מסודרים זה לא פוטושופ. ההבנה הזאת – היכולת לעשות inspect
לעמוד אינטרנט ולהבין מה גורם לרווח בין אלמנטים, ליחסי הגומלין ולגבולות אזורים – יכול להעשיר את המעצב ולהקפיץ את העיצובים. שלא לדבר על שיפור התקשורת בין העיצוב לתכנות.
אני משתדלת לקרוא כל יום פוסט אחד חדש, לנסות דברים חדשים, משחקת ב codepen, נהנית מהאתגר של חיפוש תוספים חדשים, מאותגרת לחפש פתרונות לבעיות שצצות, או לחשוב על דרך התנהלות באתר כדי למצוא את הבעיה של המשתמשים שלנו.
כל יום אני לומדת משהו חדש.
את מעלה טיעון מאוד מרשים בעזרת סיפור המלך והכבאי וגם תהיות על רוחב מול עומק הידע הנדרש. וזו זווית היסתכלות מעניינת מאוד.
אני רוצה להעלות נקודה נוספת שהיא קצת שונה; אם נתייחס לקוד כאל עוד שפה שצריך ללמוד. כך לא מדובר רק במילים חדשות אלא בעיקר בלמידה של לוגיקה ודרכי התייחסות שונות…. ולדעת עוד שפה, נשמע לי כמו יתרון ברור.
ואז חזרנו לתהייה שלך בנושא עומק הידע.
תודה רבה 🙂
לגבי חשיבות למידת קוד אני מאוד מתלבטת האם זה באמת חשוב. בדיוק בגיליון האחרון של בלייזר (כן, בלייזר 😉 ) בדו"ח צעצועים יש סקירה של רובוטים לילדים החל מגיל שלוש שמלמדים מיומנויות קוד. אסי גל מביא, מעבר לסקירה של הגאדג'ט עצמו, כמה תובנות מאוד מעניינות בנושא ואני מצטטת (בדילוגים):
"אם לצטט את סטיס ג'ובס, כולם צריכים ללמוד איך לתכנת, כי זה מלמד אותך איך לחשוב…..
לא כולם תומכים ברעיון הזה. גוטפריד סרינג'ר כתב באתר Wired שלימודי תכנות תוקעים ילדים בצורת חשיבה שלא תוביל ליצרתיות…..
מארק קייזר מאתר לימודי התכנות אפיקודס טוען שיותר מאנשים מוכשרים בתכנות, העולם צריך אנשים שיודעים לעבוד ביחד. יהיה הרבה יותר טוב, אם כל ילד יסיים תיכון עם התרגשות ללמוד ולחקור, עם תקשורת טובה, ועם יכולת לפתור קונפליקטים עם שותפיו לעבודה."
אהבתי את הפוסט ודרך המחשבה, אם כי אני כן חושב שלחשוף את הילדים לתכנות יש לו יתרונות רבים.
אני מבין חלק מהטענות
דווקא הציטוט שהבאת בתגובה האחרונה של מארק קייזר הוא ממש חשוב וראוי להיכנס לפוסט עצמו "יהיה הרבה יותר טוב, אם כל ילד יסיים תיכון עם התרגשות ללמוד ולחקור, עם תקשורת טובה, ועם יכולת לפתור קונפליקטים עם שותפיו לעבודה." בקיצור ללמד את הילדים להיות עם ילדים ואנשים אחרים.
תודה על התגובה.
מסכימה איתך שחשוב לחשוף את הילדים לקוד, אבל חשיפה לא זהה ללימוד חובה.
ואכן – תקשורת טובה ויכולת לפתור קונפליקטים חשובה פי אלפי מונים מידע בקוד.
אין בעיה להתקבל לעבודה בתכנות גם אם לא למדת מדעי המחשב, אלא שהרמה שלך (אם למדת מדעי המחשב ואם לא למדת) צריכה להיות מאוד גבוהה. מי שחושב שהוא ילמד את הילד שלו סקראץ' או אפילו תרגילים ברמה בסיסית בפייתון (סליחה על ההשוואה, אלה כמובן דברים שונים לחלוטין ברמות אחרות) ומשם הוא ייצא מתכנת צמרת לחלוטין טועה. כדי להצליח בהייטק צריך ללמוד שפת תכנות כלשהיא (עדיף יותר מאחת) ברמה גבוהה מאוד, לבצע תרגילים מורכבים ולהבין תכנות לעומק, דבר שלא מלמדים באף בית ספר וכמעט באף חוג. תכנות זה מקצוע רציני שעקומת הלמידה בו מורכבת והוא דורש שעות על גבי שעות של השקעה ומכאן שחייבים גם לאהוב את זה. אחרת אי אפשר לעשות במשך שעות משהו שלא אוהבים.