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

מהי גילדה מקצועית?
בשנים האחרונות ניתן לראות הרבה סטארטאפים שבוחרים במבנה ארגוני של Squads (מכונה בחיבה גם “The Spotify Model”). בלי להיכנס לנושא הזה בהרחבה, מספיק לומר שבמבנה ארגוני בסגנון Squads (או אחד ממספר סגנונות דומים) כל צוות מכיל בתוכו גם מפתחות Backend וגם מפתחות Frontend\Fullstack, שיכולות יחד להשלים פרויקט בתוך הצוות. זאת בניגוד למודל הישן יותר של צוותי Backend וצוותי Frontend.
אחד החסרונות של המודל הזה הוא שהוא מבודד מפתחות ומונע גישה למשאבים טכנולוגיים, ליווי ומנטורינג. אישית אני מרגישה שהקושי הזה התעצם אפילו יותר בתקופת הקורונה שבה לכולנו יש תקשורת יומיומית עם הצוותים שלנו, אבל תקשורת הרבה יותר נדירה עם מפתחות אחרות בחברה. כאן נכנס הרעיון של גילדות מקצועיות – המטרה של הגילדה היא לתת למפתחות בחברה מסגרת מקצועית ולא פורמלית בה יוכלו להתפתח, להיעזר ולעזור זו לזו בתחום שלהן.

אצלנו בחברה יש שתי גילדות מרכזיות – גילדת פרונטאנד וגילדת סקאלה. אני לא יודעת מה הולך בגילדת פרונטאנד (אולי אני צריכה להסתנן לאחת הפגישות שלהן?!) אבל במפגשים של ה-Scala Guild אנחנו קצת מדברים על חדשות סקאלה, ובעיקר עושים תורות ומעבירים הרצאות מקצועיות בנושאי סקאלה. ההרצאות המקצועיות הן נהדרות. מצד אחד זו הזדמנות מצוינת ללמוד על תוכן חדש שלאו דווקא יוצא לי להתעסק איתו ביומיום. מצד שני, הן מהוות דחיפה מדהימה בשבילי ללמוד ולהתעמק בנושאים מסוימים שאני רוצה להרצות עליהם. בינתיים העברתי שתי הרצאות, וכל אחת מהן עזרה לי להבין יותר לעומק את השפה ואיך נכון להשתמש בה, בזכות המחקר שעשיתי בכתיבת ההרצאות.
ממש לאחרונה אפילו יצרנו ערוץ יוטיוב חדש אליו נתחיל לאט לאט להעלות הרצאות שהעברנו בתוך החברה ונראה לנו שיעניינו את הקהל הרחב (כל המפתחים, לא רק סקאלה כמובן). דור סבר, המנטור המדהים שלי, העלה כבר מספר הרצאות הכרות ל-Zio, ספריה חדשה וחזקה מאוד לבניית אפליקציות בסקאלה. אני העליתי הרצאה שהעברתי לפני שבוע בנושא של Enumeration בסקאלה. אני מקווה שככל שיעבור הזמן נעלה עוד ועוד הרצאות לערוץ הזה, כי באמת חבל לייצר כל כך הרבה תוכן טוב בעברית ולא לתת לאנשים ליהנות ממנו.
לסיכום – גילדות זה ממש מגניב, ואם אין לכן כזו במקום העבודה אני ממליצה לכן להתחיל אחת. ההתחלה יכולה להיות מאתגרת, אבל התוצאה שווה את זה. החיסרון היחיד הוא שיום אחד גם אתן תכתבו פוסט בנושא גילדות, ותצטרכו למחוק ולתקן כל הזמן כשתגלו שכתבתן גלידות.
כמו שידוע לכולם, סקאלה נחשבת לשפה עם עקומת למידה מאד גבוהה.
בעולם התוכנה של היום מפתחים מחליפים את מקום העבודה שלהם כל כמה שנים. במיוחד כשמדובר בסטארטאפים התחלופה אפילו מהירה יותר. אם כך, האם את חושבת שנכון לבחור שפה שהיא כל כך קשה ומורכבת, שיש מעט מאד מפתחים בשוק שמכירים אותה לעומק, ושיידרשו להם לא מעט משאבים כדי להגיע לרמה גבוהה בשפה?
קוטלין, למשל, בחרה דרך של פשרה בין ג׳אווה לסקאלה. יש פה פחות פיצ׳רים מורכבים מאשר בסקאלה, והיא עדיין יותר חדשנית מג׳אווה. ייתכן שהבחירה בקוטלין היא הבחירה האידיאלית.
זו שאלה ממש טובה.
קשה לי להגיד, כי אני לא מכירה מספיק טוב את היתרונות והחסרונות של סקאלה מול קוטלין. האם הכניסה לקוטלין היא פשוטה וקצרה בהרבה?
באופן אישי אני מאוד מחבבת את סקאלה. הפיצ’ר של הpattern matching הוא משהו שיהיה לי קשה מאוד לחיו בלעדיו, אבל שפות מוצלחות מתפתחות כל הזמן, אז אני לא פוסלת.
היי מיה, אשמח להתייעץ איתך לגבי נושא הגילדות שכתבת ולשמוע קצת איך זה הלך בביג פנדה. אשמח שתפני אליי למייל