רעיונות לפרויקטי תכנות

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

אבל איזה פרויקט תכנות כדאי לבנות?

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

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

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

פרויקטים למתחילים

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

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

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

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

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

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

מאגר רעיונות לפרויקטים במגוון רמות ושפות

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

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

פרויקטים בדאטה סיינס

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

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

פרויקטים בפיתוח web

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

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

אבל הפרויקט העצמאי הראשון שלי היה דווקא משהו אחר – אפליקציית ווב לציור סימטרי שהיא אתר אינטרנט רספונסיבי (בהתחלה האתר לא היה רספונסיבי, אבל דרישות המשתמשים גברו על העצלות שלי). כתבתי פעם פוסט שתיאר את התהליך. בנוסף, פרסמתי באנגלית מדריך לבניית הפרויקט בגליון 2018 של 24ways. אני מקווה להשלים יום אחד גם את הגרסה העברית של המדריך.

אפשרויות נוספות לפרויקטים

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

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

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

כמה מילים לסיכום

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

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

בהצלחה!

2 תגובות בנושא “רעיונות לפרויקטי תכנות”

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

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

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

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

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

כתיבת תגובה

האימייל לא יוצג באתר.

eighteen + seventeen =