הפעם זה אישי: מדריך לבניית פרויקט התכנות שלך - פונקציה אנונימית - הבלוג של הגר שילה - TheMarker
 

אתם מחוברים לאתר דרך IP ארגוני, להתחברות דרך המינוי האישי

טרם ביצעת אימות לכתובת הדוא"ל שלך. לאימות כתובת הדואל שלך  לחצו כאן

תיק מניות

רשימת קריאה

רשימת הקריאה מאפשרת לך לשמור כתבות ולקרוא אותן במועד מאוחר יותר באתר,במובייל או באפליקציה.

לחיצה על כפתור "שמור", בתחילת הכתבה תוסיף את הכתבה לרשימת הקריאה שלך.
לחיצה על "הסר" תסיר את הכתבה מרשימת הקריאה.

לרשימת הקריאה המלאה לחצו כאן

הפעם זה אישי: מדריך לבניית פרויקט התכנות שלך

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

מתוך פורסט גאמפ
רקס

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

1. בחירת רעיון לפרויקט

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

א. להשתמש באתרים שמספקים רשימת רעיונות לפרויקטים. הקישי בגוגלSide project ideas for software engineers ומיד תגיעי לשלל תוצאות רלוונטיות.

ב. לקחת פרויקט מטוטוריאל קיים ולהרחיב אותו כרצונך.

ג. לעשות סיעור מוחות עם חברים ולזרוק רעיונות עד שיצוץ משהו מלהיב.

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

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

■ יש לו היקף מוגדר ותחום. קביעת סדר גודל לפרויקט תאפשר גם קביעה של לוח זמנים (ומי יודע, אולי אפילו עמידה בו). בתור התחלה מוטב לבנות פרויקט מצומצם יחסית, כזה שאפשר להגדיר לו "נקודת סיום" ראשונית. אחרי השלב הזה תוכלי לעצור ולחשוב מה הלאה: להוסיף פיצ'ר? לעבור לפרויקט חדש? מה שתרצי.

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

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

לגו
Junpinzon | Dreamstime.com

תכנון העבודה: פירוק המשימה לתת-משימות

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

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

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

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

Dreamstime

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

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

מתוך סדרת הטלוויזיה "חברים". התגוררו בדירות שכורות וזכויותיהם נשמרו על פי חוק
ASSOCIATED PRESS

אין כמו פידבק כדי לשפר את הפרויקט שלך

כשהפרויקט קורם עור וגידים זה הזמן לבקש משוב על הקוד ועל חוויית השימוש. לא כולנו חשים בנוח לשתף ב-work in progress שלנו, אבל זה מועיל ומשתלם. תחשבי שכך את מקבלת Code Review ו-QA כמו בעבודה אמיתית, וזה יכול רק לשפר את הפרויקט. כמובן, חשוב שה-reviewers שלך יהיו לא רק אנשים עם ניסיון מקצועי רלוונטי אלא גם בעלי יכולת לתת משוב בצורה נעימה ובונה.

אחסון, שיתוף וניהול גרסות

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

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

תכנות. סוכניות הנסיעות מעסיקות יותר מתכנתים מאשר סוכני נסיעות
PRImageFactory / Getty Images IL

הוספת תיק העבודות לקורות החיים

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

בהצלחה בבניית הפרויקט!

הרשמה לניוזלטר

כל הסקירות בזירת הניתוחים של TheMarker - בתיבת המייל שלכם

ברצוני לקבל ניוזלטרים, מידע שיווקי והטבות


תגובות

דלג על התגובות

בשליחת תגובה זו הנני מצהיר שאני מסכים/מסכימה עם תנאי השימוש של אתר TheMarker

סדר את התגובות

כתבות שאולי פיספסתם

*#