יום שישי, 26 באוקטובר 2018

האם כדאי לעשות קורס QA ?

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


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

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

אוקיי, אז אם אתם עדיין פה - סימן שאתם מעוניינים להמשיך.

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

לפני שנתחיל, קצת הקדמה על התחום (אם אני חופר, תדלגו הלאה).

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

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

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

מתוקף היותו נחוץ והכרחי תמיד - לא ניתן לוותר בקלות על בודקי תוכנה (למשל, כמו שניתן לוותר על עובדים מ- HR או מ - IT) וקיצוץ במחלקת הבדיקות לרוב יכאב לארגון בעיקר לפני שחרור המוצר.

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

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

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

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

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

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

ועכשיו, לשאלות:


האם לעשות קורס QA ?


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

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

אני אומר בגסות שרוב ה"ידע" הנדרש כדי לבדוק מוצר בחיים האמיתיים הוא פשוט להכיר את המוצר טוב ולדעת את חולשותיו ואת הדרישות שלו, יחד עם קמצוץ של מושגי בסיס כמו Functionality ו- Negative Testing תתפלאו לכמה מקומות זה יספיק לא רק כדי לקבל ולאשר את הבדיקות שתכתבו, חלק אפילו יקדמו אתכם לר"צ בדיקות.

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

אז איך אפשר להתקבל בלי קורס ?


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

האם צריך תואר ראשון במדעי-המחשב כדי לעבוד ב-QA ?


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


האם יש עתיד במקצוע הבדיקות ?


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

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

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


באיזה חברות כדאי לעבוד ב-QA ?


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

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

חלק מהמוצרים דורש ידע ספציפי מאד כמו למשל תחום ה-Mobile או ה-Web. בשאר התחומים, אם יש לכם רקע טכני כלשהו ומספר קורסים טכניים - סביר שלא תהיה לכם בעיה.


איך אדע אם תחום הבדיקות מתאים לי או לא ?


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

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

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

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


אם כבר החלטתי לעשות את הקורס - זה משנה באיזו מכללה אני בוחר ?


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


כדאי להתחיל ב-QA למרות שאני רוצה לעבוד בפיתוח ?


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

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

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


לסיום


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

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

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

בהצלחה !













אין תגובות:

הוסף רשומת תגובה