שליטה בתכנות באמצעות שחזור טכנולוגיות

אתם משתמשים ב-frameworks ובספריות (libraries) מדי יום. אתם יודעים איך להשתמש ב-APIs שלהם. אתם לא יודעים איך הם עובדים מבפנים.

הפילוסופיה של "Build Your Own X" משנה זאת. אתם משחזרים כלים יסודיים מאפס כדי להבין פיתוח תוכנה.

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

למה כדאי לכם לעשות זאת:

• הבנה עמוקה: אתם לומדים מדוע כלים קיימים ואילו פשרות (trade-offs) הם מבצעים. • פתרון בעיות: אתם מתמודדים עם אתגרי עיצוב שבונים את החשיבה הארכיטקטונית שלכם. • דיבאגינג (Debugging) טוב יותר: אתם יודעים איפה לחפש כשהקוד נכשל כי אתם מכירים את המנגנונים הפנימיים. • צמיחה בקריירה: מראיינים מעריכים מועמדים שמסבירים את ה"איך" וה"למה" שמאחורי כלי מסוים.

התחילו בקטן. בחרו משהו שאתם משתמשים בו לעיתים קרובות.

רעיונות לפרויקט הראשון שלכם:

אל תנסו לבנות כלי לייצור (production). אל תדאגו לגבי אבטחה או מהירות בשלב זה. התמקדו בלוגיקה הליבתית.

עקבו אחר הצעדים הבאים:

  1. חקרו את הכלי האמיתי. קראו מסמכי עיצוב והסתכלו בקוד פתוח (open-source).
  2. זהו את חלקי הליבה. שרת אינטרנט זקוק ל-sockets, למנתח (parser) ולדרך לשלוח תגובות.
  3. הגדירו סט תכונות מינימלי. אם אתם בונים מקצר URL, התמקדו במיפוי ובהפניה. דלגו על חשבונות משתמשים ואנליטיקה לעת עתה.

בחרו שפה שאתם מכירים או רוצים ללמוד. המטרה היא הלוגיקה, לא התחביר (syntax).

מקור: https://dev.to/kelvin_kariuki_20f4bec616/master-programming-by-recreating-your-favorite-technologies-from-scratch-21b7