"אז מה זה ה-DataSet הזה שלכם?"
"רגע, איפה אתם שומרים את ה-Cache של ה-Smart App? ב-Isolated storage? מה זה???"
"מה זאת אומרת לדאוג שלקוד שכתבתי יש הרשאות לרוץ???"
אני תומך גדול בכך שתעשיית התוכנה תקבע לעצמה תקנים בתחום ההדרכה.
תעשיית התוכנה צריכה לעשות לעצמה רגולציה בהוכחת ידע המינימלי הנדרש.
סטנדרטיים של הוכחת ידע מינימליים צריכים להתקיים ולבוא מתוך התעשייה ולא מהאקדמיה. חובה שתהיה אבן-בוחן שתאפשר למצוא ולהבדיל בין בעלי הידע והניסיון הרלוונטיים מבין חסרי הידע וחסרי הניסיון.
הצורך הזה בא משני דרישות יחודיות של תחום התוכנה: מתחום גיוס משאבי אנוש שכדי למצוא קורות חיים מתאימים מחפשים Buzz-words מגניבות (UML, SOAP, SOA ומה לא) ומתחום חפיפה ראשונית לתפקיד מפתח תוכנה בהיי-טק שאומר שאנחנו חייבים לדעת מה הבן-אדם מולנו יודע.
מבחני הסמכה מקצועיים הם האבן-בוחן הזו שהתעשייה צריכה באופן נואש.
לא יכול להיות שמישהו שעובד שנתיים בדוט נט לא מכיר מונחים בסיסיים, לא טרח לבדוק אילו כלים באים עם ה-Framework ולא יודע איך לגשת בצורה מקצועית ל-ADO.Net.
מיקרוסופט, כמו כל חברה מסחרית עם טכנולוגיה על שמה, הוציאה סט של מבחני הסמכה ותעודות מקצועיות כדי להבדיל את בעלי הניסיון והידע.
מבחינתי, מבחני הסמכה ותעודת מקצועיות הם דרך לגלות שהבן-אדם שאני מדבר איתו או שאולי אפילו יושב מולי בראיון עבודה הוא בעל הידע מינימלי כלשהו שמיקרוסופט קבעה שהוא נדרש לעבודה בדוט נט. זה לא אומר שהבן-אדם מושלם, זה לא אומר שהבן-אדם לא יכול לטעות, אבל זה כן אומר שהוא לפחות בעל שנה ניסיון ועשה מאמץ להרחיב את ידיעותיו להכליל לא מעט נקודות מקצועיות חשובות.
אחד מהדברים החשובים באמת במבחני הסמכה של מיקרוסופט – אין שום דרך לעבור אותם בלי לרמות אלא אם כן יש לך שנה של ניסיון עבודה אמיתי ומוכח בדוט נט. זה לא משהו שמיועד לסטונדטים שרוצים לצבור עוד שורה בקו"ח, אלא הוכחת ידע מקצועי רלוונטי לתכנתי דוט נט.
עכשיו נדבר קצת על איך עושים מבחן הסמכה, איזה מבחני הסמכה ומה מרכיב תעודה מקצועית של מיקרוסופט. ישנם שני סטים של מבחני הסמכה ותעודות מקצועיות למפתחים: הסט של דוט נט 1.1 והסט של דוט נט 2.0.
הסט של דוט נט 1.1 כולל את המבחנים הבאים:
70-305 ו-70-315 – מבחן הסמכה ב-ASP.Net 1.1 ב-VB.Net או C# (בהתאמה).
70-306 ו-70-316 – מבחן הסמכה ב-Winforms 1.1 ב-VB.Net או C#.
70-310 ו-70-320 – מבחן הסמכה ב-Serviced Components, Webservices & Remoting ב-VB.Net או C#.
שלושת המבחנים האלו יזכו את מי שעשה ועבר אותם בתעודת Microsoft Certified Application Developer או בקיצור MCAD. תקראו את המילים – מפתח אפליקציה מוסמך של מיקרוסופט. מיקרוסופט באים ואומרים "אתה חמוד אתה. לאחר מבחני הסמכה קשים ומפרכים הוכחת שיש לך חתך ידע נדרש בכל התחומים הרלוונטים בדוט נט".
החברה שבאה ויצרה את הטכנולוגיה באה לבן-אדם ואומרת לו מבחינתנו אתה יודע את הבסיס הנדרש. לי, כבן-אדם שצריך לעמוד על טיב הידע המקצועי של האנשים שעומדים מולי על בסיס יומי – זה נהדר.
ב-MCAD אפשר לעשות קצת משחקים במבחנים, ספציפית אפשר לעשות את המבחן של Winforms או של ASP.Net, לעשות את המבחן של WebServices ולעשות עוד מבחן אחד לבחירתך (למשל יש מבחנים בנושא סיקוול סרבר, בנושא BizTalk ובנושא אבטחה). ככה אנשים שעובדים ב-Winforms או ב-ASP.Net יוכלו לעשות רק את המבחן הרלוונטי להם והם לא חסומים מקבלת תעודת MCAD. לעוד פרטים על תעודת ההסמכה MCAD:
http://www.microsoft.com/learning/mcp/mcad/requirements.asp
כהרחבה אפשרית לתעודת MCAD של שלושה מבחני הסמכה קיימת תעודת ה-MCSD של חמישה מבחני הסמכה. תעודת ה-Microsoft Certified Solution Developer שונה מתעודת ה-MCAD במה שמיקרוסופט אומרת שהתעודה מעידה אלייך. התעודה לא רק אומרת "הוא יודע את מינימום הקוד הנדרש", אלא "הוא יודע איך לבנות אפליקציה מההתחלה ועד הסוף". התוספת החשובה מאוד למבחני ההסמכה של MCAD כדי לקבל תעודת MCSD הוא מבחן 70-300 שהוא לא מבחן של קוד.
מבחן ההסמכה 70-300 בא ושם אותך מול סיטואציות של העולם האמיתי. המבחן מורכב משלושה בחנים קטנים יותר, כאשר בראשיתו של כל אחד מהם צריך לקרוא סיפור על איך אתה נבחרת לפתח אפליקציה לחברה. כחלק מהסיפור אתה מקבל את תוצאות הראיונות עם אנשי מפתח בחברה, הסבר על המצב הקיים ומכאן והלאה אתה צריך לדאוג שכל תהליך הפיתוח יתקתק.
זה מבחן שמיועד לחבר'ה שיכולים להרים פרוייקט מהתחלה ועד הסוף. שואלים שאלות מהעולם האמיתי כמו איך לחשוף WebService מרשת סגורה לאינטרנט, איך לסנכרן בין דוט נט פריימוורק ל-MainFrame ועל איך לפרוס אפליקציות במבנה שרתים מבוזר. אלו לא סוגיות שילמדו באוניברסיטה ולא ילמדו את זה בשום ספר – זה או בא מהחיים האמיתיים או לא בא בכלל.
בנוסף למבחן 70-300 נדרשים לעשות מבחן בחירה נוסף מבין 20 מבחנים אפשריים (למשל תכנון מסדי נתונים).
אם נביט על הדיאגרמה הזאת אפשר לראות את כל ההבדל:
MCSD מכיל בתוכו את תעודת ה-MCAD אבל גם בא ואומר "אתה יכול לבוא לראות את הדרישות של הלקוח מול המציאות ולדאוג להתחיל להניע את תהליך הפיתוח". לפרילאנסרים זה מצויין! זה מיקרוסופט שבאים ואומרים למי שרוצה לשכור אותך "הבן-אדם הזה מתאים לבנות לך את האפליקציה. דאגנו לזה."
עוד על MCSD:
http://www.microsoft.com/learning/mcp/mcsd/requirementsdotnet.asp
בדוט נט 2.0 המצב יחסית דומה. יש את תעודות ה-MCTS (Microsoft Certified Technology Specialist, שהם שדרוג לתעודת ה-MCAD) ויש את תעודות ה-MCPD (Microsoft Certified Professional Developer" שהם שדרוג לתעודות ה-MCSD).
הסיבה שאני אומר "תעודות" זה כי מיקרוסופט החליטו שלא צריך יותר תעודות ג'נאריות של "אני יודע את המינימום על הרבה תחומים בדוט נט" אלא עדיפות תעודות של "אני יודע הרבה על תחום ספציפי בדוט נט".
אז יש תעודת MCTS\MCPD לאפליקציות חלונאיות, יש תעודת MCTS\MCPD לאפליקציות Web ויש תעודת MCPD\MCTS למערכות מבוזרות.
לכל אחת מתעודות ההסמכה החדשות של דוט נט 2.0 נדרש מבחן 70-536 שהוא מבחן ההסמכה הבסיסי על דוט נט פריימוורק 2.0. המבחן דורש תכלס' עבודה בתחום של חצי שנה לפני שאפשר לעבור אותו.
לתעודת MCTS בכל תחום נדרש בנוסף למבחן הבסיסי עוד מבחן ספציפי באותו תחום (70-528 ל-ASP.Net, 70-526 ל-Winforms, 70-529 למערכות מבוזרות). המבחן הוא מבחן בסיסי. הוא דואג שבאמת יש ניסיון של העולם האמיתי בדוט נט 2.0 באותו תחום ספציפי.
בדומה להבדל בין MCAD ל-MCSD ההבדל בין MCTS ל-MCPD עומד על האם בנוסף ליכולות כתיבת הקוד הבן-אדם גם יודע לפתח אפליקציה מהתחלה ועד הסוף. כדי לשדרג מ-MCTS ל-MCPD באותו תחום נדרש מבחן הסמכה מתקדם באותו תחום. המבחן המתקדם הזה הוא לא מבחן של קוד, הוא מבחן של הבנה, זה מבחן שדורש מהנבחן להראות שהוא יודע איך לפתח אפליקציה ומה התפקיד של כל פיסת טכנולוגיה.
עוד על תעודות MCTS:
http://www.microsoft.com/learning/mcp/mcts/default.asp
עוד על תעודת MCPD:
http://www.microsoft.com/learning/mcp/mcpd/default.asp
אמרנו המון דברים על איך ולמה, אבל בטוח שיש לכם המון שאלות. אז הנה כמה שאלות ששמעתי והתשובות שלי להן.
כל זה טוב ויפה, אבל מה אני תכלס מקבל מכל העבודה הזאת והאם זה שווה?
זה תלוי בבן-אדם. לרוב יש במבחני הסמכה יש את כלל ה 80-20. תוכניתן שחושב לעשות מבחן הסמכה צריך לדעת 80% מהחומר בכלל לפני שהוא שוקל לעשות מבחן הסמכה, את ה-20% הנוספים צריך להשלים בתהליך של למידה. הלמידה הזאת יכולה להיות כמו למידה אקדמאית ("למידה לשם הקאת החומר במבחן") או שאפשר ללמוד בשביל שבעתיד שנצטרך את החומר הזה נדע לעבוד איתו. אם תחליט ללמוד רק בשביל "לעשות את התהליך" לא תוציא שום דבר חוץ מתעודת ההסמכה הפיזית. אבל אם תלמד כי אתה באמת רוצה לדעת את החומר, כי אתה יודע שבעתיד אתה תצטרך את החומר להתקדמות מקצועית וכי אתה מרגיש שאתה חייב ישור קו – זה הדבר בשבילך.
למבחני הסמכה יש את הנטייה המעצבנת הזו להציב תאריך בחיים שלנו שבו אנחנו צריכים לדעת כמות מסויימת של חומר מקצועי. זה דורש מאתנו כמפתחים להגיע לישור קו מקצועי עם הדרישות של מיקרוסופט. כן, למי שיש משמעת עצמית, מצפון וזמן פנוי יכול להגיע לזה לבד בלי תאריך מעל הראש שלו. אבל תכלס', בחיים המאוד לחוצים שלנו זה טוב שיש גם משהו בלו"ז שאומר לנו להשקיע בידע המקצועי שלנו.
טוב, כל זה נכון ויפה בארה"ב או באירופה, אבל איך נרשמים בישראל?
בכל העולם לכל החברות שעושות מבחני הסמכה יש שני סוכניות מבחנים - Thompson prometric ו-PersonVUE. נכנסים לאתר שלהם, בוחרים איזה מבחן הסמכה רוצים, איפה רוצים להיבחן (יש מרכזי בחינה בכל הארץ) ודואגים ביום הבחינה להגיע. שתי החברות מאוד מקצועיות. אני אישית נבחנתי ב- Thompson prometric ומאוד אהבתי את מרכז הבחינה הרשמי שלהם במרכז תל-אביב (מקום יפה, נקי, שקט, עם אנשים מקצועיים, חוויית בחינה אמיתית). אגב, דרך החברות האלו אפשר להירשם לאותם מרכזי בחינה של כל מרכזי הלימוד למיניהם.
ומה עם קצת לרמות? הרי, אתה לא יכול לצפות שאני באמת אשב ואלמד...
כמו כל מבחן בחיים – גם מבחני הסמכה אפשר לרמות.
אם תחפשו את מספר הבחינה בצירוף עם Braindump תוכלו למצוא חלק מהשאלות עם תשובות למבחן הסמכה שלכם. Braindump זה חברה כלשהי ששלחה אנשים שלה למרכז הבחינה כדי לעשות את המבחן ושיעתיקו החוצה את השאלות.
בקונספט הזה יש שלוש בעיות:
הבעיה הראשונה, Braindump עולה יותר מהמבחן עצמו. בחוגים מקצועיים מתייחסים לזה כ-"מס רמאות". אם אתה מרמה – אתה תשלם על זה. ועדיף בכרטיס אשראי בתשלום אחד לחברה שהנציגות היחידית שלה היא בהודו.
הבעיה השנייה, אפשר לראות עלייך שרימת. אם אתה אומר שעברת מבחן ב-Winforms אבל לא יודע איך להפוך את הרקע של טופס לשקוף או שעברת מבחן ב-ASP.Net אבל אין לך מושג איך לעבוד עם ה-Cache – רואים שרימת. לעשות מבחן רק בשביל לעשות מבחן זה בזבוז של זמן וכסף.
הבעיה השלישית, מיקרוסופט מציעה היום (עד סוף יולי) Second Chance למבחני הסמכה של דוט נט 2.0. זה אומר שאם לא עברת בניסיון הראשון את המבחן אז הניסיון השני עליהם חינם-אין-כסף. בשביל מה לשלם כסף על מה שנותנים לך חינם?
אתה כל הזמן אומר "שנה ניסיון", ואם היום סיימתי ללמוד באונ' זה מתאים לי או לא?
לא.
סיכמנו קודם לכן ש-80-20 דורש ניסיון תכלס' שאין לך.
סיכמנו שרמאות אפשר להריח עלייך (במיוחד שמבחן הסמכה דורש שנה ניסיון ולך אין כלום).
מה שנשאר לך זה לחרוש. אז תחשוב לבד אם שווה לך להשקיע חצי שנה בלימודים אינטנסיביים ולשלם על זה דרך האף, במקום ללכת לעבוד ולהרוויח את הניסיון הזה ברצינות.
אני רוצה לעשות מבחן הסמכה, מה עכשיו?
דבר ראשון, תחליט איזה מסלול אתה רוצה לעשות – דוט נט 1.1 או דוט נט 2.0.
אם תתחיל בדוט נט 1.1 תוכל לשדרג את התעודות לדוט נט 2.0 וסה"כ בסוף תעשה אותה כמות מבחנים רק שתקבל גם את התעודות של דוט נט 1.1. בנוסף, השוק המקצועי ידרוש לפחות לשנה הקרובה את התעודות של דוט נט 1.1.
אחרי שהחלטת איזה מסלול אתה רוצה לעשות, תיכנס לאתר הרשמי שלו במיקרוסופט ותראה איזה מבחנים אתה צריך לעשות לתעודה הבסיסית (MCTS או MCAD). תראה את הנושאים למבחן ותחליט לעצמך מסגרת זמן לעשות השלמת פערי ידע מקצועי לקראת המבחן. 24 שעות לפני שאתה רוצה לגשת למבחן תיכנס לאתר של אחת מהחברות הסמכה ותירשם למבחן.
אמרת שאתה MVP ואני לא מזהה את הקיצור הזה, איזה מבחני הסמכה צריך לעשות כדי לקבל MVP?
MVP זה לא תעודת הסמכה.
זאת תעודת מצויינות שניתנת לאישיים נבחרים בתחומים מקצועיים שהראו מיומנות טכנית יוצאת דופן ובעלי היסטוריה של תרומה לקהילה הטכנולוגית. בישראל סה"כ יש 28 MVPים (ואנחנו המדינה עם יחס ה-MVPים ביחס לגודל האוכלוסיה הגדול בעולם).
אין קשר בין מבחני הסמכה ל-MVP.
שורה תחתונה, לסיכום - אתה, ג'סטין, הרווחת מזה משהו?
כן. הרווחתי.
ה-20% האלו שלא היה לי קודם היו בדיוק מה שהייתי צריך. אני מרגיש שהגעת לרמת ידע מקצועי שהייתי צריך והיום אני מוקד ידע העבודה שלי. המבחני הסמכה מכריחים אותך לצאת מה-Comfort zone הטכנלוגי שלך וללכת לאזור שאתה לא מכיר. ובעוד שנה שאתה תצטרך לעשות משהו שונה ממה שאתה רגיל – אתה תידע איך לעשות את זה.
Remember Me