לפתח לבד מול להביא צוות - מה למדתי מלבנות רשת אפליקציות כמורה במשרה מלאה
אין לי סיפור על "גריינד" של לילות בלי שינה. יש לי סיפור על מה שבאמת אפשר לעשות לבד עם כלים חכמים ותזמון נכון - ומה, בכנות, לא.
השאלה שאני מקבל הכי הרבה היא "איך הספקת לבנות את כל האפליקציות האלה לבד, בזמן שלימדת במשרה מלאה". יש בשאלה הזאת הנחה סמויה, שהתשובה חייבת להיות משהו דרמטי - לילות בלי שינה, קפה בלי סוף, ויתור על חיים אישיים.
זה לא מה שקרה. וחשוב לי לכתוב את זה, כי המיתוס הזה מזיק - הוא גורם לאנשים לחשוב שיזמות סולו דורשת שריפה עצמית, ואז או שהם לא מנסים, או שהם מנסים ונשרפים.
מה שבאמת אפשרי לבד
אפשר, לבד, לבנות מוצר שלם - קוד, עיצוב, תשתית, תוכן. ראיתי את זה קורה אצלי. הכלים שקיימים היום מקצרים משמעותית את מה שפעם דרש צוות: אפשר להקים תשתית ענן שלמה, לכתוב קוד בעזרת עוזרים חכמים, ולהריץ בדיקות אוטומטיות - הכול בלי לגייס אף אחד.
אבל "אפשרי" ו"בר-קיימא" הם לא אותו דבר. וזה החלק שהמיתוס מדלג עליו.
מה שלא אפשרי לבד, ובכנות
- אין מי שיגיד לך שאתה טועה בזמן אמת. בצוות, מישהו רואה החלטה גרועה לפני שהיא הופכת לקוד שיושב שם חצי שנה. לבד, אתה מגלה את זה מאוחר יותר - וזה עולה זמן.
- עייפות החלטות היא אמיתית וכל ההחלטות עליך. לא רק "מה לבנות", גם "איזה צבע", "איזה טקסט", "האם זה מוכן". בצוות זה מתחלק. לבד, הכול עובר דרך אותו ראש עייף.
- אין תחליף לזמן פנוי לחשוב. צוות יכול לעבוד במקביל בזמן שאתה חושב. לבד, זמן שהולך על חשיבה הוא זמן שלא הולך על בנייה, ולהפך.
מה שהפך את זה לבר-קיימא לא היה עבודה יותר קשה - היה תזמון נכון יותר. במקום לנסות לעבוד כמו צוות, בניתי סביב מה שבן אדם אחד עם לוח זמנים אמיתי יכול באמת לעשות: לא הכול בבת אחת, לא כל יום, אבל בעקביות שמצטברת. הן לא נבנו בספרינט - הן נבנו לאורך זמן, בין שיעורים.
הכלים לא מחליפים שיקול דעת - הם קונים זמן
הסיבה שסולו-פיתוח היום שונה ממה שהיה לפני עשור היא לא "יש AI אז הכול קל". זה שכלים חכמים מוציאים מהדרך את החלק הטכני-חוזר - כתיבת שלד קוד, בדיקות, ניפוי שגיאות בסיסי - ומשאירים לך את החלק שבאמת דורש אותך: מה לבנות, ולמה, ולמי.
זה לא הופך בן אדם אחד לצוות. זה נותן לבן אדם אחד יותר שעות ליום למה שרק הוא יכול לעשות.
שלושת הכללים שהחזיקו את זה
אין כאן שיטה, אבל יש שלושה דברים שאם הייתי מוותר על אחד מהם — זה היה נופל.
1. לעולם לא להתחיל משהו שאי אפשר לסיים בישיבה אחת. לא פיצ׳ר שלם — יחידה שלמה. פונקציה שעובדת, מסך שנטען, באג שנסגר. קוד שנשאר פתוח באמצע הוא קוד שאחזור אליו בעוד שבוע בלי לזכור למה עשיתי מה שעשיתי, ואשלם על זה פעמיים.
2. לכתוב למה, לא מה. ההערות בקוד שלי לא מסבירות מה השורה עושה — זה קריא ממילא. הן מסבירות למה היא נראית ככה ולא אחרת, ומה ניסיתי קודם שלא עבד. אני הצוות היחיד שלי, וגם הסוקר היחיד שלי — וההערה הזאת היא כל מה שיעמוד ביני לבין החלטה שאחזור עליה בטעות בעוד חצי שנה.
3. לתת לבדיקות להיות הזוג עיניים השני. אין מי שיגיד לי ששברתי משהו, אז זה חייב להיות אוטומטי. לא כיסוי מלא — רק על החלקים שאם יישברו בשקט, אגלה את זה מאוחר מדי.
מה זה עשה לי מחוץ למסך
זה החלק שלא מדברים עליו מספיק. פרויקט סולו לא נגמר בשעה חמש, כי אין אף אחד שממשיך אחריך. הדבר היחיד שמנע מזה להשתלט היה גבול קשיח: אחרי שעה מסוימת בערב, לא נוגע בזה. לא כי סיימתי — כי אני עייף, וקוד שנכתב בעייפות אני מוחק למחרת ממילא.
זה נשמע כמו עצה על איזון. זו לא. זו עצה על יעילות — הערב שבו לא עבדתי הוא מה שאיפשר את הבוקר שבו כן.
מתי כדאי להביא צוות
לא כתבתי את זה כדי לשכנע שסולו הוא תמיד נכון. יש נקודה שבה זה מפסיק להיות בר-קיימא: כשקצב הצמיחה עובר את קצב שבו בן אדם אחד יכול לקבל החלטות איכותיות, או כשהמורכבות מגיעה לרמה שבה עוד ראש בחדר יחסוך יותר זמן ממה שהוא עולה. עד שם, הבחירה הנכונה היא לא "כמה שיותר מהר", אלא כמה שאפשר לשמור בקצב שלא שורף אותך.
כתבתי על הצד המעשי של זה — מה בדיוק הפסקתי לעשות ידנית — בלמה אוטומציה היא כבר לא פריבילגיה.
להמשך קריאה
למה אוטומציה של תהליכים היא כבר לא פריבילגיה - אלא חובה לכל עסק קטן ומורה יזם
בניתי את אפליקציות BaClick בזמן שלימדתי במשרה מלאה. לא כי יש לי יותר שעות ביממה מאף אחד אחר, אלא כי הפסקתי לעשות ידנית כל דבר שאפשר להאציל למערכת. זה השיעור שלקח לי הכי הרבה זמן ללמוד.
5 דרכים שבהן רכזי תקשוב ואנגלית יכולים לנצל טכנולוגיה כדי לפנות זמן למה שחשוב באמת
אני מלמד אנגלית, ומשמש גם רכז תקשוב וגם רכז התאמות באותו בית ספר. חמישה שינויים קטנים שבאמת חסכו לי שעות בשבוע - לא כלים מהפכניים, רק החלטות שהפסקתי לדחות.
איך בנינו מערכת שעות בית-ספרית באוטומציה מלאה - ומה למדנו על אופטימיזציה
רכז מערכת שעות מחזיק בראש כ-400 אילוצים בו-זמנית, ולא רואה איזה שניים מהם סותרים. זה לא סיפור על תוכנה חכמה - זה סיפור על ההבדל בין בעיית סבלנות לבעיית סתירות.