עיקרי טֶכנוֹלוֹגִיָה כיצד ניתן לדעת מה ההבדל בין מתכנת טוב לגדול

כיצד ניתן לדעת מה ההבדל בין מתכנת טוב לגדול

ההורוסקופ שלך למחר

אם כתיבת קוד הייתה מדע, כל המפתחים היו פחות או יותר זהים.

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

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

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

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

רוברט ולטה שווי נטו 2017

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

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

התשובה הישר היא לא.

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

אבל יש דרך. ישנם כמה אינדיקטורים אחרים (מלבד איכות כתיבת הקוד) המפרידים בין מתכנתים מעולים לבין טובים.

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

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

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

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

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

כמה גבוה אנדי דורפמן

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