בלוגינג בסטייל - פינת הפנתאון #25
איך לכתוב בלוגים טכניים מוצלחים ואיך זה קשור לקוד
פינת הפנתאון היא פינה שבועית בה נשתף תכנים שאנחנו מאמינות שהם חלק מה"פנתאון" של מה זה להיות אישה בפיתוח.
נטלי בנדרסקי שלם היא אשת טכנולוגיה עם ניסיון, בין היתר, בעיצוב ופיתוח משחקי מחשב, ואף הקימה חברה שהשתתפה באקסלרטור Y-Conbinator הנחשב, ולמזלנו - כתיבה גם נמצאת בין שלל תחביביה ועיסוקיה.
בהרצאה שובת הלב ומלאת התובנות, נטלי משתפת בשלל עצות מצוינות שיעזרו לנו לכתוב בלוגים טכנולוגיים.
בתקציר זה של ההרצאה נענה על 3 שאלות: למה בכלל לכתוב בלוגים?, איך להתגבר על מחסום הכתיבה הראשוני?, באילו טכניקות נשתמש לעריכה ושיוף התוכן שלנו?.
נטלי מתחילה בשאלה המתבקשת - למה בכלל לכתוב בלוג?
היא מחלקת את המניעים לאלטרואיסטים ואגואיסטיים, וכן למניעים טכניים וחברתיים:
אלטרואיזם טכני - לך יש ידע שהעולם זקוק והעולם יכול להרוויח מזה שתחלקי את הידע.
אלטרואיזם חברתי - את כאישה יכולה להוות השראה לנשים אחרות בכך שתחשפי בזירה הציבורית ותגבירי במו ידיך נוכחות נשית ברשת הטכנולוגית.
אגואיזם טכני - עצם תהליך הכתיבה הטכנית דורש מחקר והעמקה שאת מרוויחה ממנו באופן ישיר כי את מרחיבה ומעמיקה את הידע שלך.
אגואיזם חברתי - חשיפה יוצרת הזדמנויות. כשאת מפרסמת תוכן טכני שלך את מביאה אליך תשומת לב שמתרגמת להזדמנויות.
וסיבה חמישית - בהמשך הפוסט אשלב גם מתובנותיי על איך טכניקות שרכשתי בכתיבת בלוגים הפכו אותי למתכנתת יותר טובה.
סבבה, השתכנעת, וישבת לכתוב בלוג פוסט טכני [או מסמך דיזיין, או דוקומנטציה, או סיכום מחקר, וכו]. לתהליך הזה יש המון שלבים, החל משלב הרעיון ועד שלב הפרסום, והשלב שבו נטלי מתרכזת הוא שלב העריכה.
איך להתגבר על מחסום הכתיבה הראשוני?
לפני שיהיה משהו לערוך, אנחנו צריכות שיהיה משהו כתוב. ופה מגיע השלב בהרצאה שהכי הימם אותי והולך איתי מאז ברמה היומיומית - The Shitty First Draft - הטיוטה הראשונה המעפנה.
לכולנו יש את הקול הפנימי הזה שאומר "זה לא נכון, זה לא מדויק, למה בכלל את כותבת את זה". בטיוטה הראשונה המעפנה, הקול הזה יכול לדבר כמה שהוא רוצה, אנחנו נמשיך לכתוב. אני חוזרת על המנטרה "המטרה של הטיוטה הראשונה היא להיות מעפנה" וכותבת מילים בג'יבריש איפה שאני לא בטוחה מה אני רוצה לכתוב, כותבת מילים שעולות לי משפות אחרות, כותבת בתעתיק עברי, כותבת משפטים מטופשים כמו "נו הדבר הזה שראיתי אז אז לכתוב פה על זה" ושאר "ממלאי מקום" שכל מטרתם הם לאפשר לי לכתוב בזרימה ולהשקיט את הקולות הפנימיים הטורדניים.
ואני כבר עכשיו אקפוץ לערך שיש לפרקטיקה הזו בכתיבה טכנית [קוד, דיזיין, דוקומטציה...] - אני בטח לא היחידה שהקולות האלה מלווים אותה גם כשאני באה לכתוב קטע קוד חדש. הקולות לפעמים אומרים דברים קצת שונים כמו "זה לא יעיל, זה שם לא טוב, זה לא מתחבר טוב למערכת, את רק עושה יותר בעיות" אבל זה אותם קולות. ולכן הטכניקה של טיוטה ראשונה מחורבנת מסייעת לי גם במחסומים של כתיבת קוד. אני יודעת שהטיוטה הראשונה תהיה מעפנה ומלאת שגיאות ושום דבר מזה לא יעבוד, אבל שום דבר גם לא אמור לעבוד! הוא רק אמור להיות קיים בצורה גרועה שאערוך אחר כך.
מדהים, הצלחת, ניצחת את הקולות, ויש לך טיוטה מעפנה ראשונה.
עכשיו איך את הופכת אותה לטיוטה לא מעפנה???
מעבר לשלב המחקר הטכני שנועד להשלים פערים בתוכן, יש כמה טכניקות לשיפור הכתיבה עצמה, ואני ממליצה ממש לצפות בהרצאה כולה, אך מפאת קוצר היריעה אשתף פה שלושה עקרונות שנגעו בי במיוחד, ושתרמו לי גם ליכולות כתיבת הקוד שלי:
1. המנעי מתארי פעלים (adverb), ובמיוחד "מאוד".
לעיתים אנחנו מצמידות תיאורים לפעלים בכדי להעצים אותם, אך זה הופך את הקריאה למשמימה.
אז במקום הזה בטיוטה המעפנה שכתבת בו "החבילה החדשה הזו היא מאוד יעילה" תנסי לחשוב על תיאור יותר מדויק שיעביר מסר יותר עשיר - לדוגמא "שימוש בחבילה X לעומת חבילה Y האיץ את התקשורת בין הרכיבים פי חמש".
ואיך זה קשור לכתיבת קוד? במקום בטיוטה הראשונה המעפנה שבו קראת לשלושה רכיבים שונים בשם maker_something, תנסי לחשוב מה כל אחד מהם באמת עושה. שמות משמעותיים ומדוייקים יהפכו את הקוד שלך לקריא יותר ויסייעו לך להבין בעצמך מה המבנה שאת רוצה לממש.
2. השתמשי בטון חיובי.
לא בקטע של הכל צריך להיות ורדים ושושנים, אלא שכל פעם שאת שמה שלילה איפהשהו, תהיי בטוחה שזה בדיוק מה שאת מתכוונת. אז במקום הזה בטיוטה שכתבת "זה לא שאני לא מתכוונת שטסטים זה לא חשוב" תכתבי משהו פשוט, חד משמעי ומשדר ביטחון - "טסטים זה חשוב".
והקשר כאן לקוד הוא ממש ישיר - לדוגמא - במקום הפונקציה is_this_false שמחזירה false כאשר הכל כשורה, תשני את השם ל is_this_true.
3. לכתוב זה למחוק.
אולי המנטרה שאני אומרת לעצמי הכי הרבה פעמים כשאני עורכת כל טקסט שהוא.
הטיוטה המעפנה הראשונה בדרך כלל תהיה הרבה יותר ארוכה ממה שבסוף אפרסם. לפעמים אמחק ממש פסקאות שלמות שאגלה שהטקסט עובד בלעדיהן. זה כואב אבל זה שלב הכרחי בתהליך הכתיבה. יש אפילו גישה שטוענת שאנחנו צריכות להתחיל את הטקסט בפסקה שלמה של למה בכלל אנחנו כותבות את הפוסט, ולמה אנחנו מוסמכות לכתוב אותו, וכן הלאה. להוציא החוצה את כל השדים של החוסר בטחון. ואז למחוק את הפסקה כולה.
ושוב, הקשר לקוד מתבקש - בטיוטה הראשונה המעפנה אני אכתוב כנראה את אותה פעולה בדיוק בשלושה מקומות שונים, שאחר כך אבין שזו בכלל צריכה להיות פונקציה. או שאגלה שיש חישוב שביצעתי שאני בכלל לא משתמשת בו אחר כך, וכן הלאה.
לנטלי יש בהרצאה עוד המון טיפים מעולים וכיפיים, אבל רציתי להתעכב כאן דווקא על אלו כי המסר הגדול יותר, הוא שכשאנחנו מתרגלות את התקשורת הטכנית שלנו, אנחנו נהיות נשות מקצוע טובות יותר. כתיבת בלוגים שסייעה לי להיות כותבת קוד טובה יותר? זה אולי נראה כמו מקרה פרטי, אבל כפי שראינו שבוע שעבר ("איך לפתוח הרצאה?"), זה לא היוצא מן הכלל אלא הכלל. יכולות התקשורת הטכנית מסייעות לנו ב, ובכן, תקשורת, שזה חלק חשוב מהמקצוע שלנו, במיוחד כשאנחנו כותבות קוד שאחרות יצטרכו לקרוא.
[נכתב ע"י דליה גרצמן 19.12.2021]
Baot
All our newsletters can be found here.
Connect with us:
Baot is the biggest Israeli community of women in R&D - software engineers, data scientists, security researchers and academic researchers in the fields of CS.