הבלוג של ינון פרק

טיפים קצרים וחדשות למתכנתים

הבעיות במערכת החינוך לא קשורות לכסף

26/06/2023

קל לנסות להגן על מערכת החינוך - מורים ומורות תשושים עומדים מול כיתות גדולות מדי וצריכים ללמד חומר שלא תמיד מעניין את התלמידים. למה כבר ציפית? הם עושים כמיטב יכולתם. תשלמו יותר ותקבלו כיתות קטנות ומורים מאושרים שמרוויחים טוב.

אם רק זה היה כל כך פשוט.

הבעיות במערכת החינוך לא קשורות לכסף. ברור שיותר קל למורה להסתדר בכיתה של 10 תלמידים מאשר בכיתה של 30, וברור שכמה שמורה תרוויח יותר איכות החיים שלה מחוץ לעבודה תשתפר. מה שלא כל כך ברור הוא מה יקרה באותה כיתה בת 10 תלמידים בזמן הלימודים.

כי הבעיות במערכת החינוך הן קודם כל הבעיות שלנו כחברה, והבעיות שלנו בשוק העבודה. סוף עידן הקפיטליזם התעשייתי אומר שאין יותר צורך או יכולת לבנות מפעל טוב יותר, לשפר באמצעות מדידות ולהגיע לשלמות בתאימות לתקן. טלפון שנראה כמו אייפון אבל זול יותר? בעולם תעשייתי רגיל זה היה גורם לאפל לצאת מהשוק. בעולם הפוסט-תעשייתי שלנו, תודה אבל לא תודה. אנחנו (כצרכנים) לא מחפשים את המוצר הגנרי היעיל ביותר שפותר בעיה, אלא את המוצר המעניין, החדשני, עם הסיפור הטוב, שמתאים לנו אישית.

ובתוך זה מערכת החינוך לא יודעת מה ואיך ללמד, בדיוק כמו שארגונים רבים לא יודעים איך להתיחס לעובדים שלהם ואיך לייצר את אותה חדשנות שאנחנו צריכים. אנחנו יודעים שהשיטות הישנות לא עובדות. אנחנו יודעים שמעקב אחר עובדים, נהלי עבודה קשיחים, עובדים שאפשר להחליף אותם ברגע ואיומים כל הזמן בפיטורים לא משיגים תוצאות טובות. יש לנו גם תחושה לגבי שיטת העבודה בארגונים שכן מצליחים, אבל אין לנו מספיק ניסיון בעבודה לא תעשייתית. איך בכלל בית ספר לא תעשייתי יכול להתנהל? את מה ימדדו? מה ילמדו בו? מה יהיו מטרותיו? הקפיטליסט התעשייתי אלוף בבניית מערכות במקום אנשים, אבל מה קורה כשמה שאנחנו צריכים הוא אנשים?

וכן אנחנו יודעים מה היינו רוצים ללמד: נשמח לקבל בוגרים עצמאיים, שיודעים למצוא בעיות מעניינות ולפתור אותן בצורה יצירתית, שיודעים להתגבר על מכשולים בדרך ולבחור לעצמם אתגרים שמתאימים להם. שיוכלו ללמוד לבד דברים חדשים ויתאימו את עצמם לעולם משתנה. אנחנו פשוט לא יודעים איך ללמד את זה.

הדרך קדימה לא קשורה לתוספת תקציב או אפילו לבחירת שיטת עבודה אחרת. אין שיטת לימוד שעובדת שאנחנו יודעים עליה. יש המון השערות וניסיונות ורעיונות שאולי עובדים לחלק מהאנשים ולא עובדים לאחרים. והמחקר הזה צריך להימשך. הדרך קדימה תחייב אותנו להיפרד משיטת הלימוד המוכרת (שלא עובדת), ולהיפתח לרעיונות חדשים שכנראה גם רובם לא יעבדו. הדרך קדימה תחייב אותנו להכיר בזה שחלק מהילדים שלנו יהיו שפני ניסויים באותו מסע, ומחייבת אותנו לתת להורים הרבה יותר אפשרויות בחירה לגבי המסע הספציפי של כל ילד. בתקופה הקרובה אנחנו צריכים חדשנות ולא יציבות. וכן זה מפחיד, מסוכן ועלול לא לעבוד. הבעיה שהאלטרנטיבה הנוכחית גם לא עובדת.

איך זה ירגיש?

25/06/2023

איך זה ירגיש להשתמש בשפה אחרת, אולי שפה פונקציונאלית בשביל הפיצ'ר הבא?

איך זה ירגיש לבנות סרביס במקום להרחיב את המונולית?

איך מרגיש לעבוד עם מנגנון Deployment אוטומטי? או ידני?

ומה אם הפעם נכתוב את הבדיקות לפני שנכתוב את הקוד? או שנוותר לגמרי על הבדיקות?

ומה יקרה אם בפיצ'ר הבא ננסה לפתח רק על ה Trunk בלי Branch-ים ב git?

שיגרת פיתוח טובה היא כזאת שמאפשרת גם לקחת אוויר ולגוון. וכן הסטטוס קוו הוא כח חזק, גם אנחנו, גם המנהלים שלנו וגם חברינו לצוות יודעים למצוא מיליון סיבות למה צריך להמשיך לעשות דברים כמו שאנחנו כבר עושים. הרבה פעמים אלה סיבות טובות אבל אני שם לב שהרבה פעמים הן מתבססות על דברים שקרו בעבודות קודמות או הרגלים שכבר שכחנו מה המקור שלהם

"אני לא בטוח למה אנחנו לא משתמשים ב Micro Services. בואו ננסה לכתוב פיצ'ר אחד בגישה זו ולראות מה יקרה" יכול להיות כיף ומלמד, בלי קשר אם בסוף נעבור לגישת Micro Services או שנמשיך בשיגרה שעובדת לנו.

הדרך לפעם ביום

24/06/2023

העצה שאני הכי אוהב לתת לאנשים שמתחילים קורס היא להשקיע שעה ביום בלימוד. עם שעה ביום של לימוד Python, אחרי חודש יהיה לכם בסיס טוב בפייתון ותוכלו להמשיך בקצב שלכם, ואותו דבר עם רוב הנושאים הטכנולוגיים שאני מלמד פה.

אבל זו עצה מאוד תמימה.

הבעיה בעצה הזאת היא הקושי ביישום. כן שעה ביום בימים הראשונים עוד מצליחים למצוא, אבל זה יש את הלחץ בעבודה ואת הבאג בפרודקשן ואת המסיבה לילדים ולפני ששמת לב הצלחת למצוא שעתיים בכל השבוע, וגם זה במקרה הטוב. בשבוע שאחרי אפילו את השעתיים האלה יהיה קשה למצוא.

מצד שני מי שכן מצליחים לבנות את ההרגל של ללמוד שעה ביום טכנולוגיות חדשות, יכולים אחרי לימוד פייתון להמשיך ללמוד Front End ואחרי זה AI ואחרי זה פיתוח אפליקציות והשמים הם הגבול. אנשים שיש להם את ההרגל הזה מצליחים יותר בקורסים וגם מתקדמים מהר יותר בתור מפתחים.

לכן לפני שנרצה לדבר על איך ללמוד פייתון בצורה יעילה, אולי שווה לדבר על איך ללמוד בצורה יעילה, או איך לבנות הרגל של לימוד שעה ביום. הנה כמה טיפים שעזרו לי:

  1. הרגלים נבנים לאט. במקום להתחיל עם שעה ביום ולהתייאש, עדיף להתחיל עם שעה בשבוע, אחרי זה לעלות לשעתיים בשבוע ולהמשיך להעלות לאט. גם אם ייקח חצי שנה לייצר הרגל של לימוד שנה ביום, זה עדיין שווה את ההשקעה.

  2. גיימיפיקציה עוזרת. אפשר ליצור טבלא שבועית ולתכנן מראש באיזה ימים תלמדו, אפשר להשתמש באפליקציות כדי לשמור על "רצפים" ולאסוף מטבעות וירטואליים. שחקו עם זה לראות מה עובד לכם.

  3. חברים עוזרים. אם אני בעבודה מתחייב להעביר סשן פעם בשבוע על נושא אז יהיה לי יותר קל למצוא שעתיים באותו שבוע ללמוד את הנושא. אם אחרי זה אני מוסיף על זה Meetup פעם בחודש אז יהיה לי יותר קל למצוא זמן במהלך החודש.

  4. גיוון עוזר. לא צריך כל יום לכתוב קוד או לקרוא פוסט מקצועי. אפשר שעה אחת בשבוע לשמוע פודקסט, שעתיים לכתוב קוד, עוד שעה לראות הרצאה ביוטיוב וכך כל פעם להוסיף עוד פעילות שתוסיף עוד זמן לימוד.

יש לכם הרגלים יומיים שאתם מצליחים להתמיד בהם? נסו להיזכר איך יצרתם אותם ומה מדרבן אתכם להמשיך. רעיונות שלא חשבתי עליהם כאן יתקבלו בברכה בתגובות.

המיומנות הכי חשובה שחסרה ל Chat GPT

21/06/2023

למנועי בינה מלאכותית כמו Chat GPT וחבריו יש עדיין בעיה גדולה - הם לעולם לא יענו בשאלה. הם לא יודעים מתי צריך לבקש עוד מידע, ומתי השאלה מעידה על כך שאתה לא באמת מבין מה אתה צריך.

כשאני אשאל אותו למה כואב לי הראש, הוא יסביר שהוא לא רופא ואז ינחש מה הבעיה.

כשאני אשאל איך לכתוב אימייל שימכור אני אקבל תשובה מפורטת, אפילו שאין לו מושג למי אני מנסה למכור ומה.

כשאני אשאל באיזו תדירות לשלוח הודעות למשתמשים שלי הבוט יכתוב אינסוף המלצות, אפילו שהוא לא יודע כלום על העסק שלי או המשתמשים שלי.

וכמובן שהתנהגות זו תימשך גם בכל שאלה טכנית.

בלי יכולת להבין את הבעיה האחריות נשארת בידיים שלי. בדיוק כמו עם מנוע חיפוש, עליי למצוא את ה Prompt הנכון שיתאר את הבעיה בצורה מספיק מדויקת כדי לקבל מהבוט את התשובה הנכונה. "אני לא יודע" ו"אני צריך עוד נתונים" הם משפטים קסומים והיכולת להגיד אותם ולהתקדם עם האי וודאות תישאר היתרון הגדול שלנו לתקופה הקרובה.

היום הוא זמן טוב להתאמן על מיומנויות אלה.

איך להתקין k3s יחד עם ה Dashboard על multipass

20/06/2023

מולטיפאס הוא כלי להרצת מכונות לינוקס וירטואליות קטנות במהירות על מכונות Mac ו Windows. בין השאר אפשר להיעזר בו כדי לשחק עם קלאסטרים, כי קלאסטרים צריכים הרבה מכונות ועם מולטיפאס מאוד קל ליצור מכונות חדשות. בואו נלך להתקין קלאסטר של שלוש מכונות, מנוהל על ידי k3s (שהוא סוג של קוברנטיס פחות שמן), נתקין עליו את לוח הבקרה של Kubernetes וניגש לממשק הניהול מהמחשב המארח.

המשך קריאה

ומה אם לא תהיה לי עבודה?

19/06/2023

רק המחשבה לעבור משכיר לעצמאי יכולה להיות מטלטלת, שלא לדבר על העשייה עצמה. אבל הפחד הכי פופולרי הולך משהו כמו "מה אם אני לא טוב כמו שאני חושב", או בניסוחים החברים שלו-

"מה אם לא אמצא לקוחות?"

"מה אם הלקוחות שאמצא לא ירצו לשלם?"

"מה אם ארוויח הרבה פחות ממה שאני רגילה להרוויח היום?"

"מה אם אצטרך לעשות משהו שונה ממה שקיוויתי שאעשה?"

"ומה אם לא אצליח לעשות דברים אחרת?"

"מה אם הרעיון שלי לא כזה טוב?"

"מה אם לא אמצא משקיע?"

אלה שאלות טובות. לי לקח הרבה שנים לקבל את זה שיהיה בסדר. לקבל את זה שאולי עכשיו אין לקוחות אבל יהיו בעתיד. שאולי עכשיו משלמים קצת פחות ובעתיד ישלמו קצת יותר. שאולי עכשיו מרוויחים קצת פחות אבל בעתיד אולי ארוויח יותר. שאולי עכשיו אני עושה משהו שונה ממה שקיוויתי לעשות, ויכול להיות שאלמד לאהוב את זה או שבעתיד יהיו שוב הזדמנויות לעשות את מה שכן רציתי. שגם אם עכשיו משהו לא מצליח אולי בפעם הבאה זה יצליח טוב יותר. שגם אם הרעיון שלי כרגע לא כזה טוב אפשר לשפר אותו. ושזה בסדר להמשיך לפתח דברים גם בלי משקיע, גם בערב, וגם אם בסוף הם לא יהפכו לפייסבוק הבא.

הדרך להתגבר על הפחד היא לא לשים אותו בצד, אלא בדיוק להיפך. לתת לו את המקום. לקבל אותו. לרקוד איתו. ברור שזה מפחיד, אחרת היית עושה את זה הרבה קודם. ברור שזה מפחיד, אחרת זה לא היה מעניין.

מדהים לחשוב שאנחנו מוכנים להירשם לשלוש או ארבע שנים באוניברסיטה או לצאת לטיול של שנה במזרח בלי לחשוב פעמיים, אבל אוכלים סרט לפני שנותנים לעצמנו חצי שנה או שנה לחלום על רעיון ולנסות לבנות אותו. יהיה בסדר, רוב הסיכויים שזה יצליח, וגם אם לא - לא מתים מהניסיון.

זמן לצאת לרקוד.

חמישה בוטים לטלגרם שתוכלו לכתוב כפרויקט צד

18/06/2023

אחרי שהתרגלנו לדבר בצ'ט בווטסאפ ועם Chat GPT אין דבר יותר טבעי מלהמשיך לתקשר עם בוטים גם במקומות אחרים. ברמה הטכנית בוטים מציעים דרך פשוטה לבנות ממשק לפרויקט שיהיה אינטואיטיבי למשתמשים ויחסית פשוט לפיתוח. אם אתם מחפשים רעיון לפרויקט צד, בוט לטלגרם יכול להיות משהו שכיף לבנות ולשחק איתו כשהוא באוויר. הנה חמישה רעיונות לבוטים שתוכלו לבנות בזמנכם הפנוי.

המשך קריאה

בול בפוני

17/06/2023

ברור שהכי כיף לקבל את הטיפ המושלם או ה-5 דקות שבדיוק צריכים בשביל להבין טוב יותר את הטכנולוגיה ומיד לשפר את שיטת העבודה. ברור שהטיפ ההוא, שפוגע בול בפוני שווה את החיפוש. וברור שככל שנהיים יותר טובים בעבודה עם כלי מסוים קשה יותר למצוא אותו.

בגלל זה התקדמות היא לא לינארית ובדרך כלל בצורה של מדרגות - הרבה זמן נראה כאילו אנחנו נשארים באותה נקודה, ואז פתאום מבינים משהו שקודם לא ראינו ויש קפיצה. גרף המדרגות הוא בסך הכל תוצאה של חוסר היכולת שלנו למדוד את ההתקדמות האמיתית שקורית כשאנחנו עובדים אבל עדיין לא רואים תוצאות. הטיפ שפוגע בול בפוני הוא בסך הכל עוד אבן במגדל שעבדנו עליו הרבה זמן, רק שזו האבן הראשונה שאנחנו רואים.

ולכן הדרך להגיע לאותם Best Practices ממוקדים ולאותן קפיצות בהבנה היא דווקא להשקיע באותם דברים שלא רואים, באותה עבודה סיזיפית שלכאורה משאירה אותנו באותה מדרגה. הדרך לתכנת טוב יותר היא קודם כל לתכנת יותר. ולתכנת כאן זה לא רק לעשות את אותו דבר שעשינו אתמול, אלא לחפש כל פעם עוד דרך לפתור את אותן בעיות. רוב הפעמים הדרך החדשה לא תהיה יותר טובה מהקודמת. רוב הפעמים שיטת העבודה החדשה לא תביא לשיפור בביצועים. ורוב הטיפים שנקרא ברשת איך לכתוב פייתון טוב יותר לא באמת יעזרו לנו. וזה בסדר.

במקום לחכות לקפיצה ולהתרגש מכל שינוי מינורי בתוצאות, עדיף להשקיע בליהנות מהדרך. לבנות הרגלי עבודה שבהם אנחנו יודעים שהקפיצה תגיע, ולהתמיד בהם עד שנגיע אליה.