IMG-4971

מעריכת דין לתכנות עם עורך דין לשעבר יוס ישראל

כל הפוסטים בסדרת מעריכת דין להייטק:
1 – הסיפור האישי שלי, ורקע בסיסי על סוגי חברות וסוגי תפקידים בחברות הייטק
2 – צעדים פרקטיים למעבר מעריכת דין להייטק, עם עורכת דין לשעבר מעין שנדרוביץ’ אשד
3 – מעריכת דין לניהול מוצר, עם עורכת דין לשעבר אופיר שרון
4 – מעריכת דין למחלקת רכש טכנולוגי, עם עורך דין לשעבר ישי פיגנבוים
5 – מעריכת דין לתכנות, עם עורך דין לשעבר יוס ישראל
6 – מעריכת דין לניהול מוצר ב-Playtika, עם עורכת דין לשעבר ענבר אסיף

לאחר הלימודים יוס התמחה במשרד שבלת יחד עם בת הזוג שלי (היי דורצה! אוהב אותך! יש בגדים רטובים במכונת הכביסה, אז תעמידי בבקשה מייבש!), וכמה חודשים לאחר בחינות הלשכה החל לעבוד כ… 2nd Tier Support Engineer ב-Taboola. רגע, מה? מה הקשר? מה זה אומר בכלל? איפה היה כתוב שיוס גם יודע לתכנת?

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

יוס עשה את זה במסלול ייחודי – הוא למד לתכנת לבדו בלי שום רקע קודם בתכנות, ועובד כיום כ-Full Stack Developer, Infrastructure באותה Taboola בה התחיל את המסלול המקצועי השני שלו כשהיה לגמרי טאבולה ראסה.

איך עשה את זה? האם גם אתם יכולים?

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

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

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

י: 70 פנים לתוכנה. 

יש את תחום הפרונט אנד (Frontend), שהוא הפנים שמשתמש הקצה נחשף אליהם. בתחום הזה בעיקר מתעסקים באיך נראים תכנה, אתר או אפליקציה: איזה כפתורים, תמונות וטבלאות יופיעו ואיפה, ואיך המשתמש יחווה את ממשק העבודה שלו. כל מה שקשור לטקסט הויזואלי שאתם שאתם קוראים עכשיו, למשל, תוכנת בפרונט אנד. בדרך כלל קל יותר להשתלב בתחום הזה מאשר בתחומים אחרים. הוא סלחני ויש עבורו היצע קורסים עשיר, גם פרונטליים וגם באתרים כמו Udemy שיכולים ללמד כל אחד איך לכתוב קוד בתחום. השפות שבד״כ ישתמשו בהן הן Javascript, HTML ו-CSS.

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

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

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

תחום שמתפתח בשנים האחרונות הוא ה-QA automation – ב-QA רגיל, אדם בוחן מקרוב מוצר, פיצ’ר או אפילו שורת קוד ומנסה לגלות בהם תקלות. בניגוד ל-QA סטנדרטי שכזה, מפתחי ה QA יקימו סביבות בדיקה שידמו ככל הניתן את העולם האמיתי, וכיצד יתפקד בו קוד מסוים שכתבו המפתחים. מפתחי ה-QA Automation לא בודקים את הקוד ידנית אלא בונים מערכות שיבדקו את הקוד באופן אוטומטי. בחברות מסוימות כל מפתח כותב לעצמו את הבדיקות, ובאחרות האחריות נופלת על מחלקת ה-QA. העולם הזה מאוד רחב והוא יכול לכלול בדיקות בשלל סוגים, למשל של ממשק ה-UI, בדיקות לוגיות של הקוד או בדיקת פעולות של נתח קטן של משתמשים. גם העולם הזה נגיש יחסית והוא מהווה כניסה טובה לעולם התוכנה. התחום רחב ויכול לכלול שפות תוכנה כמו Java, Python ו-Javascript. יש קורסים בתחום, אבל את הפרקטיקה אפשר ללמוד בעיקר תוך כדי עבודה.   

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

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

נ: איך עיצבת לעצמך את מסלול הלימודים העצמאי? איך ידעת איזה ידע יקדם אותך, ואיך כדאי לגשת ללמוד אותו?

י: אני אקדים ואומר שלא חייבים לעשות הכל לבד. יש קורסים מובנים להסבת אקדמאים. למשל, חברות כמו John Bryce משווקות קורסים שמלמדים web development במשך חודשיים אינטנסיביים. 

יש גם קורסים יותר מעמיקים שיעבירו אתכם 7 חודשים אינטנסיביים ביותר מבוקר ועד לילה, עד שתצאו מפתחים עם יסודות טובים. בדרך כלל אחרי תהליך כזה תהפכו להיות מפתחי Backend טובים (דוגמה לחברה שמעבירה קורסים כאלה היא Infinity Lab). החברות האלה מעבירות תהליך סינון שלא כל אחד צולח אותו, וגם המסגרת לא מתאימה לכל אחד. בסוף הקורס, התלמידים הטובים יקבלו כנראה עבודה כמפתחים בחברות גדולות (ב-Infinity Labs, למשל, מבטיחים מציאת עבודה לשנתיים בתום הקורס, בשכר נמוך יחסית שעולה בהדרגה). לאחרונה Taboola לקחה 4 מפתחים בוגרי קורס שעברו את מבחני הכניסה לחברה בהצלחה. מבחינת המפתחים זה לא סוף הסיפור והם יעברו מנטורינג והכשרה ב-Taboola עד שיהפכו להיות מפתחים מן המניין.

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

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

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

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

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

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

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

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

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

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

נ: האם אתה מרגיש מוגבל מבחינת ההתקדמות בקריירה כיום לעומת מי שיש לו רקע “קלאסי” יותר משלך בתכנות?

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

נ: מה טיפ הזהב שלך למי שרוצה לצאת לדרך דומה לשלך?

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

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


את יוס אפשר למצוא בלינקדאיןפייסבוק או ב-yosisrael בג’ימייל נקודה קום.

את נמרוד אפשר למצוא בלינקדאיןפייסבוק או ב-nimrodror בג’ימייל נקודה קום.

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

רשומות נבחרות נוספות

הרשמה למינוי וקבלת עדכון כשמתפרסמת רשומה חדשה