CodeGym /בלוג Java /Random-HE /אני מלמד את התלמידים דברים שיפתחו להם דלתות רבות. ראיון ע...
John Squirrels
רָמָה
San Francisco

אני מלמד את התלמידים דברים שיפתחו להם דלתות רבות. ראיון עם מילאן ווצ'יץ', המנטור באוניברסיטת CodeGym

פורסם בקבוצה
הכירו את Milan Vucic , אחד ממנטורי הקורס "יסודות ג'אווה" באוניברסיטת CodeGym, מחבר ומורה של הקורס "פיתוח אפליקציות אנדרואיד למתחילים" . יש לו שמונה שנות ניסיון בעבודה כמפתח אנדרואיד וכמה שנים של חונכות ב-Java ואנדרואיד. בטקסט זה, הוא מדבר על הרקע המקצועי שלו ועל החונכות שלו, חושף את הטעויות הגדולות ביותר שמתחילים יכולים לעשות, ומייעץ למשתמשי CodeGym כיצד להפוך למפתחים.

למה בחרת להיות מפתח?

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

מה היה מסלול הלמידה שלך כדי להפוך למפתח?

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

באילו חברות עבדת ובאילו פרויקטים השתתפת?

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

מנקודת המבט שלך, מה העתיד של Java בפיתוח אנדרואיד (ובכלל)?

כתבתי קוד בעיקר ב-Java, שזו השפה האהובה עליי. מבין כל השפות שהשתמשתי בהן, Java היא היפה והקלה ביותר ללמידה כי היא כל כך ידידותית. Java כבר בשימוש בפרויקטים רבים; כמובן, יש לו עתיד. אתה יכול ליצור כמעט כל דבר ב-Java: מאנדרואיד ועד אפליקציות אינטרנט, מ-backend ל-frontend ועד לשולחן העבודה. אבל גם אם נדמיין שלג'אווה אין עתיד וכל הפרויקטים שנכתבו ב-Java נעצרו (וזה בלתי אפשרי), זו עדיין שפה מצוינת להיכרות עם תכנות. הכרת Java, תוכל ללמוד Python או C# במהירות יחסית. אתה לא תאהב תכנות אם תחילה תלמד שפה מורכבת (או מכוערת). אם הייתי לומד PHP או C++ מההתחלה, אולי לא הייתי אוהב תכנות בכלל: לא קל לשלוט בהם.

באיזה שלב החלטת להיות מנטור?

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

איך הגעת לרעיון להשיק קורס אנדרואיד משלך?

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

מהן הטעויות הנפוצות של תלמידים בזמן לימוד תכנות?

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

מהם ההבדלים העיקריים בין תלמידים בעלי ידע/ניסיון קודם בתכנות לבין אלה שמתחילים בקידוד?

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

האם תוכל לתת עצות למשתמשי CodeGym כיצד להשיג את יעדי האימון שלהם ולהיות מפתחים?

חקור טכנולוגיות

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

תשכח מהפחד

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

השקיעו זמן בלמידה

מה שאנחנו עושים בכיתה זה חצי מהקרב; אתה צריך להשקיע יותר זמן בנפרד. ככל שאתה עושה יותר בין השיעורים, אתה לומד יותר, נכון? אם לא תעשה כלום בין השיעורים, כנראה שיהיה לך קצת ידע ( מהצפייה בהרצאות שלי ), אבל לא תוכל ליצור משהו באופן עצמאי. אם אתה מתאמן בקורסי Java Fundamentals או אנדרואיד, השקיעו לפחות כמה שעות בעבודה בעצמכם כמו שאנחנו עובדים יחד. נניח שיש לנו שלוש וחצי שעות שבועיות איתי; אז אתה צריך לעשות לפחות שלוש או ארבע שעות בשבוע בעצמך. חשוב לקוד בעצמך כדי לגבש את הידע ולהעלות שאלות פוטנציאליות לדיון עתידי. אל תהססו לשאול שאלה בכיתה או בצ'אט Slack. עבור באגים מתמשכים, אנו יכולים אפילו לבצע הפעלות ניפוי באגים בזמן אמת כפי שעשינו בקבוצה האחרונה. הלמידה היא רחוב דו-סטרי, והדבר תלוי בכולנו להפוך את הקורס הזה לחוויה מהנה ופרודוקטיבית. "אני מלמד את התלמידים דברים שיפתחו להם דלתות רבות".  ראיון עם מילאן ווצ'יץ', המנטור באוניברסיטת CodeGym - 1
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION