יש בעיה שאני רואה בפרוייקטים עצמאיים שחוזרת על עצמה. הפרוייקטים תמיד נראים כמו פרוייקט סטודנטיאלי וההבדל העיקרי הוא שאין לפרוייקט משתמשים אמיתיים, אין דרישות חיצוניות ולכן למתכנת יש הרבה פחות אתגרים. בפרוייקט לימודי המתכנת נוטה להשתמש בכלים שהוא מכיר או רוצה ללמוד ולחפש להם יוז קייס כדי ליישם אותם. בפרוייקט בעולם האמיתי, גם בקוד פתוח כשיש צוות שמחליט על מטרות הפרוייקט והפיצ'רים, לא מעניין שבהכרח תשתמש בספריה X או פונקציית Y, אבל כן צריך לפתור בעיה מסויימת ובלי שהבעיה הזו תפתר, המשימה לא תצא לדרך.
לצורך ההמחשה אתן סתם דוגמא שכולם יכולים להבין. ראיתי פרוייקט CRM שאמור לנהל קשרי לקוחות. במסך הראשי רואים טבלה עם רשימת הלקוחות. אבל המתכנת לא חשב מה יקרה במצב הדי נפוץ שיש 30,000 שורות? או 200,000? יש לזה הרבה פתרונות: paging, טעינה דינאמית, בפרונט, בבק, תלוי בדרישות. זה הולך ומסתבך כשכל שורה מציגה preview, כשיש סינונים וחיפושים שכוללים קשרים בין טבלאות וכו'. לא מדובר בסקייל במובן של ביג דאטה אלא פיתוח סטנדרטי שכל מתכנת נתקל בו ביום יום.
יוצא שהמתכנת העצמאי מאוד מפוקס בשימוש בפרימוורק וחיבור החלקים אבל מפספס דברים מהותיים וזה גם ניכר בעבודה אצל ג'וניורים.
בפרוייקט אמיתי בחיים לא היו משחררים פיצ'ר במצב כזה.
אציין שפרוייקט עצמאי ללקוח אמיתי (כזה שמעלה דרישות ומשלם על הפיתוח) זה משהו אחר. אמנם חסרה הבקרה והרוויו אבל יש לזה ערך מוסף לא רע.