יום חמישי, 7 ביוני 2012

מהם התפקידים האפשריים להייטקיסט המתחיל?

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

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

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

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

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

תמיכה טכנית

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

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

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

בודק תוכנה (QA)

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

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

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

אוטומציה

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

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

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

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

מתכנת 

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

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

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

לסיכום

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

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