מתכנתים שאני רוצה לעבוד איתם
מקריאה במודעות דרושים נראה לפעמים שכולם מחפשים נינג'ות או תותחים או סופרסטארים או מה שלא יהיה, וזו טרמינולוגיה קצת מלחיצה. רוב האנשים לא יגדירו את עצמם בתור נינג'ות ובינינו אני לא בטוח שהייתי רוצה לעבוד עם אלה שכן. ובכל זאת אנחנו יודעים שיש מתכנתים ומתכנתות שמצליחים תמיד למצוא עבודה גם בטכנולוגיה שאף פעם לא נגעו בה, ויש כאלה שגם אחרי 5 שנים ניסיון עדיין יתקשו להחזיק במשרה. אז כן אני חושב שאנחנו צריכים שם אחר בשביל האנשים האלה שאנחנו רוצים לעבוד איתם, אבל את התכונות שלהם יחסית קל לזהות:
1. להתעקש למצוא פיתרונות
אני תמיד מעדיף לעבוד עם אנשים שמוצאים את הדרך לפיתרון, גם כשהפיתרון הברור לא עובד. התשובה "כתבתי את זה ככה כי זה מה שעבד" הרבה יותר טובה מ"ויתרתי על הפיצ'ר כי לא הצלחתי לגרום לו לעבוד".
2. זה לא המחשב, זה אתה
מתכנתים טובים אף פעם לא יאשימו את המחשב, כי הם יודעים שהבעיה האמיתית היא במי שכותב את הקוד. כבר לפני עשר שנים פירסם ג'ף אטווד מאמר מעולה עם הכותרת הכלל הראשון של תכנות: זו תמיד אשמתך, והוא צודק כמובן.
למתכנתים טובים אין בעיה לצלול לפינות הכי אפלות של הקוד כדי למצוא מה שבור, ולמה מנגנון מסוים לא עובד כמו שכתוב בהוראות.
3. לדעת לתת לפני שלוקחים
מתכנתים טובים ישלחו Pull Requests לפרויקטים בהם השתמשו מגיטהאב כשצריך לתקן, יפתחו Issue כשצריך לפתוח אחד ומבלים חלק משמעותי מהזמן שלהם בלעזור למתכנתים אחרים. ולא, לעזור לאחרים זה לא לפתור להם את הבעיות - לעזור לאחרים זה להראות להם את הבעיות. מתכנתים טובים יודעים שכשהאנשים שסביבם ידעו לראות בעיות בצורה טובה יותר כולם ירוויחו, ושגם ההצלחות שלנו מגיעות במידה רבה בזכות הקהילה והאנשים שעזרו ועוזרים לנו לאורך הדרך.
זאת הסיבה שהדבר הראשון שאני מסתכל עליו בפרויקט Github של מתכנת יהיה איזה Pull Requests הוא שלח ואיזה מהם התקבלו, הרבה לפני שאסתכל על פרויקטי הצד והקוד שאותו מתכנת כתב.
4. להתאמץ למצוא את הדרך הקלה
לארי וול כתב פעם על שלושת התכונות החשובות ביותר למתכנתים שהן: עצלנות, חוסר סבלנות והיבריס. שילוב של כל השלוש הוא שדוחף אותנו להתאמץ למצוא את הדרך הקלה אפילו כשממש לא ברור מהי, ובדרך לכתוב פיתרונות יצירתיים וחדשניים לבעיות.
מתכנתים שאני רוצה לעבוד איתם יעבדו מאוד קשה בשביל לכתוב תוכניות שחוסכות להם זמן, פשוט כי הם מתעצלים לעשות את אותה עבודה שגרתית שוב ושוב.
5. ללמוד מכל מי שאפשר
מכל האנשים אלה שהכי מלחיצים אותי הם אלה שחושבים שהם כבר יודעים הכל וכבר ראו הכל. כשאני שומע מתכנת אומר לי שכל שפות התכנות הן אותו דבר, או שאחרי שכתבת כמה אפליקציות אתה כבר מבין איך דברים עובדים, אני מחייך ובורח.
המתכנתים שאני רוצה לעבוד איתם יחפשו תמיד את הדבר השונה, החדש, את הדבר הנוסף שאפשר ללמוד - מהפרויקט, משפת התכנות או מהחברים לצוות.