ישנה תופעה מוזרה שהתעוררה בקרב מפרסמי תוכנה. נראה שיש נטייה לאנשים להפוך את ההבנה שלהם לגבי מה הופך מוצר איכותי לטוב יותר, או לפחות זה נכון כשמדובר באלו שעושים את השיווק.
זה הולך משהו בסגנון: "במוצר שלהם יש מיליון שורות קוד, אבל שלנו יש שני מיליון, ולכן המוצר שלנו חייב להיות טוב יותר."
אף אחד לא יודע מאיפה הגיעה סוג החשיבה הזה של "יותר זה יותר", כשבעבר כולם עבדו כל כך קשה כדי ליצור פילוסופיה של "פחות זה יותר".
כנראה זה התחיל בעיתונאות ברמה צרכנית, מכיוון שכותבים רבים מנסים להרשים את הקהל על ידי ציטוט של מספרים גדולים. עבור רוב הדברים, זה עובד - כונן הבזק הזעיר הזה מכיל 200 טרה-בייט של נתונים, המעבד הזה יכול לעבד 48 מיליארד הוראות בשנייה - והכותבים לא תמיד מתמצאים טכנולוגית מספיק כדי להבין שזה לא חל על קוד המקור.
אבל יעילות בקידוד היא לא רק יצירת אלגוריתמים הדוקים. זה גם על היכולת לצמצם פסולת. המשמעות היא בזבוז במונחים של כמה זמן אתה מבלה בתיקון בעיות, בזבוז במונחים של צריכת משאבי מחשב רבים מדי, ואפילו בזבוז במונחים של כמה קופסאות פיצה הצוות שלך ערם ברחבי המשרד עד סוף השבוע. באופן אידיאלי אתה רוצה לצמצם את כל הדברים האלה.
כיצד לשפר את יעילות הקידוד ב-8 שלבים פשוטים
אז מה שנסתכל עליו במאמר זה יהיו הדברים שתוכל לעשות כדי לשפר את היעילות ולהגדיל את הפרודוקטיביות.
1. בנה סביבת עבודה נוחה
כל קודן עובד בנסיבות ייחודיות, והקוראים שלנו הם חבורה מאוד מגוונת, כך שלחלק מכם יהיה קל יותר ליישם את ההצעות הללו מאשר לאחרים.
אם אתה פרילנסר, מזל טוב, כי אתה כבר אדון בסביבת העבודה שלך. כמובן שזה ישתנה כשאתה הולך לבקר לקוח וצריך לעבוד באתר, אבל זה עדיין עמדה מתוקה להיות בה אם אתה יכול להצליח מזה.
אם אתה המנהל של צוות פיתוח, הצעות אלה יכולות גם לעזור להביא את הצוות שלך ליעילות מירבית. או אם אתה עובד בצוות פיתוח, אולי תרצה להציע כמה מהרעיונות האלה למנהל שלך או לפחות לשלוח לו או לה קישור לדף זה ולקוות לטוב.
שקול לאפשר לחברי צוות לעבוד מרחוק
תכנות הוא בחלקו תרגיל בלוגיקה, אבל זה אפילו יותר אתגר יצירתי. המתכנתים הטובים ביותר יכולים להעסיק כל צד של המוח שלהם באותה מידה לכל משימה.
המדע הודה זה מכבר שאנשים יצירתיים עושים את מיטב עבודתם בלילה, וזה משהו שכולנו חווינו. אז למה רוב המנהלים מתעקשים על שגרת 9 עד 5 מסורתית?
למעשה, אנחנו כבר יודעים את התשובה לכך. בחלקו מדובר בשליטה, ובחלקו בהפיכת הדברים לנוחים יותר מנקודת מבט עסקית (או לפחות מבחינה ניהולית). אבל ההתעקשות הזו על שגרה ומיקום פוגעת ביעילות ובפרודוקטיביות של הצוות.
מה שאתה צריך להבין הוא שהקודנים שלך כנראה היו ערים כל הלילה וניסו את המשחק האחרון, או אולי הם הלכו לחגוג, או פשוט נאלצו להתרועע עם המשפחה.
זה אומר שכשהם מגיעים לעבודה ביום שני בבוקר, לא רק שאתה לא משיג אותם ברמת הפרודוקטיביות השיא שלהם, אלא שהם כבר סחוטים מאנרגיה ועייפים כלבים.
מתן בחירה לעובדים מתי הם עובדים - ובאופן אידיאלי גם היכן - היא דרך מצוינת לשפר את הפרודוקטיביות והמורל. כל עוד הם עושים את העבודה ומניבים תוצאות איכותיות מעולות, לא צריך להיות אכפת לך מתי, איפה או איך הם משיגים זאת.
היוצא מן הכלל הוא כאשר אתה צריך שיתוף פעולה הדוק, אבל למען האמת רוב המקודדים מצליחים יותר כשנותנים להם לעשות דברים בדרכם שלהם, והצורך בשיתוף פעולה הדוק הוא נדיר.
האפשרות להיכנס למשרד עדיין צריכה להיות שם, אבל אין סיבה ריאלית למה היא צריכה להידרש אלא אם כן אתה עובד על פרויקטים צבאיים סודיים ביותר.
כפרילנסר אתה גם יכול לראות שנקודת המפתח כאן היא שאם אתה עושה את רוב עבודת הקידוד שלך בלילה, סביר להניח שתספיק יותר. יש פחות הסחות דעת מאוחרות בלילה, זה שקט יותר, ואתה תרגיש יותר יצירתי.
הימנע ממוזיקה
כולנו ראינו את הסטריאוטיפים המטורפים של הסרטים שבהם איזה אוברהאקר סופר-גרנג'י שם את האוזניות שלו וג'אם עם דת'-מטאל תוך שהוא מוציא ללא מאמץ קוד מלא בלי לעצור אפילו לנשום. וכולנו שבאמת מקודדים בעולם האמיתי יודעים כמה הדימוי הזה מגוחך.
אבל אם אתה מאזין למוזיקה בזמן העבודה, היזהר. זה די קל למצוא את עצמך חושב על המוזיקה במקום על העבודה שלך, וסוגים מסוימים של מוזיקה יכולים להיות בעלי השפעה מרדיפת.
כשאתה הולך לאימון בחדר כושר, הסוג הנכון של מוזיקה עשוי לעורר אותך לדחוף את כמה חזרות נוספות. אבל אף אחד מעולם לא הצליח ליצור מוזיקה שתיתן לך השראה למצוא את הקו עם נקודת הנקודה החסרה, או לעשות את הבחירה הנכונה בין שימוש בלולאת for או בלולאת while. הכי קרוב שהגענו לזה הוא Electric Dreams.
נסו לשמור על סדר
העומס יכול להיות מנחם בצורה מוזרה, אבל זה גם יכול להאט אותך. אתה יכול בקלות להפסיד 20 דקות בחיפוש אחר משהו שאבד בבלאגן, ואז לשכוח למה רצית אותו מלכתחילה.
אז, למרות כל אי הנוחות שזה גורם, למה אנחנו - חלקנו לפחות - כל כך מכורים לבלגן? מומחית וסופרת ארגונית, ג'ולי מורגנשטרן, טוענת שזה בגלל שהחומר הזה מחבר אותנו עם העבר שלנו ומשחק תפקיד בהגדרת הזהות שלנו.
מרקוס גדלד, מורה ובמאי במה שבסיסו בעיר ניו יורק, מציע שזה בגלל שהעומס עדיף על סביבה "סטרילית", ומדמה את הכאוס של העומס לאישור של חופש ויצירתיות.
עם זאת, אין ספק שהפחתת העומס תעזור לך להימנע מהסחת דעת וחוסר ארגון. ככזה, זו מטרה ראויה להגשמתה.
בכל אופן, שמרו בסביבה כמה חפצים קדושים שגורמים לכם להרגיש טוב יותר ופחות לחוצים, אבל אל תגזימו. פינוי קלות הוא אחד הדברים הקשים ביותר לעשות עבור רוב האנשים, ולא רק שולחנות העבודה הפיזיים שלנו צריכים פינוי, אלא לעתים קרובות גם שולחנות העבודה של המחשב שלנו.
אם אתה ממש נאבק עם זה, אתה יכול לנסות להשתמש ב-DTE מינימליסטי כמו Fluxbox, שלא ממש מאפשר לך להיות בלאגן.
אבל בתוך כל הסדר הזה, אל תגזים. יש הרבה מדע טוב המצביע על כך שמעט כאוס בסביבה עשוי למעשה להועיל ליצירתיות. אחד מקטעי המחקר שצוטטו בתדירות הגבוהה ביותר בנושא זה הוא ערך יומן במדעי הפסיכולוגיה מאת Vohs, Redden & Rahinel עבור אוניברסיטת מינסוטה בשם סדר פיזי מייצר בחירות בריאות, נדיבות וקונבנציונליות, בעוד שהפרעה מייצרת יצירתיות. כנראה שהסיבה לכך שזהו העיתון שעיתונאים נאחזים בו היא שהיא מסיקה בבירור כי: "...המשתתפים בחדר לא מסודר היו יצירתיים יותר ממשתתפים בחדר מסודר".
הרבה פחות פופולריות הן דעות סותרות, כגון הפרעה סביבתית מובילה לכשל בוויסות עצמי (Chaye & Zhu, 2014), פורסם בכתב העת Journal of Consumer Research. מחקר זה מצא שאנשים העובדים בסביבות לא מסודרות נפגעו ביכולתם לבצע משימות.
אז איפה זה משאיר אותך? האם לעבוד בכאוס או בסטריליות? נראה שהתשובה היא למצוא איזון שבו זה רק כאוטי מספיק כדי לשמור לך השראה, אבל לא עד כדי כך שדעתך מוסחת או מתקשה למצוא דברים.
השאירו מעט מקום מאחוריכם כדי להרחיק את מחשבותיכם
זה רעיון טוב שיהיה לך הרבה מקום לשוטטות כשאתה מתלבט. רבים מהאדמירלים והגנרלים הטובים ביותר בהיסטוריה היו ידועים במשך הזמן הרב שהם בילו בהליכה על הסיפון תוך כדי תכנון אסטרטגיות קרב.
לא רק גברים לוחמים פועלים לפי הנוהג הזה. נזירים בודהיסטים רבים דוגלים גם ב"מדיטציית הליכה", ומאמינים שהיא מסייעת לקדם בהירות התודעה. בכל פעם שיש לך בעיית תכנות מסובכת במיוחד לפתור, אולי תמצא שזה עוזר למתוח קצת את הרגליים עם הליכה מדיטטיבית מסביב לסיפון. ברור שכאן שוב חוסר בלאגן יעזור לך לעשות זאת מבלי להגיע לבית החולים.
כבוס, נקוט גישה זהירה לביקורת על מאמצים יצירתיים
אין שום דבר רע בביקורת בונה, אבל אתה צריך לבחור את הרגע הנכון ולגשת אליו בצורה הנכונה, אחרת זה יכול לגרום לאחור על ידי הפיכת הצוות שלך לפחות פרודוקטיבי בעתיד. במקום לעורר בהם השראה ולספק תובנות, אתה עלול לגרום להם לפחד לקחת סיכונים, וזו דרך טובה להרוג את היצירתיות. מריקה רוסקס, ב אילוצים המסייעים או מעכבים ביצועים יצירתיים: גישה מוטיבציונית, מספקת מסגרת כיצד להתמודד עם מוטיבציה של עובדים יצירתיים, ובאופן ספציפי גם כיצד להימנע מהפחתת מוטיבציה לא מכוונת שלהם (Creativity & Innovation Management, Vol 24, Iss 2, 2015).
2. קבע SOP טוב
יש הרבה טרנדים קליטים בהליכי ניהול עסקים ותכנות שנשמעים הרבה יותר הגיוניים בתיאוריה ממה שהם מתבררים הלכה למעשה. אם גישה מסוימת עובדת עבורך או לא תלויה ביעד שלך, ומה אתה מחשיב באופן אישי כתוצאה מוצלחת.
דוגמה אחת למתודולוגיה שחברה שעבדתי בה ניסתה - ובאותה מידה עזבה - היא תכנות זוגיות (לא להתבלבל עם תכנות PEAR).
בעוד שחלק מהאנשים באמת מעריצים את מתודולוגיית העבודה הזו ומשבחים את מקומה בפרדיגמת הפיתוח הזריז, גילינו שהיא נורא לא יעילה.
בתור התחלה, זה דרש שני מתכנתים לכל תחנת עבודה, כך ששילמת פי שניים על פחות עבודת פיתוח בפועל. מצאנו גם שזה היה הרבה יותר איטי לעבוד בצורה הזו בגלל זרימת העצירה/התחלה התכופה והנטייה לדיאלוג מיותר.
היתרונות של תכנות זוגי היו שזה אכן הביא לתיעוד טבעי יותר ולתיעוד קפדני יותר. זה גם איפשר לזהות באגים ביתר קלות ולהציע הצעות לגבי הידוק אלגוריתם. יחד עם זאת, אותם יתרונות גם יצרו בעיות מכיוון שלפעמים השינויים וההתאמות לא ממש היו נחוצים.
סיכון נוסף בגישה זו הוא שאתה יכול לקבל את האפקט שזוהה על ידי Roskes, שם מתכנתים עשויים להיות מהססים לנסות דברים כי הם לא רוצים שיתוקנו. ייתכן שתמצאו התנגשויות אישיות מתלקחות כאשר מפתח אחד מאוד פדנטי ומסורתי, אבל השני יותר יצירתי וספונטני.
מתכנתים מצהירים לעתים קרובות שהם מעדיפים תכנות זוגי. ייתכן שהסיבה לכך היא שהם נהנים מהאינטראקציה החברתית שהיא מעניקה, אבל זה לא תורם דבר ליעילות הייצור, מלבד אולי כמחזק מורל.
אז מה שאתה צריך לקבוע זה מה באמת עובד עבור המפתחים שלך ומה לא. עבור הדברים שלא עובדים, עדיף לזרוק אותם, גם אם הם נוהג טרנדי מאוד. כל מה שעוזר לצוות להתקדם במהירות הוא דבר טוב. אבל אם הם יפגעו במתודולוגיה שלא מתאימה לסגנון שלהם, זה יוביל בסופו של דבר לבעיות.
3. עודדו תיעוד מלא
למרות שזה עשוי להיראות כי מילוליות תגביר את חוסר היעילות, פרק הזמן הקטן שלוקח לתת יותר פרטים ודיוק בהערות יכול לחסוך הרבה צרות בזמן שהפרויקט מתגלגל או עובר תיקונים.
4. לא לעודד תיעוד מיותר
קוד כתוב היטב הוא לעתים קרובות תיעוד עצמי. אם ברור לחלוטין מה פונקציה עושה מהשם שאתה נותן לה (מה שאמור להיות כמעט תמיד), אז הוספת תיאור נוסף מיותרת. כך גם לגבי שמות משתנים וערכי החזרה. צריך להיות ברור מהשם מה הם עושים, ובמקרים שבהם לא ניתן לעשות זאת, כדאי לכלול תיאור שלהם בהערות.
5. החלל הלבן הוא החבר שלך
שימוש מתאים ברווח הלבן בקוד שלך הוא בעל ערך כדי להקל על הקריאה, הסקירה וההבנה של הקוד. זה הולך יד ביד עם תיעוד טוב וכתיבת קוד לתיעוד עצמי. זה אמור להיות אפשרי לכל מתכנת מנוסה - או אולי אפילו לא מתכנת - לאסוף עותק של קוד המקור שלך ולהבין מיד מה המטרה של כל פונקציה וכיצד היא פועלת. באופן אידיאלי, מישהו צריך להיות מסוגל ללמוד לתכנת רק מלימוד הקוד הכתוב היטב שלך.
6. העדיפו פשטות על פני מורכבות
ככל שתהפוך את הקוד שלך למורכב יותר, כך יהיה קשה יותר להתיר אותו. באופן אירוני זה חל על קיצורי דרך לתכנות, כמו שימוש בתנאי קיצור במקום לכתוב אותם במלואם. זה חוסך זמן בכתיבה, אבל מתכנת פחות מנוסה שייכנס לבדוק את הקוד שלך מאוחר יותר אולי לא יבין את כוונותיך.
7. בדיקה ממצה
יש לבדוק את הקוד בהדרגה ולעתים קרובות. לפני פריסת משהו, עליך לערוך כמה שיותר בדיקות פנימיות, גם אם המהדורה הראשונה שלך תיקרא Alpha.
8. השתמש בבקרת גרסאות
אתה צריך להיות משוגע כדי לא להשתמש בבקרת גרסאות בפרויקט גדול. בלעדיו, אינך מוגן מפני טעויות קלות משלך, וגם זה ממש קל לחבר צוות אחר לחבל בטעות (או בכוונה) בקוד שלך על ידי החלפתו במשהו שלא נעים לך.
סיכום
על ידי התחשבות בשמונה הצעות מפתח אלו, תוכל לפתח אסטרטגיה משלך למיצוי היעילות ביותר עבורך ועבור כל חברי הצוות שאתה עובד איתם.
אתה לא בהכרח צריך ליישם את כולם, ובוודאי שחלקם אולי אפילו לא יהיו מעשיים עבורך, אבל סביר להניח שכל שילוב ביניהם יביא לכך שתבצע את העבודה שלך בפחות טרחה. זרימת עבודה פרודוקטיבית יותר תחזיר את עצמה לאורך זמן, גם אם זה רק במונחים של הפחתת מתחים ומתן לך יותר זמן לעצמך. זו מטרה ששווה לעבוד לקראתה.
תגובות תגובות 0