דימה הוא אושייה טכנולוגית בעולם הפרונט אנד, הוא מנהל כיום את קהילת Vue.js Israel יחד עם שותפתו מאיה שבין, הוא שותף מייסד ומנהל hands-on בחברת ClientSide אותה הקים בעשר אצבעות יחד עם יהונתן דור און ובחיים האישיים הוא גם מספיק להיות בעל, אב לילדה קטנה ובעלים של כלבה חמודה בשם ג׳ולי.
במה החברה בה את/ה עובד/ת עוסקת?
חברתינו מתמחה במתן פתרונות ושירותי פיתוח פרונט אנד, מדובר בסטודיו בוטיק המורכב מצוות קומנדו של סיניורים, טק לידים, וארכיטקטים כשכל אחד מהם מביא איתו מומחיות ייחודית, כמו שיפורי ביצועים, דיזיין סיסטמס, מיקרו-אינטראקציות וכו׳.
מה זה פרונט אנד בעינייך?
פרונט-אנד זו יכולת לתרגם חזון של יזם למוצר אמיתי שמשרת את המטרות העסקיות של החברה.
למעשה פרונט אנד טוב אמור להיות מובן מאליו עבור המשתמש, ברגע שהכל ברור, מהיר, יעיל ואינטואיטיבי, הקוד וההיגיון שלו הופכים לשלוחה של המשתמש לצורכי שימושו.
ההגדרה הזו חופפת במידה מסוימת להגדרה שלי למה זה UX טוב, זה לא במקרה כי אני מאמין שלפרונט אנד איכותי יש השפעה עצומה על חוויית המשתמש.
מה את/ה הכי אוהב/ת בפרונט?
בעיניי פיתוח פרונט-אנד הוא סוג של אומנות, אני אוהב את זה משום שכך אני מבטא את היצירתיות שלי.
בעיניי לאו דווקא מדובר בפיתוח עפ״י חוקים וכללים נוקשים, אלא ״יציאה מהקופסא״ ומציאת פתרונות יצירתיים ומגוונים שלמדתי לאורך הדרך כדי שהמוצר יצא הכי איכותי.
React, Vue או Angular?
האמת שיש לי שתי תשובות שונות, האחת היא בכובע של מנהל הסטודיו שאומרת שאין הבדלים בין מה שניתן להשיג עם שלושת הפריימוורקים הללו.
הכי חשוב הוא לבחור באחד שיוביל אותך לתוצאה הכי טובה בהתאם לנסיבות והצרכים של הלקוח ו/או המוצר, כמו ידע מקדים של הצוות הקיים, קוד של מוצר קיים, וכו׳.
ברמה האישית אני יותר נמשך ל- Vue, כמובן שאני קצת משוחד מתוקף היותי מנהל קהילת Vue.js Israel.
למה דווקא Vue?
בחרתי ב- Vue משום שאני אוהב את הכיוון שאליו הפריימוורק מתפתח, Evan You שהוא יוצר הכלי, משלב את הטוב מכל העולמות, הדברים הטובים של ריאקט והדברים הטובים של אנגולר ומספריות נוספות.
באיזו ספריית UI הכי כדאי להשתמש?
גם כאן אענה תשובה קצת פוליטית, צריך לבחון את הדרישות בצורה טובה וללמוד את הספריות השונות כולל היכולות והחולשות שלהן, רק ככה בוחרים בחירה מושכלת שמשרתת את המוצר נאמנה.
בכל אופן אני ממליץ על שתי ספריות פופולריות ל- Vue שהן Quasar ו Vuetify, מה שחשוב מאוד לדעת הוא ששתיהן מתבססות על Material design.
ספציפית עם Vuetify יש לי סיפור קצר:
כתבתי הרצאה לפני כשנתיים בשם ״Choosing Vuetify was a mistake״ – לאחר שפרסמתי אותה, ג'ון (היוצר של הספריה) פנה אליי עם שאלה בסגנון של "למה אתה מלכלך?".
רק אחרי שנפגשנו בכנס Vue.js Amsterdam בו הרצתי (בין הכנסים הגדולים באירופה של VUE), הרחבנו את הדיבור בנושא והסברתי לו שאין לי שום דבר כנגד Vuetify אלא שבהרצאה שאני מקיים אני מעלה מקרה בו בחרו ב- Vuetify בצורה שלא תואמת את דרישות הפרויקט ומכאן נובע הכישלון.
באיזה כלים את/ה משתמש ביום יום שלך במקום העבודה?
במקרה שלי אני עובד עם המון כלים בוות אחת משום שאופי העבודה מאוד תלוי בכלים שהלקוח משתמש בהם.
אך אם אני צריך לציין את הכלים שהכי בשימוש אישי אצלי אז הם ESLint + Prettier, תוספי ה- DevTools של הפיימוורקים השונים, אני כותב עם VSCode ומשתמש הרבה ב- Turbo Console Log, i18n Ally והתוסף ל-Vue שנקרא Vetur.
לאיזה פרויקט קוד פתוח תרמת?
רוב התרומות שלי בקוד פתוח בעיקר קשורות לדוקומנטציה.
בגלל שאני מנהל עסק אז הזמן הוא משאב מוגבל, ואם אני מוצא איזו ספריה עם דוקומנטציה לא כל כך ברורה אז אני בהחלט שמח לשפר אותה.
מה לדעתך הכי חסר היום לג'וניור?
בחלק גדול מהקריירה שלי יצא לי ללמד הרבה מפתחים אחרים ואני חושב שמה שחסר לג׳וניורים היא ההבנה של איך להתקדם לשלב הבא, ברוב מוסדות הלימוד בין אם זה מכללות או בוטקאמפים למיניהם, לא נותנים roadmap ברור להמשך הקריירה, כלומר אילו כלים או תכנים אני צריך ללמוד כדי להמשיך ולהתקדם בסולם.
עצת הזהב שלך לג'וניורים?
ללמוד, ללמוד, ועוד פעם ללמוד, קצת מהכל והרבה ממשהו ספציפי אחד.
זה יאפשר לך להפוך למשהו שנקרא "T shaped person", אדם בעל ידע בתחומים נרחבים אבל בסיס חזק שעליו הכל עומד.
איך התגלגלת לפיתוח?
התחלתי בערך בגיל 12 כשחבר מהכיתה גילה לי משהו שנקרא Qbasic, דרכו התחלתי ליצור כל מיני ציורים וצורות גיאומטריות, להפיק צלילים מהמחשב בטונים שונים, לשאול את המשתמש שאלות ולפי התשובות לבצע פעולות שונות. בגדול לא ידעתי שאני מתכנת, אבל פשוט נהנתי ליצור.
משם האהבה שלי התפצלה לשני חלקים של היצירה – הויזואלי והטכני.
זה התחיל כאשר קיבלתי דיסק פוטושופ 5.5 כמתנה מסבא שלי ומאז השתמשתי בפוטושופ ובשלל תוכנות אדובי ב 15 השנים הבאות.
במקביל למדתי לתכנת ממשקים גרפים וליצור משחקים בעזרת Visual Basic, הכי אהבתי ליצור משחקי קסמים ע״י הכנת תמונות קלפים בפוטושופ ותכנות הלוגיקה ב- VB.
מיד לאחר הצבא התחלתי לעבוד דווקא בתור גרפיקאי בבית דפוס של טקסטיל, אך במקביל לא זנחתי את האהבה שלי לתכנות ועשיתי דיי הרבה וורדפרס ומשם המשכתי למשרות פיתוח סטנדרטיות יותר של פול סטאק PHP.
בשלב מאוחר יותר החלטתי לעשות הפסקה קצרה מהקריירה בהייטקס וללמוד תואר במדעי המחשב, בתואר נחשפתי להמון דברים מעניינים ומגוונים, אחד הדברים שהכי משך אותי היתה העבודה במעבדה לאינטרקציה, מה שפתח לי תיאבון ענק לכל אותם תחומים משיקים וחופפים לפיתוח, כמו UX, פרודקט ועוד.
איזה פרויקט את/ה הכי גאה בו?
ברמה העסקית הגיע אלינו לקוח שלא הצליח לקבל הצעות מחיר תחת הלו״ז הצפוף שאליו הפרויקט שלו היה מוגבל, אנחנו הצלחנו להתחייב לזמנים קצרים בחצי מהמגבלה שלו, ולבסוף אף דילוורנו לפני הזמן וכל זה קרה בעקבות תכנון נכון וקפדני של הפרויקט שהתאפיין בעבודת צוות מדהימה.
אגב, השתמשנו ב Vuetify מה שבהחלט עזר להאיץ את הפיתוח ואיכות הקוד בצורה יעילה, בעיקר בגלל שידענו לזהות את הצרכים והבנו ש- Vuetify תואם במידה רבה.
ברמה האישית בניתי פרויקט בו אני מתעד את כל הפעמים בהם שתיתי כוס קפה ב-5 השנים האחרונות, אני עושה את זאת עקב היותי Self tracker.
זה לא בהכרח פרויקט טכנולוגי מורכב אלא יותר משהו שגרם לי ללמוד ולשפר את יכולת בניית ההרגלים שלי.
לאיזה פודקאסטים את/ה מאזין/ה?
לצערי לא מאזין כל כך.
המלצה לספר טוב?
לא קורא ספרים אלא בעיקר מאמרים מקצועיים ב- Smashing Magazine וב dev.to.
אחרי מי שווה לעקוב?
Addy Osmani
Lea Verou
Vitaly Friedman
Evan You
Yonatan Doron
Elad Shechter