מסלול הלימוד הנכון של ארכיטקט מערכות תכנה

22 בדצמבר 2016

אין תגובות

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

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

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

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

ל Juval Lowy מחברת IDesign Inc יש סיפור חיים מעניין, שסובב כולו סביב עולם הארכיטקטורה של מערכות תכנה. יש ל Juval נסיון של כמה עשרות שנים בתחום ניהול פרויקטי תכנה ובניית ארכיטקטורה של מערכות תכנה. תחת ידיו עברו מאות ארכיטקטורות ותכנוני פרויקטים שלו, של הצוות שלו ושל מאות לקוחות שלו, כולל פרויקטים שנכשלו אצל לקוחות והוא נקרא לעשות להם Recovery. את כל הכמות העצומה הזו של ארכיטקטורות ופרויקטים Juval מדד בכלים מדעיים וניתח אותם על פי ממדים שונים. כתוצאה מכל המחקר הזה, יש ל Juval המון פרספקטיבה והרבה תובנות חשובות. מאות הלקוחות של Juval באים כמעט מכל שכבות התעשיה והמסחר, מכל גודל של ארגון ופרויקט והתבצעו כמעט בכל טכנולוגיה אפשרית (ולא רק של מיקרוסופט). עם קריירה בינלאומית כזו ועם הכרה מקצועית של כל הגופים המוליכים בתעשייה, ניתן להניח בוודאות רבה ש Juval הוא Master אמיתי ולא סתם “אומן”.

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

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

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

מסלול ההדרכה מתחיל בהשתתפות בסדנת ה Architect’s Master Class. אלה חמישה ימים של דחיסת חומר מ 8:30 בבוקר עד 19:30 בערב. זה קורס קשה, ספר הקורס מכיל קרוב ל 800 שקפים (צבעוניים) שכל אחד מהם דן באספקט שונה, שנמצא באחריותו של ארכיטקט התכנה, שמתכנן את מערכת התכנה. ההנחה היא שבאת לקורס הזה כי אתה רוצה לבנות ולנהל ארכיטקטורה ופרויקט תכנה על פי מדדים הנדסיים מוגדרים וברורים ולא כפרויקט אומנות סובייקטיבי שאף פעם לא עומד בזמנים, בתקציב ובמדדי האיכות הנדרשים. בסדנה הזו הרצפה מלאה בדם של פרות קדושות והקירות מלאים בחתיכות מוח של ראשים מתפוצצים (של המשתתפים). אבל התוצר הוא שהמשתתף יוצא עם זוית וכיוון הסתכלות חדש על העולם, ועם שינוי משמעותי (משנה חיים) בגישה שלו לפתרון בעיות תכנה ולניהול פרוייקטי תכנה.

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

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

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

השלב השני של מסלול הארכיטקט הוא סדנת ה Project Design Master Class. לסדנה הזו הארכיטקט אמור להביא ביחד איתו (קשור ברצועה ועם מחסום פה) את מנהל הפרויקט (או הפרויקטים) שלו. על מנת שיבין וילמד את התהליך ויוכל להוריד ממנו עומס בשלב התכנון של הפרויקט. חשוב לציין שקורס ה Architect's Master Class אינו תנאי קדם לקורס הזה וקהל היעד של הקורס הזה רחב יותר וכולל מנהלי פרויקטים בכירים ומתכנני פרויקטים. גם הקורס הזה נערך לאורך חמישה ימים קשים וצפופים, שבו לומדים הארכיטקט ומנהל הפרויקט שלו ביחד, איך לתכנן לארכיטקטורה קיימת, מגוון של תכניות פרויקטים, המבוססים על שיקולים הנדסיים ולא על וודו וניחושים. הקורס כולל בנוסף לתהליך התכנון של הפרויקט גם אוסף עצום של טכניקות וכלים, הנותנים למנהל הפרויקט יכולות לעקוב נכון ובצורה מדוייקת אחר הביצוע בפועל של הפרויקט. כלים לטיפול נכון בשינויים (שיהיו בוודאות) בדרישות. כלים לאתר סטיות בביצוע מהתכנון וידע כיצד לטפל בהם מספיק מוקדם, כך שהם לא ישפיעו על המטרה הסופית שהיא לתת את התוצר בזמן, בתקציב ובאיכות.

השלב השלישי והרביעי בתהליך הלימוד הוא התמחות של הארכיטקט בתהליך המנטלי של בניית הארכיטקטורה מתוך הדרישות ובתהליך של בניית התכנון של הפרויקט. הכוונה היא לתרגול מעשי של התהליך של בניית ארכיטקטורה, על כמות גדולה של מפרטי דרישות, בתנאים שהם סימולציה מלאה לעולם האמיתי ותרגול מעשי של בניית תכנון של פרויקטים למגוון של ארכיטקטורות. לצורך זה יש שתי סדנאות כל אחת מתמקדת במטרה אחרת. אלה הסדנאות של Architecture Clinic ו Project Design Clinic. כל אחת מהן היא  סדנה של חמישה ימים (כרגיל קשים ומפרכים), שאליה באים בוגרי ה Architect Master Class  וה Project Design Master Class בהתאמה. לסדנת ה Architecture Clinic מביא כל אחד מהמשתתפים, אוסף דרישות של פרויקט (רצוי אמיתי, מההיסטוריה, מההוה או מהעתיד המקצועי שלו). המשתתפים מתחלקים לקבוצות עבודה, ועושים במקביל ארכיטקטורה מלאה לאחת מהדרישות (כולם עובדים על אותו פרויקט רק בקבוצות שונות). כל קבוצה מציגה את הפתרון שלה (לאותה בעייה) ומקבלת משוב מיידי, הן מהקבוצות האחרות והכי חשוב מהמנחה של הסדנה. אבל זה רק ההתחלה, לאחר האיטרציה הראשונה בוחרים מפרט אחר וחוזרים על התהליך, וככה ממשיכים באיטרציות לאורך כל החמישה ימים. לאחר בניית כמות כל כך גדולה של ארכיטקטורות, המשתתף צובר נסיון פרקטי רב בתהליך הארכיטקטוני, מקבל המון תובנות לאורך התהליך ומתמקצע לרמה גבוהה יותר בתחום שלו. מה שיותר חשוב, הוא מסוגל לבנות ארכיטקטורה מסט של דרישות תוך כמה ימי עבודה. סדנת ה Project Design Clinic היא תמונת ראי של סדנת ה Architecture Clinic רק שהיא עושה אותו דבר על תכנון הפרויקט ולא על הארכיטקטורה.

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

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

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

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

 

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *