גישה

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

הבנה לפני שינוי

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

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

התנהגות לפני אלגנטיות

נכונות ויציבות חשובות יותר מאלגנטיות קוד.

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

Refactoring הדרגתי ובטוח

אני מתייחס ל-Refactoring כתהליך מבוקר:

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

שימוש ב-AI ככלי מסייע

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

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

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

עבודה תחת אילוצים מציאותיים

מערכות אמיתיות מגיעות עם מגבלות:

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

אני הופך פשרות לאמירות ברורות ומתמקד בשיפורים מציאותיים וברי קיימא עבור הצוות.

אחריות ומסירה

אני כותב קוד שאחרים יכולים לתחזק בביטחון:

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

התאמה לצוותים ולטכנולוגיות

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

ניסיון שמעבר לקורות החיים

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

מערכות Legacy שאינן ניתנות לשכתוב

המצב

סביבות מיושנות, היעדר בדיקות, לוגיקה עסקית מפוזרת ויכולת מוגבלת לשדרוג.

הגישה

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

למה זה חשוב

כאשר שכתוב אינו אפשרי, התפתחות בטוחה היא המיומנות החשובה ביותר.

מערכות תפעוליות עתירות מסדי נתונים

המצב

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

הגישה

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

למה זה חשוב

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

סביבות דלות הקשר

המצב

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

הגישה

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

למה זה חשוב

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

ייצוב וניפוי תקלות

המצב

תקלות ייצור, התנהגות לא עקבית וחוב טכני מצטבר.

הגישה

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

למה זה חשוב

אמינות היא פיצ'ר, במיוחד במערכות תפעוליות.

חניכה והעלאת רף מקצועי

המצב

פערים ביסודות, פרקטיקות חלשות ולחץ גבוה.

הגישה

שיתוף הקשר, שיפורים הדרגתיים והתאמה לתרבות הצוות.

למה זה חשוב

הנדסה בת קיימא נשענת על הבנה משותפת.

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