• בלוג
  • 4 ספרים מומלצים ששינו את הגישה שלי לפיתוח תוכנה

4 ספרים מומלצים ששינו את הגישה שלי לפיתוח תוכנה

20/08/2015

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

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

1. גישה: The Pragmatic Programmer: From Journeyman to Master

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

קישור לספר באמזון:
http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master-ebook/dp/B003GCTQAE/ref=mt_kindle?_encoding=UTF8&me=

2. בדיקות יחידה Rails 4 Test Prescriptions

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

קישור לעמוד הספר:
https://pragprog.com/book/nrtest2/rails-4-test-prescriptions

3. בסיסי נתונים: Postgresql Up & Running

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

קישור לעמוד הספר:
http://shop.oreilly.com/product/0636920025061.do

4. ניהול מוצר Start Small, Stay Small

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

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

קישור לעמוד הספר:
http://www.amazon.com/Start-Small-Stay-Developers-Launching/dp/0615373968

זאת הרשימה שלי, מוזמנים להוסיף ספרים משלכם (או הערות על הספרים שלי) בתגובות. קריאה מהנה!