שבט

סיכום כנס DevCon – חלק ב'

ביום רביעי שעבר, ה-25/1/23 השתתפתי בכנס Devcon, כנס מפתחים שמאורגן ע”י חברת אנשים ומחשבים. בחלק א' סיכמתי את שתי הרצאות המליאה, ובחלקים ב' ו-ג' אני מסכמת את הרצאות נתיב המנהלים, שהיו הרצאות השראה מעניינות ופותחות אופקים. החלק הזה מסכם את שתי ההרצאות הראשונות בנתיב הזה.

DevEx Behind the Scenes: what we Learned from Making a Web Series about Developer Experience – דן לשם ויהונתן הראל

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

בהרצאה הם סיפרו מה החשיבות של DX (שלל סיבות אבל המשמעותית ביותר היא שימור עובדים), איך עלתה בראשם היוזמה הזאת שבה הם החליטו להיפגש עם מתכנתים מחברות גדולות ולדבר איתם על בעיות – בלוקרים – בעולם העבודה. לא מדובר על בעיות טכניות אלא דווקא בכישורים רכים, שחוסמים את שביעות הרצון של מפתחים. הם גילו 81 בלוקרים כאלה, והם מדברים על חלקם בסדרת הרשת. בהרצאה הם סיפרו שיש להם 60 שעות של ראיונות אבל 95% מהם קוצצו כדי ליצור פרקים קצרים ומתוקים. מצד אחד אני מבינה את זה, ומצד שני, מעניין ממש לדעת מה יש שם ב-95% האלה 🙂

למשל, אחד הבלוקרים שחוצה חברות הוא שיתוף ידע. אבל יחד עם זאת שזה אומנם דבר קשה מאוד לפיצוח, מתברר שאפשר לטפל בזה ע"י אוטומציה – הופכים ידע לסקריפט. או למשל על חשיבות המשוב, או כמו שהופיע במצגת – Continuous Feedback Is King.

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

אפשר לקרוא כתבה על הסדרה כאן, וזה עמוד הבית של הסדרה. כל פרק הוא כ-10 דקות.

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

תודה לדן על שקרא ואישר את הסיכום.

Beyond the Spaghetti Code – How to Hack Your Mind – דנה נוה

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

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

הדוגמה שדנה התמקדה בה הייתה של באג בתוכנה שמדווח למנהל קבוצה. האינפוט הוא ניטרלי, אבל מפעיל אצל כל אחד פונקציה שונה.  דנה הדגימה שלוש תגובות אפשריות של מנהל הקבוצה: Flight, Fight או Freeze: להדוף את הביקורת; לפתח חששות מעתידו בחברה, או להחליט שאין ביכולתו לעשות דבר, ואז הראתה בקוד JavaScript מה הן הפעולות שמתרחשות במוח. זה היה ממש מעולה.

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

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

  1. עזרה ראשונה, שבה ננסה לנתק מגע או לפחות להחזיר לעצמנו קצב לב נורמלי – טכניקה פשוטה של נשימות עוזרת לנו להראות לגוף שהוא לא באמת במצב של סכנה (כאן הייתה דוגמה קוד)
  2. הטווח הקצר, שבו כדי להתמודד עם מחשבות מלחיצות מתמקדים ברגע הזה: אם אפשר לעשות משהו – לעשות, ואם לא – אז להתחבר למה שקורה איתי עכשיו, ננסה למקד את עצמנו ולעשות ריסטרט כדי לעצור את ירידת האנרגיה שגורמת לנו המחשבה הטורדנית (כאן היה תרשים זרימה שהראה את שתי האפשרויות שיש לנו – לשנות את המצב או לקבל את המצב)
  3. הטווח הארוך, שבו נעשה הנדסה לאחור וננסה להבין מה הפונקציות שמופעלות אצלנו, מה הטריגרים שמפעילים אותן, נסתכל על לוגים וננתח אותם, נעשה code review ונחקור ירושה 🙂 אחרי זה נכניס אלרטים, נוריד ספריות חדשות שיכולות לעזור לנו, נכתוב פונקציות חדשות, ונעלה גרסה חדשה 🙂
  4. תחזוקה, שבה נחזור על התהליכים של הטווח הארוך ונמשיך לחפש פונקציות זוללות אנרגיה, ובמקביל נטעין את הסוללה שלנו – נעשה דברים שמשמחים אותנו, נאכל ונישן כראוי, ולבסוף נשדרג גרסה.
  5. יצירה, שבה אנחנו הופכים מפרו-אקטיביים ליצירתיים ע"י איפיון מכוון משתמש, ארכיטקטורת תוכנה וכתיבת קוד משלנו. השלב הקריאטיבי הוא שלב של יצירה, של בריאה, שבו אנחנו כותבים את הקוד החדש שמתאים למי שאנחנו היום.

תודה רבה לדנה שקראה את הסיכום ועזרה לי לדייק אותו.

4 תגובות על “סיכום כנס DevCon – חלק ב'

  1. נשמע מעניין מאוד!
    לגבי ההרצאה הראשונה: רוב מה שכתבת זה הצגה של הסדרה שלהם, שנשמעת מעניינת ואולי אצפה. סופט סקילס תמיד נראים לי כמו ה20 אחוז של ה-20:80. החלק הקטן יותר, הפחות הכרחי, של השלם הגדול. אם האנשים יודעים לתכנת וזה עושה 80 אחוז מהעבודה, אפשר לוותר על יכולות בין אישיות ועבודה על המידות כי הפרפקציוניזם מת.
    בקשר להרצאה השנייה אני רוצה לציין שכתבתי בסגנון הזה מזמן פוסט אצלי ונראה לי שעשיתי את זה מורכב יותר מ"האנרגיה שלנו היא כמו בטרייה", אבל קשה לשפוט גישה שלמה לשילוב בין קוד לפסיכולוגיה על סמך תקציר של הרצאה קצרה. יכול להיות שיש לה תיאוריות מורכבות יותר.
    וריסטארט ודיבוג הם לא פתרון לבטרייה גמורה אז זו לא אנלוגיה כל כך שלמה (או שהבנתי לא נכון? היא באמת הציגה את 5 השלבים האלה כפתרון ל"בטריה חלשה", בהשוואה לירידת אנרגיה אצלנו והצורך במנוחה ופתרון תקלות וריסטארט מטאפורי וכל זה?)

    1. אפרת, תמיד כיף שאת מגיבה!

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

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

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

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

כתבו תגובה לLea Cohen Cancel reply

כתובת הדוא"ל שלכם לא תוצג.