איך ללמוד פיתוח תוכנה לבד – ניסיון מעשי (חלק ג')

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

  • חלק א' – לימוד שפת התכנות הראשונה ויצירת פרוייקט בסיסי
  • חלק ב' – לימוד טכנולוגיות מתקדמות ופיתוח צד שרת

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

אז איפה היינו?

  • למדנו Java Script, HTML וCSS
  • למדנו React, Node.js וMongoDB
  • יצרנו אתרים מורכבים

איך ממשיכים מפה?

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

שלב 1 – פרוייקט הדגל שלנו

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

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

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

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

סיימנו את הפרוייקט, מה עכשיו? כמה אפשרויות עומדות בפניכם:

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

שלב 2 – אימון תכנות

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

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

מה עושים? מתאמנים! כרגיל, האינטרנט מלא באתרים עם שאלות מראיונות עבודה בתכנות. אני מציע גם להתאמן זמן מה על פיתוח בלחץ זמן – ככה בראיון עבודה לא נרגיש את הלחץ בכלל. התחום נקרא תכנות תחרותי (competitive coding) והוא נועד לאימון לתחרויות תכנות (כן, יש דבר כזה) אבל שימושו העיקרי בקרב מפתחים מתחילים הוא הכנה לראיונות עבודה. נתמקד בתרגילים בג'אווה סקריפט וריאקט כדי להתמקצע בדברים ספציפיים ולא להתפזר. אתרים לדוגמא:

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

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

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

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

שלב 3 – השתתפות בפרוייקט קוד פתוח באינטרנט

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

שלב 4 – פתירת חידות הגיון

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

שלב 5 – הצעדים הבאים

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

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

להשאיר תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת /  לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת /  לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת /  לשנות )

מתחבר ל-%s