הקוד פתוח, עוד לא מאוחר

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

לפני הכל

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

הכל

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

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

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

1. לאנשים שאוהבים להוציא את האף מהבית

בארצנו מתקיימות כמה פעילויות התנדבותיות רלוונטיות, ובהן:

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

ב. מפגשים של Goodness Squad פעם בחודש בנמל ת״א: עבודה על פרויקטי קוד פתוח ב־Node.js. אפשר לקבל משימה ולעבוד עליה, מסתובבים שם אנשים ועוזרים. לי אישית זה היה קצת רחוק להגיע. מידע על מועדי המפגשים מתפרסם בקבוצת הפייסבוק JavaScript Israel. שווה להצטרף לקבוצה גם בלי קשר!

וקצת פחות קשור, אבל כנראה די רלוונטי לקהל היעד של הפוסט ולשאלה ״איך להתחיל״:

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

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

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

2. לאנשים שפחות בקטע של להוציא את האף מהבית

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

מה עושים: עובדים על פרויקט באיזשהו מיזם/ארגון קוד פתוח במשך שלושה חודשים מהבית עם ליווי ומקבלים על זה תשלום (כ־6,000 דולר, הסכום מחולק על פני כ־3 חודשים). העבודה היא עם חברות ותיקות וידועות, כמו קרן ויקימדיה (שעומדת מאחורי מיזם ויקיפדיה) ומוזילה (שאחראית בין השאר ל־MDN והדפדפן Firefox שחלקכם צעירים מכדי להכיר, כי Chrome כבר השתלט על חיינו), ועוד הרבה הרבה אחרות. כלומר, תרוויחו מזה התנסות בחברה בינלאומית, תלמדו ממפתחים מנוסים. בעיניי זו הזדמנות מדהימה. התוכניות האלה מקבלות אנשים מכל רחבי תבל (או חלק ניכר, בכל אופן), וזה כולל בפרט את ישראל.

א. קיץ הקוד של גוגל — את זה עשיתי

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

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

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

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

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

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

ב. אאוטריצ׳י — את זה לא עשיתי

תוכנית Outreachy מושפעת מ־Google Summer of Code ובנויה בפורמט דומה, אבל פחות מהוקצעת, כי היא חדשה יותר. אבל היתרון: היא מתקיימת פעמיים בשנה, פעם בחורף ופעם בקיץ.

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

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

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

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

אז לסיכום

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

פיל קטן
מנטורינג

 

10 תגובות בנושא “הקוד פתוח, עוד לא מאוחר”

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

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

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

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

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

      מקווה שזה עוזר.

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

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

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

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

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

  2. אהבתי ממש את הרעיון של הGoodness Squad
    והפרויקט של גוגל לנוער נשמע נהדר. אקרא קצת ואראה אם אני מפנה אליו…
    תודה!

  3. קוד הוא דבר שאיננו פשוט
    כמו כל דבר שצריך קידוד או חיטוט
    קיצורי דרך ומשמעויות נסתרות
    מפתח לדלת אך בלי אוצרות
    קיץ של קוד נשמע קצת דן בראון
    חרדה חברתית כמו רחל
    ניסיתי להטריל ויצאתי פואטי
    את הכל הקוד מקלקל.

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

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

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

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

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

כתיבת תגובה

האימייל לא יוצג באתר.

one × two =