ניוזלטר "באות" - יוני 2020
קהילת נשים מנוסות במחקר ופיתוח במדעי המחשב
מפתחות Java
ג׳ין צייניס מפתחת בכירה ב- Behalf:
׳אני באמת אוהבת את העבודה שלי, יש מלא כיף בעשייה היומיומית שלי. הפרויקט שאני ממש גאה בו, זה הקמת ה-Microservice הראשון בחברה. בתור חלוצת הדרך, נהניתי מהזכות להגדיר סטנדרטים ומוסכמות, ולקבל החלטות, אשר בהמשך השפיעו על כל ה-R&D. זאת הייתה פריצת דרך בקריירה שלי והבייבי שלי, למרות שהיה לו שם רשמי, קיבל את הכינוי ״Gene's Service״. הוא הפך לתבנית להקמת Microservices אחרים ואני נהייתי מומחית בתחום. למיטב זכרוני, זה היה גם נושא הראשון בחיי עליו הדרכתי מפתחים אחרים. וזה היה מלא כיף!׳
רותם ריפ מפתחת בכירה ב- bmc:
׳הדבר האהוב עלי ביותר הוא הגיוון, כשמשימה אחת היא design, משימה אחרת היא יותר תשתית או אפילו מעין DevOps, אח"כ poc ומדי פעם support, מצליחים ״ללכלך את הידיים״ בכל האזורים ולא מרגישים שהעבודה חוזרת על עצמה.
חלום חיי, הוא להקים מאגר tutorials איכותיים, שיאפשרו לכל מי שרוצה ללמוד משהו חדש, להיעזר בתכנים שבאמת מצדיקים את השקעת הזמן בהם.׳
שחר גוטשטדט מפתחת Full Stack ב- Oribi:
׳לחלוק ידע זו שיטה מעולה ללמוד, כי זה מכריח להעמיק ולהתכונן, וגם עוזר לזכור את הנושא לאורך זמן.
במסגרת המשרה הקודמת שלי ב-Logz.io, כתבתי פוסטים, העברתי הרצאה בכנס, וגם יצרתי מעין תוכנית ״ליווי מרצות״ פנימית, שם ליוויתי מתכנתות צעירות ודחפתי אותן להעביר את ההרצאה הטכנולוגית הראשונה שלהן. אפשר גם לבצע knowledge sharing לצוות, למי שרוצה להתנסות בפורמט ״עדין״ יותר.׳
שרית פנחס מפתחת בכירה ב- Duda:
׳תחום המחשבים עניין אותי מגיל צעיר, ידעתי שאני רוצה לעסוק בו, ולכן כיוונתי את כל בחירותיי במהלך השנים להגיע למטרה זו.
אני מרצה על מגוון נושאים בתחום כמו Serving TensorFlow models with Kubernetes,
Best practises for working with 3rd party engineers ו-Analysing ML detections at scale.
לאחרונה גם כתבתי כתבה על Spring Framework שפורסמה בגיקטיים.׳
נטלי צוקרל מפתחת בכירה ב- Imperva:
׳אני מאד אוהבת לעבוד בשיתוף פעולה עם אנשים אחרים מהצוות וצוותים אחרים. זה כיף להרגיש שיש תמיד עם מי להתייעץ ומי שיכול לעזור ולהכווין. גם אני לוקחת חלק בפתרון בעיות עבור מפתחים בצוות שלי ועבור לקוחות המוצר.
אני אוהבת ליצור – זה כיף לדעת שיש לך את היכולת ליצור משהו שעובד טוב ושייתן ערך ללקוחות ויעזור להם לעבוד בצורה יותר טובה ונוחה.
בנוסף, אני אוהבת לחקור ולפתור באגים.׳
סוזנה לופטינסקי מפתחת בכירה ב- Dell EMC:
׳במסגרת עבודתי הנוכחית, קיבלתי את האחריות על הובלה של הוספת המוצר שלנו למערכת SaaS שמרכזת מידע ואנליטיקות על כל מוצרי ה- Storage של החברה.
זהו תפקיד מורכב, ומורכבותו נובעת בין היתר מכך שמדובר בעבודה שדורשת סנכרון בין שני ארגונים שונים שעובדים במטודולוגיות שונות ובזמנים שונים. בנוסף לכך, יש גם האתגר הטכנולוגי: בתפקיד הקודם עבדתי על מוצר שהוא מונוליט ומותקן on premise, בעוד שהמוצר החדש שאני עובדת עליו מבוסס על microservices ורץ ב- cloud.׳
גילת נוה מפתחת Full Stack בכירה:
׳אני מרגישה מאוד מסופקת כשאני מביאה דברים משלב הרעיון ועד לביצוע. אני אוהבת את האדרנלין והאינטנסיביות במקצוע. ביום יום שלי אני מוקפת באנשים אינטליגנטים וחריפים, ואני מאוד נהנית מההפריה ההדדית בין אנשי הצוות.
הכלים והידע שצברתי כמפתחת לאורך השנים, משמשים אותי כמנטורית בתוכנית המנטוריות של "באות", בה אני זוכה לחלוק מהידע והניסיון שלי ולעזור לאחרות בתחום. בנוסף, הצטרפתי לניהול היוזמה Coding Interviews Workshop: Women in CSS, Israel.׳
Gilat Naveh, Senior Full Stack Developer
אני מפתחת Full Stack בכירה. עד לפני מספר חודשים עבדתי ב- AT&T ולאחר תקופה של שלוש וחצי שנים משמעותיות, החלטתי שהגיע הזמן לשינוי ולמציאת המקום הבא שבו אוכל להמשיך להתפתח בכיוונים חדשים. כיום אני מחפשת משרות Full Stack מעניינות ומאתגרות.
ב- AT&T לקחתי חלק בפרוייקטים מגוונים, בהם כתבתי קוד ותרמתי ל- design הכללי של המערכת ולארכיטקטורית המוצר.
מרבית הקוד שכתבתי היה בקאנד ב- Java, ובנוסף כתבתי גם ב- NODE, React, Angular & JavaScript, כך שיצא לי להנות משני העולמות (בקאנד ופרונטאנד) ולהתפתח בהם.
במסגרת עבודתי ב- AT&T, שימשתי גם כ- Scrum-Master של הצוות, מה שכלל תכנון משימות, מעקב אחריהן ובנוסף מנטורינג של מתכנתים חדשים.
הכלים והידע שצברתי כמפתחת לאורך השנים, משמשים אותי כמנטורית בתוכנית המנטוריות של באות, בה אני זוכה לחלוק מהידע והניסיון שלי ולעזור לאחרות בתחום.
בנוסף, הצטרפתי לניהול היוזמה Coding Interviews Workshops: Women in CS, Israel.
איך הגעת לעסוק ב- Java?
התעניינתי בתכנות כבר בתיכון ולכן בחרתי במגמת מחשבים. לאחר מכן, למדתי במחלקה להנדסת מערכות תקשורת בבן-גוריון. עיקר התואר עסק באלגוריתמים ובתכנות רכיבי תקשורת. אהבתי במיוחד את קורסי התוכנה וזאת נשארה תשוקה גדולה שלי.
אחרי התואר, עבדתי כמפתחת Java והתאהבתי עוד יותר בשפה.
במסגרת ההתפתחות המקצועית שלי, פניתי לכיוון של Full Stack, כיוון שאני ממש אוהבת להכיר את המערכת מקצה לקצה.
מה האתגרים בתפקיד?
אחד האתגרים המשמעותיים והחשובים בתפקיד, הוא לבחור design טוב שמתאים עבור המערכת ומכסה את כל הפינות ומקרי הקצה, ולתכנן היטב את ה-roadmap של הפרויקט בהתאם.
בנוסף, מה שמאתגר אותי הוא הרצון שלי ללמוד עוד ועוד טכנולוגיות וגישות שונות בתוכנה, כשלא תמיד יש את הזמן לתרגל ולהשתמש בהן.
מה כיף לך בעבודה?
אני מרגישה מאוד מסופקת כשאני מביאה דברים משלב הרעיון ועד לביצוע.
אני אוהבת את האדרנלין והאינטנסיביות במקצוע.
ביום יום שלי אני מוקפת באנשים אינטליגנטים וחריפים, ואני מאוד נהנית מההפריה ההדדית בין אנשי הצוות.
איך את לומדת דברים חדשים?
על מנת להעשיר את הידע המקצועי שלי בתחום הפיתוח, אני משתתפת בסדנאות שונות, כמו סדנת הארכיטקטורה של she codes ופרוייקט ״30 שעות״ של באות.
עבור נושאים מורכבים ורחבים, אני מעריצה מושבעת של udemy. בנוסף, אני משתמשת ביוטיוב על מנת לקבל השראה ממפתחים ברחבי העולם, וביום יום אני מעשירה את עצמי דרך ניוזלטרים של פיתוח, כדי להישאר מעודכנת.
Suzana Lopatinsky, Senior Software Engineer @ Dell EMC
אני מהנדסת תוכנה בקבוצת ה- Management באחד ממוצרי ה- Storage של Dell-EMC. אמנם התחלתי לעבוד שם לא מזמן, אך עולם ה- Management לא זר לי, כיוון שעבדתי 11.5 שנים בקבוצה שעושה מוצרי Network Management בחברת Cisco.
במסגרת עבודתי הנוכחית, קיבלתי את האחריות על הובלה של הוספת המוצר שלנו למערכת SaaS שמרכזת מידע ואנליטיקות על כל מוצרי ה- Storage של החברה.
זהו תפקיד מורכב, ומורכבותו נובעת בין היתר מכך שמדובר בעבודה שדורשת סנכרון בין שני ארגונים שונים שעובדים במטודולוגיות שונות ובזמנים שונים. בנוסף לכך, יש גם האתגר הטכנולוגי: בתפקיד הקודם עבדתי על מוצר שהוא מונוליט ומותקן on premise, בעוד שהמוצר החדש שאני עובדת עליו מבוסס על microservices ורץ ב- cloud. אז אמנם עדיין חלק גדול מהקוד נכתב ב- Java, אבל סביבת העבודה בהחלט השתנתה.
איך הגעת לעסוק ב- Java?
תמיד אהבתי את התחום, עוד בתיכון הייתי במגמת מדעי המחשב ומאד נהניתי מכך. לאחר הצבא, עשיתי תואר ראשון בהנדסת תוכנה באוניברסיטת בן גוריון, שם למדתי לתכנת ב-Java. לאחר התואר חיפשתי תפקיד של מפתחת Java וכך הגעתי לעבוד בCisco.
נשארתי שם הרבה שנים, שבמהלכן החלפתי מספר תפקידים. הייתי מאד מאושרת שם מהרבה בחינות, אבל באיזשהו שלב הרגשתי שהגעתי למיצוי תוכני וטכנולוגי והרגשתי שאני חייבת להמשיך הלאה.
עשיתי את המעבר בחשש גדול, כי לא קל להחליף מקום אחרי תקופה כה ארוכה. כעת לאחר מספר חודשים ב-Dell, אני מאד שמחה על ההחלטה ועל הבחירה. העבודה ממש מעניינת ואני מרגישה שהיא מוציאה ממני המון יכולות שלא הכרתי.
מה האתגרים בתפקיד?
קודם כל, תקופת הקורונה. התחלתי עבודה חדשה והספקתי להיות שבוע במשרד, עוד בקושי הספקתי להכיר את האנשים וכבר עברנו לעבוד מהבית ולפגישות בזום.
הדבר השני שמאתגר הוא העבודה מול צוותים בארה"ב ובקנדה, עם הפרש זמנים של 7 שעות. יוצא שהרבה מהישיבות החשובות נקבעות בין 16:00-19:00 ובתור אמא ל-3 ילדים, זה בהחלט לא קל לשלב את זה בסדר היום.
מה כיף לך בעבודה?
עולים לי כרגע שני דברים שתמיד מלהיבים אותי:
1. לפתור באג על הניסיון הראשון.
2. כשההצעות שלי לגביי מימוש או רעיון כלשהו מתקבלות.
איך את לומדת דברים חדשים?
אני אוהבת לראות קורסים באתרים כמו Linkedin Learning ו-Pluralsight. הרבה פעמים יש קורסים שמציעים במקום העבודה ואני קופצת על ההזמנות. בשביל להתכונן לראיונות עבודה, השתמשתי באתר Hackerrank שמציע פלטפורמה לתרגול של פתרון בעיות בכל מיני שפות.
האמת שגיליתי את עולם המיטאפים רק בשנה וחצי האחרונות, לצערי רובם נמצאים רחוק ממני, במדינת תל אביב ולכן אני עושה מאמץ להגיע רק אם יש משהו ממש שווה. לרוב אני רואה ביוטיוב הקלטות של הרצאות שהועברו במיטאפים, אני אוהבת לשלב את זה עם משימות משעממות שיש לי בבית, כגון קיפול כביסה.
את הפוסט הראשון שלי, כתבתי במסגרת התוכנית ״בלוגריות טכנולוגיות״ בבאות. מוזמנות לקרוא: https://levelup.gitconnected.com/diving-into-an-unfamiliar-web-application-and-staying-alive-36045112a5da
מאז שאני בעבודה החדשה, יש לי מלא רעיונות לפוסטים, אך מעט מאד זמן פנוי להשקיע בזה. אני בהחלט רוצה מאד להמשיך עם זה ומאמינה שאגיע לזה מתישהו.
איך ניתן להגיע לתחום?
אז קודם כל, הדרך הקלאסית של ללמוד תואר בהנדסת תוכנה / מדעי מחשב, היא הדרך המומלצת מכיוון שזה מסלול שנותן בסיס תיאורטי טוב.
לאחרונה, יש הרבה bootcamps שעושים הסבה בתחום. אם את שוקלת ללמוד תכנות, במסגרת כזאת או אחרת, ולא בטוחה אם זה בשבילך, שווה לנסות לקחת קורס Java (או קורס באחד המסלולים האחרים) ב- she codes . קודם כל, זה בחינם וזה רק פעם-פעמיים בשבוע בשעות הערב, אז אפשר לשלב את זה בכיף עם עבודה או לימודים ובנוסף, יש בכל מסלול מנטוריות שעובדות בתחום ויכולות לעזור ולייעץ. גילוי נאות: עד לא מזמן הייתי מנטורית במסלול java בshe-codes ומקווה לחזור לזה בקרוב.
Natalie Tzukrel, Senior Software Engineer @ Imperva
מה התפקיד שלך ואיפה?
אני מפתחת תוכנה כבר למעלה מעשור (עם עצירה קטנה של 3 שנים לעצמאות) ורוב שנותיי פיתחתי מערכות web ב-Java.
כיום, אני Senior Software Engineer בחברת Imperva (חברת Cyber Security עם מרכז פיתוח בארץ המונה כ-500 איש ועוד כ-500 איש בארה"ב ואירופה) ואחראית על פיתוח ממשק המשתמש של מוצר
ה-Cloud waf של החברה.
הצוות שלנו הוא צוות גדול, שמונה 10 מפתחים ומפתחות (זה מאד נדיר, בד"כ הצוותים הרבה יותר קטנים).
העבודה על המוצר כוללת נגיעה ב-Client שמפותח ב-React (לפעמים יוצא לי לגעת גם בקוד של מסכי ה-UI), התממשקות מול מערכות אחרות של החברה ועבודה רבה מול צוותים אחרים.
רוב העבודה שלי היא פיתוח feature-ים חדשים – יכולות חדשות למוצר עבור הלקוחות, אבל יש גם צד של תחזוקה. כיוון שהמוצר ותיק ויש הרבה לקוחות, אני עובדת גם על תיקוני באגים ולוקחת חלק בתורנות on call בצוות, לטיפול בבעיות ב-production.
כשאני מפתחת feature חדש – אני מקבלת מסמך PRD מה-Product שהוא מאד כללי, וכותבת מסמך design מפורט, מפתחת את ה-feature (לפעמים עובדים גם כמה מפתחים במקביל), כותבת component tests ודואגת לתיאומים מול צוותים אחרים עד היציאה ל-Production.
איך הגעת לעסוק ב- Java?
בכיתה י', בחרתי ללמוד במגמת מחשבים (15 יחידות מחשבים). בצבא עשיתי קורס תכנות (מה שמוכר בתור ממר"ם) וכל השירות הצבאי שלי פיתחתי. שירתתי בקבע, ולמדתי לתואר ראשון במדעי המחשב, תוך כדי השירות הצבאי שלי. בשירות הצבאי, הגעתי לפתח ב-Java והמשכתי בכך גם אחריו.
מה האתגרים?
כל הזמן יוצאים framework-ים חדשים שמקלים על העבודה וכדאי להשתמש בהם.
אנחנו עובדים ב CI/CD (continuous integration/continuous delivery), שזה אומר שכל הזמן מעלים קוד לפרודקשן, מה שמצריך לעבוד עם כלים אוטומטיים כמו Jenkins. בנוסף, אנחנו גם כותבים טסטים אוטומטיים לקוד, מה שמצריך להבין - framework-ים של טסטים ומתודולוגיות בדיקות.
בעבודה שלי אני נוגעת בהרבה מאד דברים, שלא בהכרח קשורים לפיתוח, עושים קצת מהכל וצריך להבין בהרבה מאד דברים במקביל.
בנוסף, כשיש feature חדש, צריך לחשוב היטב על הארכיטקטורה שתהיה, באילו מודלים נשתמש, איך יראה הקוד כדי שיהיה קל לתחזוקה בעתיד וגנרי לתוספות עתידיות.
מה כיף לך בעבודה?
אני מאד אוהבת לעבוד בשיתוף פעולה עם אנשים אחרים מהצוות וצוותים אחרים. זה כיף להרגיש שיש תמיד עם מי להתייעץ ומי שיכול לעזור ולהכווין. גם אני לוקחת חלק בפתרון בעיות עבור מפתחים בצוות שלי ועבור לקוחות המוצר.
אני אוהבת ליצור – זה כיף לדעת שיש לך את היכולת ליצור משהו שעובד טוב ושייתן ערך ללקוחות ויעזור להם לעבוד בצורה יותר טובה ונוחה.
בנוסף, אני אוהבת לחקור ולפתור באגים.
איך את לומדת דברים חדשים?
אני לומדת דברים תוך כדי עבודה ולפי צורך שעולה.
אם אני צריכה לכתוב קוד חדש ואני מחפשת את הדרך הכי טובה לעשות את זה, אז אני אחפש best practices for… ואקרא כמה מאמרים.
אם אני מרגישה שחסר לי ידע בתחום מסוים (Kubernetes נגיד...), אז אני אחפש קורס אונלייני ללמוד ממנו.
אם אני נתקלת בקוד חדש שכתבו אצלנו, שאני עוד לא מכירה, אז אני גם אחפש ואקרא על זה קצת.
זה מאד מגוון ומשתנה. לצערי אין לי הרבה זמן ללמוד, אז אני מנסה שזה יהיה כמה שיותר אפקטיבי ומדויק.
למי כדאי לנסות ואיך אפשר להגיע?
מי שאוהבת לפתור בעיות, ליישם לוגיקה מורכבת, לחשוב על ארכיטקטורה טובה והרבה עבודת צוות.
אפשר להגיע לתחום דרך משרות Junior, שבד"כ פתוחות למפתחים בעלי מעט ניסיון או לבוגרי תואר ראשון במדעי המחשב/ הנדסת תוכנה / מערכות מידע...
נ.ב מגייסים לצוות שלי עוד מפתחות (פארק המדע רחובות).
Senior Front End developer (React)
Senior Full stack developer (Java)
מוזמנות לשלוח לי קו"ח.
Sarit Pinhas, Senior Backend Engineer @ Duda
מה התפקיד שלך ואיפה?
אני מפתחת Backend בכירה בחברת Duda, המספקת פלטפורמה לבניית אתרים לשוק ה-Professionals Web. המוצר בנוי בארכיטקטורה של microservices, כך שכל צוות עובד על אפליקציה אחרת בצורה בלתי תלויה. ארכיטקטורה זו מאפשרת לכל צוות את האוטונומיה לבחור את הטכנולוגיות המתאימות ביותר לבעיות אותן הוא מנסה לפתור. אני חלק מצוות Platform, שאחראי על חנות האפליקציות בפלטפורמה, המאפשרת לבעלי האתרים לבצע אינטגרציה עם אפליקציות צד שלישי. מלבד העבודה על המוצר, אני חברה בגילדת ה-Backend שמקדמת מצוינות טכנולוגית, ובמסגרת זו, אני אחראית על ביצוע משימות תשתית רוחביות והעברת ידע טכנולוגי לשאר חברי הגילדה.
איך הגעת לעסוק בכך?
תחום המחשבים עניין אותי מגיל צעיר, ידעתי שאני רוצה לעסוק בו, ולכן כיוונתי את כל בחירותיי במהלך השנים להגיע למטרה זו. עשיתי תואר ראשון במדעי המחשב ותואר שני במנהל עסקים, במסגרת תוכנית המצטיינים של האוניברסיטה העברית. באותו הזמן תירגלתי באוניברסיטה ועבדתי כמהנדסת תוכנה באינטל, כדי לצבור ניסיון מעשי כבר במהלך הלימודים.
מה האתגרים?
יש לנו מיליוני אתרים עם מאות מיליוני מבקרים (כל מספר שניות, משתמש יוצר אתר נוסף בפלטפורמה של דודא) ולכן הקוד שאנו כותבים צריך להתמודד עם scale גדול. המערכת נדרשת לעמוד בזמן תגובה מהיר מאוד, כדי ליצור חווית משתמש מעולה, ולכן אתגר חוזר הוא התקשורת עם ה-databases ואיחזור מהיר ויעיל של המידע.
אתגר נוסף הוא הצורך התמידי לוודא שעלות המשאבים קטנה ככל האפשר.
מה כיף לך בעבודה?
אני נהנית מהאתגר הטכנולוגי, שבא לידי ביטוי בעבודה מול scale גדול, ביצוע משימות תשתית המשפיעות על כל הצוותים בחברה, החופש לבחור את ה-stack הטכנולוגי ותכנון וביצוע משימות מקצה לקצה.
בנוסף, אני נהנית מהיחס האישי. מאז שהתחלנו לעבוד מרחוק בעקבות הקורונה, החברה דואגת לשמור על קשר תמידי עם כל עובדי החברה ולהפתיע אותנו מדי שבוע בדרכים שונות.
איך את לומדת דברים חדשים?
כדי להישאר מעודכנת, אני עוקבת בטוויטר אחרי מובילי דיעה בתחומי ה-backend, קוראת בלוגים טכנולוגיים של החברות המובילות ומשתתפת בכנסים וב-webinars בנושא.
אני מרצה על מגוון נושאים בתחום כמו Serving TensorFlow models with Kubernetes,
Best practises for working with 3rd party engineers ו-Analysing ML detections at scale.
לאחרונה, גם כתבתי כתבה על Spring Framework שפורסמה בגיקטיים:
Shahar Gotshtat, Full Stack Developer @ Oribi
אני Full Stack Developer ב-Oribi, סטארטאפ של מוצר SaaS, שמאפשר לעסקים לראות אנליטיקות ולהבין טוב יותר את הביזנס שלהם.
אנחנו חברה קטנה של עשרים ומשהו עובדות ועובדים (עם מייסדת ורוב נשי). כל הפיתוח מורכב מצוות אחד גדול של עשרה מתכנתי ומתכנתות Full Stack. לכל אחת יש את האזורים שבהם היא חזקה יותר ומרגישה בהם יותר בנוח, אבל כולן עושות הכל מהכל - כתיבת קומפוננטות ב-React, הקמת microservices עם Java ו-Spring, משימות מחקר על טכנולוגיות חדשות ועוד.
העבודה בימים אלו היא בעיקר מהבית, הצטרפתי ל-Oribi באפריל וחברי הצוות שלי עדיין לא ראו אותי לובשת בגד שאינו פיג׳מה.
איך הגעת לעסוק בכך?
הדרך שלי הייתה ארוכה. עשיתי תואר ראשון במתמטיקה, אחריו התחלתי לעבוד כ-QA Engineer ולכתוב אוטומציות וגיליתי שאני אוהבת לכתוב קוד.
צברתי מעט ניסיון בפיתוח בקאנד, ואז הבנתי שהקוד של המוצר הוא רק חלק מהתמונה, והתחלתי להתעניין ב-Devops. עסקתי בזה כשנה וחצי ואז חזרתי לבקאנד ממקום יותר בשל, עם הבנה רחבה יותר של Software Development Life Cycle.
מה האתגרים?
בגלל שאני עדיין חדשה ולומדת להכיר את המערכת, כל משימה היא יציאה מאזור הנוחות.
אני מקבלת פרויקטים מגוונים, שמצד אחד עוזרים לי להכנס מהר לעניינים ולהכיר הכל, ומצד שני מאתגרים אותי כל פעם מחדש. כולן בצוות תומכות ועוזרות.
מה כיף לך בעבודה?
זה כיף להכנס למערכת מורכבת ולאט לאט להבין אותה, זה כיף להתמודד עם האתגרים הטכנולוגיים ולפתור בעיות, והכי כיף זו תחושת ההצלחה שיש כשמשהו מורכב שעבדתי עליו סופסוף עובד.
איך את לומדת דברים חדשים?
אני מחלקת את הלמידה ללמידה בצורה רחבה ושטחית יחסית (למשל להכיר קונספט חדש) וללמידה לעומק.
מיטאפים והרצאות זו דרך מושלמת לקבל סקירה ולהבין קונספט, ואני הולכת הרבה (בייחוד להרצאות של ״באות״ בזמן הקורונה).
לעומת זאת, כשאני רוצה ללמוד נושא לעומק, אני עושה קורס. למשל, לקראת תחילת העבודה ב-Oribi, רציתי ללמוד React מאפס, אז עשיתי קורס ב-Udemy ובניתי פרויקט - משחק לטיפול בילדים מרחוק במהלך תקופת הקורונה.
לחלוק ידע זו שיטה מעולה ללמוד, כי זה מכריח להעמיק ולהתכונן, וגם עוזר לזכור את הנושא לאורך זמן.
במסגרת המשרה הקודמת שלי ב-Logz.io, כתבתי פוסטים, העברתי הרצאה בכנס, וגם יצרתי מעין תוכנית ״ליווי מרצות״ פנימית, שם ליוויתי מתכנתות צעירות ודחפתי אותן להעביר את ההרצאה הטכנולוגית הראשונה שלהן.
אפשר גם לבצע knowledge sharing לצוות, למי שרוצה להתנסות בפורמט ״עדין״ יותר.
למי כדאי לנסות ואיך אפשר להגיע?
זו שאלה מורכבת. מסלולי ההגעה שונים ומגוונים ותלויים ברקע, וגם במוטיבציות.
המסלולים הקלאסיים הם ללמוד לתכנת בצבא או לעשות תואר במדעי המחשב, אבל אפשר להגיע גם בדרכים עקיפות כמו שאני עשיתי.
באופן כללי, כדאי לבנות תכנית עבודה מסודרת, להבין כמה זמן והשקעה היא תדרוש, ואם יש מספיק רצון - ללכת על זה!
Rotem Rip, Senior Java Developer @ bmc
מה התפקיד שלך ואיפה?
אני Senior Java Developer בחברת bmc. החברה ממוקמת ברמת החייל ויש סניף נוסף בתל חי שבצפון. אני עובדת יחסית חדשה, הצטרפתי קצת לפני שעברנו לעבוד מהבית, עקב הנחיות הקורונה.
המוצר המרכזי, שהפיתוח בארץ מתעסק בו, נקרא Control M שהוא solution לניהול תהליכי אוטומטים בארגונים המנוהל ע״י jobs שיכולים להריץ דוחות, לגבות נתונים, לייצר רפליקציות ב- DB ועוד. המוצר עד כה היה רק on-prem וכעת אנחנו עובדים במרץ לייצר solution גם כ-SaaS.
אנחנו אחד מצוותי קבוצת ה-Server המונה 5 מפתחים, כשמחצית מאנשי הצוות מתגוררים בצפון ושייכים לסניף תל חי, ויש עבודת צוות מעולה.
במסגרת העבודה, אנחנו מפתחים ב-Java ומשתמשים ב-Spring, עורכים poc לטובת הפרויקט ב- cloud, שמערב את ה- services של AWS, מדי פעם מעבירים legacy code שממומש ב- c ל Java services, כותבים קוד אוטומציה שעוזר בפריסה של הפרויקט, עובדים המון על unix ומוסיפים טסטים.
איך הגעת לעסוק בכך?
את האמת גם כשלמדתי מחשבים בבית ספר וגם במהלך השירות הצבאי ביחידה טכנולוגית, סלדתי מאד מתכנות ופחות התחברתי לתחום. רק כשהתחלתי לימודים באוניברסיטה, בחוג של מערכות מידע, גיליתי עולם שלם של טכנולוגיות שמאפשר לייצר איתו מוצרים מרחיקי לכת, להיות יצירתיים ולעבוד בצורה שמאפשרת לנתק ולחבר רכיבים כמו בלגו. לשמחתי ולמזלי, אחרי סיום התואר הצלחתי למצוא עבודה ראשונה בפיתוח, ומאז ועד היום, קרוב לעשור, עבדתי בחברות קטנות וגדולות שבהן זכיתי גם להתנסות ב-design של רכיבים תשתיתיים במערכות מאד מורכבות, שדורשות תשומת לב רבה לסיבוכיות.
מה האתגרים?
האתגר המשמעותי ביותר בעיניי, זה להישאר מעודכנת במתודולוגיות ובשיטות שמתגבשות כל כמעט שנה. לדעת לקבוע מה הארכיטקטורה הנכונה ביותר לטובת דרישות המוצר ומהי הטכנולוגיה המתאימה ביותר להשגת המטרות.
אני מרגישה שבתפקידי פיתוח, ככל שעולים עם הותק, צריך לייצר פיתרון כמה שיותר ארוך טווח ולתכנן הכל בצורה הנדסית שתאפשר להחליף ולשדרג בקלות חלק מהרכיבים או להוסיף מימושים שמרחיבים את הפונקציונליות בקלות.
ה-skill הכי חשוב שעולה לי, הוא להיות מעין זיקית ולהתאים את הידע והמיומנות לכל משימה.
מה כיף לך בעבודה?
הדבר האהוב עלי ביותר הוא הגיוון, כשמשימה אחת היא design, משימה אחרת היא יותר תשתית או אפילו מעין DevOps, אח"כ poc ומדי פעם support, מצליחים ״ללכלך את הידיים״ בכל האזורים ולא מרגישים שהעבודה חוזרת על עצמה.
עבודה בצוות היא עוד כלי מדהים שמשפר את היכולות לראות איך מישהו אחר מתמודד עם משימות דומות ועבודה עם צוותים אחרים חושפת לעוד ועוד תחומים גישות וטכנולוגיות ועוזרת מאד בשיתוף ידע.
קצת אחרי שעברנו לעבוד מהבית קיבלתי משימה להעביר קוד legacy יחד עם עוד 2 חברי צוות.
למרות שהכל היה עוד חדש עבורנו, הצלחנו לעבוד על אותם הקבצים בסנכרון ולעלות על בעיות בשלבים מאד ראשוניים. בנוסף, הצלחנו לשפר ולתמצת קבצים ארוכי שורות ל classes בצורה מודרנית וטסטבילית, שאיפשרה לנו להוסיף פי׳צרים נוספים של הדקה ה-90 בקלות ובמהירות, כשבקוד הישן זה היה לוקח שבועות :)
איך את לומדת דברים חדשים?
אני חברה בכמה קהילות, לא בהכרח רק בתחום שלי, למשל ב-Android Acadamy, שדרכם נחשפתי לפיתוח ב-Kotlin. בנוסף, אני משתתפת בקורס סייבר שבשיתוף עם היחידות ללימודי חוץ של הטכניון ובעבודה, יש לנו יוזר ב-pluralsight.
בד״כ תחומי העניין משתנים לפי משהו חדש בעבודה או שאני פתאום נתקלת ביוזמה על משהו שהרבה זמן רציתי ללמוד ולהיחשף אליו.
בתקופת הקורונה, שיכתבתי ועזרתי לשדרג לא מעט קורות חיים, גם לא בהכרח בתחום שלי, שהביאו אותי לקרוא על design patterns מסויימים ועל טכנולוגיות שאני לא מכירה, ומשם התגלגלתי למידע שתורם ועוזר לי בעבודה השוטפת בקבלת החלטות מקצועיות.
השנה, כשהייתי בתהליך חיפוש עבודה, מצאתי tutorial מעולה שעזר לי להבין לעומק את רוב היכולות של Spring ו-Spring boot בפרט, אז משתפת כדי שיעזור למי שרוצה להיכנס או לחזק את הידע:
https://www.youtube.com/watch?v=vtPkZShrvXQ
ובכלל, אני ממליצה לחפש אפילו אצלנו ב״באות״ המלצות על איך להגיע מתחום x לתחום y.
למי כדאי לנסות ואיך אפשר להגיע?
אני מנסה תקופה ארוכה לארגן קבוצה של מפתחות שמחפשות עבודה, כדי לפתור שאלות מראיונות ביחד, להקים מאגר אקטואלי של dos and don'ts ולנסות לארגן מעין סימולציות מובנות.
חלום חיי, הוא להקים מאגר tutorials איכותיים, שיאפשרו לכל מי שרוצה ללמוד משהו חדש, להיעזר בתכנים שבאמת מצדיקים את השקעת הזמן בהם.
לשם הגילוי הנאות, אני גם מנהלת בקהילת ״המרעננות״ ולכן נושא מציאת העבודה הוא מאד קרוב לליבי.
Gene Zeiniss, Senior Java Developer @ Behalf
מה התפקיד שלך ואיפה?
אני מפתחת Java בסטארטאפ Behalf (מזה ארבע שנים) ומובילה את ה-Backend Guild, שמרכזת הכשרה והתפתחות טכנולוגית בשביל המחלקה. Behalf, פיתחה פלטפורמה המעניקה אשראי מיידי לעסקים קטנים, ובכך לסייע להם לנהל את הפעילות השוטפת מהר יותר וטוב יותר. ב-R&D יש 6 צוותים. אני בצוות התשלומים שמורכב ברובו מנשים (בכלל ב-Behalf יש ייצוג יפה של נשים, כשליש מכלל העובדים), וראש הצוות מלווה אותנו בתהליכים, מסייע במחקר ומכוון אותנו לפתרונות טכנולוגיים שיתאימו לעולם העסקי והמוצרי.
אנחנו עובדות בשלושה נתיבים: פיתוח פיצ'רים חדשים, עבודה מקבילית על פיתוח פלטפורמת תשלומים מדור חדש ותיקון באגים (איך לא). כולנו עוסקות בהכל: כתיבת מפרטים טכניים, מידול, תכנון בדיקות, מתן הערכות זמנים וקידוד, כמובן.
איך הגעת לעסוק בכך?
״תמיד ידעתי שאהיה מפתחת תוכנה. עוד כשהייתי ילדה...״ יש אנשים, שהם טכנולוגים מלידה. זה לא הסיפור שלי. אני רציתי להיות עורכת דין פלילית או פסיכולוגית משפטית, לכן הלכתי ללמוד קרימינולוגיה. נהניתי מכל רגע של הלימודים. עד היום, פסיכופתולוגיה מככבת בין תחומי העניין שלי. עם זאת, לא עסקתי בתחום. מה שכן, התואר פתח בפני הזדמנויות חדשות, ליתר דיוק, מכרה, שפגשתי במהלך חיפושיי עבודה לאחר התואר, פתחה בפני הזדמנות להיכנס לתחום השיווק. מאז עסקתי בפיתוח שווקים בינלאומיים למוצרים של החברה. עשיתי אפילו קורס הסבה למקצוע, עד שהגיע לו המשבר הכלכלי של 2009. המשבר פגע קשות בשווקים שעבדתי עליהם. וזה פגע בי. ריסק אותי. לאחר תקופת התאוששות קצרה, אספתי את עצמי והתחלתי לחשוב, מה אני עושה הלאה. לא זוכרת בדיוק מה היו השיקולים, אבל נרשמתי לקורס בודקי תוכנה בג׳ון ברייס ובזאת החלה הקריירה הטכנולוגית שלי.
התחלתי עם בדיקות תוכנה ידניות, ואז נכנסתי לתחום האוטומציה. התנאי לקבלת התפקיד היה, שאלמד לכתוב טסטים בכוחות עצמי (בהתחלה זה היה ב-Javascript ואז עברתי ל-Java). אני זוכרת טוב מאוד את התקופה, למדתי לשאול שאלות ולמצוא פתרונות לבעיה מוגדרת. באותה תקופה הציעו לי להתנסות בפיתוח תוכנה בחברה אחרת שבה היו גיוסים. פחדתי שפיתוח יהיה גדול עלי ושאאכזב, אך ידעתי שהזדמנות כזו אסור להחמיץ ולכן הגשתי מועמדות לתפקיד של Junior Java Developer. למדתי את השפה בצורה אינטנסיבית וכך התחיל סיפור האהבה שלי עם Java.
מה האתגרים?
האתגר הגדול, מבחינתי, זה להתאים את עצמך למציאות דינאמית, ולעשות switch בכל פעם שמגיעה דרישה חדשה. כמעט כל יום נכנסות דרישות חדשות ולפעמים יש שינויים גם בדרישות הקיימות. זה יכול לתפוס אותך בכל שלב בחיי פיצ'ר. בשלב התכנון קל יותר להתמודד עם השינויים, אבל לפעמים השינויים מגיעים תוך כדי הקידוד, או גרוע מכל, אחרי שסיימת את הפיתוח. לפעמים, הקוד שכתבת נמצא בכלל כלא רלוונטי יותר. או, במילים האחרות, ״הכל לפח״...
בעבר, כל שינוי כזה היה מכניס אותי לסערת רגשות, כי אני אוהבת את רוב הקוד שכתבתי, ומחוברת אליו רגשית. לקח לי לא מעט זמן ללמוד להתמודד עם זה. אז על כל שינוי תוכנית, אני בוחרת לחשוב כעל ״עדיף מוקדם, שלא יהיה מאוחר״ ועל קוד בפח כעל ״שכר לימוד״.
אתגר נוסף עבורי, היה ללמוד לחיות עם העובדה שהקוד הוא לא שלי אישי. הוא נועד לשרת את כל המחלקה. כלומר, כל מפתח בחברה יכול לגעת בו, לשנות אותו וכו׳. הייתי מסכמת את האתגר הזה כ-״יכולת לשחרר״. כן, יכולת לשחרר את הקוד לעולם אכזרי מלא מפתחים, אשר רק מחכים להכניס את הידיים שלהם לתוכו. צוחקת (אבל בכל צחוק יש טיפה מן האמת).
מה כיף לך בעבודה?
אני באמת אוהבת את העבודה שלי, יש מלא כיף בעשייה היומיומית שלי. אני הכי אוהבת פרויקטים גדולים, כי במהלכם אני בדרך כלל נחשפת למשהו חדש (פי׳צר של Java, ספריה חדשה, טכנולוגיה, אסטרטגיה) וגם מיישמת את מה שלמדתי לפני. זה גם נורא מספק, מבחינתי, לראות את התוצר הסופי, לאחר שהתחלתי אותו כתכנון.
הפרויקט שאני ממש גאה בו, זה הקמת ה-Microservice הראשון בחברה. בתור חלוצת הדרך, נהניתי מהזכות להגדיר סטנדרטים ומוסכמות, ולקבל החלטות, אשר בהמשך השפיעו על כל ה-R&D. זאת הייתה פריצת דרך בקריירה שלי והבייבי שלי, למרות שהיה לו שם רשמי, קיבל את הכינוי ״Gene's Service״. הוא הפך לתבנית להקמת Microservices אחרים ואני נהייתי מומחית בתחום. למיטב זכרוני, זה היה גם נושא הראשון בחיי עליו הדרכתי מפתחים אחרים. וזה היה מלא כיף!
איך את לומדת דברים חדשים?
אני Self-Taught Developer. במילים אחרות, אני נמצאת במצב למידה מתמיד. כלומר, זה לא רק רצון להיות מעודכנת בפיצ׳רים חדשים, אלא גם לפעמים למידה של דברים בסיסיים יותר.
אני מתחילה את יום העבודה שלי עם כוס קפה ומעבר על התקציר היומי של Medium וקוראת את המאמרים שמעניינים אותי. אם ראיתי פוסט שהייתי רוצה להתעמק בו, אני חוזרת אליו מאוחר יותר (בדרך כלל בערב או בסופ׳׳ש).
חוץ מזה, פעם בתקופה, אני נרשמת לקורסים ב-Coursera. זה מאוד נוח למי שאין לו הרבה זמן להשקיע בלימודים. אני רואה וידאו אחד ביום. אם לא הבנתי את החומר, אני חוזרת לזה בערב ומתחילה לחפש מידע נוסף בגוגל.
בדרך כלל, אם יצא לי ממש להתעמק בנושא, אני גם כותבת עליו לאחר מכן בבלוג שלי, שנולד בעקבות התוכנית ״בלוגריות טכנולוגיות״ של ״באות״, אז תודה ״באות״!
עוד מקור ללמידה, שגיליתי לאחרונה, זה Twitter. זה ממש הפתיע אותי, כמה אפשר ללמוד מטוויטים של אנשים המובילים בתעשיה.
למי כדאי לנסות ואיך אפשר להגיע?
זאת שאלה מכשילה קצת :) אני מאוד אוהבת את מה שאני עושה, לכן הדחף הראשוני שלי הוא לענות ״פיתוח תוכנה ב- Java זאת חוויה מרתקת, שכל אחת חייבת להתנסות בה!״. אבל בפועל, נושא הכדאיות מאוד סובייקטיבי. לדעתי לא ניתן להמליץ על שפה אם לא נחשפת לשפות אחרות באותה רמה. כלומר, יש הרי הבדל בין ״היכרות עם״ ו-״ידע ב״. אז לי יש ידע ב-Java והיכרות עם C#, Groovy ו- Kotlin. על סמך כישורים האלה, מעדיפה שלא לקחת על עצמי אחריות על הגדרת כדאיות :)
בכל מקרה, מי שכן מחליטה להתנסות, יש לא מעט קורסים אונליין (אני, בדרך כלל מעדיפה קורסים של Coursera). אני יודעת שגם ל-She Codes יש מסלול Java למתחילות. כך או כך, Java זאת שפה שחייבים לתרגל. ואם כבר את החלטת להתנסות, תעשי את כל התרגילים שהקורסים מציעים (גם את אלה שמסומנים כ-Advanced או Extra), אחד אחד, בלי הנחות.
לפני זמן מה מישהו עשה סקר בטוויטר, הוא שאל משהו בסגנון של ״מה גורם לאנשים להפוך למפתחים טובים יותר?״. אני אומר מניסיון האישי - הזדמנויות. הלקח שלמדתי בדרך לפיתוח תוכנה הוא, תמיד להיות פיקחת להזדמנויות.