1 min. read

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

איך לזהות מתכנתים טובים

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

חוסר פחד - אומץ

אומץ לשנות

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

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

סקרנות ועצמאות

איך הקוד עובד?

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

אך מה קורה כאשר אבד ידע?
כאשר יש שרת או תוכנה שנכתבה לפני 10 שנים וכותב הקוד מזמן בפנסיה?

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

ידע פרקטי

גם כתיבת מערכת גדולה התחילה ב-שלום עולם

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

מהו ידע פרקטי?

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

אלו רק דוגמאות - ידע פרקטי הוא כל ידע שעוזר לכם לכתוב קוד.

כתיבה

אם אתם לא יכולים להסביר את זה בפשטות - סימן שאתם לא מבינים את זה

אם תצליחו לכתוב משהו במילים שלכם - סימן שהבנתם את זה

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

  1. להסביר את זה לברווז גומי
  2. לכתוב את זה!

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


אילו עוד עקרונות לדעתכם יש?
כנסו לשרת הדיסקורד SimplyCode ובואו נדון :)

תודה על הקריאה!


אהבתם? מוזמנים להביע תמיכה כאן: כוס קפה