CodeGym /בלוג Java /Random-HE /עד אינסוף ומעבר לכך: כמה זמן לוקח ללמוד ג'אווה?
John Squirrels
רָמָה
San Francisco

עד אינסוף ומעבר לכך: כמה זמן לוקח ללמוד ג'אווה?

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

איך אנחנו מחפשים את התשובה

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

מה המשמעות של "לדעת ג'אווה"?

התשובה המדויקת ביותר, אם כי כללית מאוד, לשאלה זו תהיה "להצליח לפתור את הבעיה באמצעות Java." בעיה כזו עשויה להיות המטרה של "לעבור בחינה" או "להשיג עבודה". או שזו יכולה להיות משימה טכנית, או משימה גדולה "ליצור פרויקט משלי מספיק טוב עבור Play Market", למשל, או משימה קטנה כמו "להבין איך לכתוב קוד שעושה את מה שאתה צריך." עד אינסוף ומעבר לכך: כמה זמן לוקח ללמוד ג'אווה?  - 2כמובן, הבעיות שלך ישתנו עם הזמן. לאחר קבלת העבודה הראשונה שלך, תצטרך לצמוח לתפקידים (לדוגמה, ממפתח ג'אווה ג'וניור למפתח ג'אווה בינוני/בכיר). משימת הקידוד הראשונה מלווה את השנייה. יתר על כן, כאשר תעשה זאת, יופיעו כמה יעדים חדשים. נחזור לשאלתנו. אילו נושאים עליך לדעת כדי לכתוב "אני יודע ג'אווה" בקורות החיים שלך? תלמידי Java בדרך כלל לומדים את הנושאים הבאים:
  • Core Java או
  • Core Java + JUnit או
  • Core Java + בסיסי נתונים או
  • Core Java + Tools או
  • Core Java + Libraries or
  • Core Java + Spring + SpringBoot + Hibernate או
  • Core Java + Android SDK או
  • ...וכל השילובים שלעיל.
לכל הנושאים הללו יש דבר אחד במשותף. זוהי Core Java, היסודות של שפת Java. אז אם אתה לא יודע Core Java , אתה בהחלט לא יודע Java בכלל. לכן, ללמוד Core Java הוא שלב מס' 1 עבור כל מפתח תוכנה עתידי של Java. Core Java מכסה את המושגים הבסיסיים של השפה:
  • סוגים ואובייקטים בסיסיים
  • מבנים בסיסיים (מפעילים מיוחדים, לולאות, סניפים)
  • מושגי OOPs
  • שיעורי עטיפה
  • אוספים
  • ריבוי השרשורים
  • זרמי I/O
  • טיפול חריג
אז Core Java מכיל סוגים בסיסיים, אובייקטים, קונסטרוקציות ועקרונות, כמו גם את הספריות והמסגרות החשובות ביותר. בנוסף Core Java מכסה שיעורים לרשתות, אבטחה, גישה למסד נתונים, פיתוח ממשק משתמש גרפי (GUI) וניתוח XML. לרוב כל החבילות של "Core Java" התחילו ב-'java.lang..' המטרה הראשונה של כל תלמיד Java היא ללמוד Core Java. מה ללמוד אחרי Java Core? זה תלוי למה אתה לומד Java.

הדרך האישית שלך. בשביל מה לומדים ג'אווה?

במאמר זה איננו מתייחסים לאפשרויות כמו "אני לומד ג'אווה רק בשביל הכיף" או "אני רוצה ללמד ג'אווה בעתיד". כאן אנחנו מדברים על שימוש מקצועי ב-Java ב-IT. נכון לעכשיו, לרוב ג'אווה נלמדת על מנת ללכת באחת משלוש דרכים:
  • מפתח Java, ממתאמן/מפתח ג'וניור ועד מפתח בכיר
  • מפתח אנדרואיד, אינדי או בחברה (ג'וניור עד בכיר)
  • אוטומציה של QA (עם Java)

מפתח Java

המאגר של מפתחי Java הוא רחב מאוד והדרישות לידע בג'אווה הן לקבל את העבודה הראשונה שלך, שיכולה להשתנות מאוד. לפי CodeGym Survey, ישנם כמה אנשים שקיבלו את העבודה הראשונה שלהם ב-Java Junior כשהם מכירים את Java Core בלבד ותו לא. החברות היו מוכנות להכשיר אותם במהלך תהליכי העבודה. עם זאת, מדובר באירוע די נדיר. לעתים קרובות יותר אדם כזה יכול להצטרף להתמחות או להיות מתאמן בג'אווה לאחר שעבר כמה בחינות. בדרך כלל מועמדי Java Junior צריכים לדעת יותר מאשר רק Java Core כדי לקבל את העבודה הראשונה שלהם. הנה רשימה של טכנולוגיות רלוונטיות שמפתחי Java צריכים להכיר.
  • Core Java
  • JDK API
  • Java 8 (lambdas), Java 11
  • ספריות בדיקה (JUnit)
  • מסגרת אביב
  • קפיץ מגף וקפיץ MVC
  • שינה
  • JDBC
להלן אינפוגרפיקה מורחבת המבוססת על סקר CodeGym וניתוח של משרות פנויות נוכחיות של Java Junior. אנו רק מציינים שהוא לא מתאר את ג'אווה עצמה, אלא גם מספר טכנולוגיות אחרות שמפתחי ג'אווה מודרניים אמורים להכיר. עד אינסוף ומעבר לכך: כמה זמן לוקח ללמוד ג'אווה?  - 3גודלו והסתעפותו יכולים להפחיד קורא לא מיומן. בבקשה, הישארו רגועים ונשמו עמוק! טכנולוגיות אלו תלמדו בפירוט במהלך עבודתכם. בדרך כלל מפתח תוכנה מתחיל צריך רק לקבל מושג כללי לגבי רוב הטכניקות הללו (למעט חריגים נדירים).

מפתח אנדרואיד

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

QA אוטומציה

אוטומציה QA טובה צריכה לדעת את שפת התכנות די טוב, זו אחת המיומנויות החשובות ביותר למקצוע זה. מחובר ל-Java
  • Core Java (במיוחד OOP, Collection, FileOperations)
  • ספריות בדיקה (JUnit)
  • IntelliJ IDEA
טכנולוגיות אחרות:
  • מסגרת סלניום RC/WebDriver
  • מודל אובייקט עמוד
  • HTML/CSS
  • SQL
בדרך כלל הדרך לאוטומציה של ג'וניור QA היא מעט יותר קצרה מ-Java Junior Developer. המספרים המדויקים תמצא בסוף מאמר זה.

מי שואל? דיוקנאות של תלמידי Java פוטנציאליים

"אני חושב שזה תלוי ברקע שלך ובמשך הזמן שאתה יכול להקדיש ללימודים. כשהתחלתי את דרכי כמפתח תוכנה הייתי מקדיש לפחות 40 שעות שבועיות בלימודים. לאחר 6 חודשים של לימודים במשרה מלאה הרגשתי מספיק בטוח כדי שאוכל לשלוט בכל טכנולוגיה חדשה בעצמי. על מנת לקבל את העבודה הראשונה שלך כמהנדס תוכנה, תצטרך לא רק ללמוד ג'אווה, אלא גם להבין את היסודות של מדעי המחשב, תכנות מונחה עצמים ולכתוב כמה פרויקטים שיכולים להציג את עבודתך. אני חושב שזה יכול לקחת איפשהו בין תשעה לשנים עשר חודשים. אני יודע שזה נשמע כמו הרבה עבודה, אבל אל תרגיש מיואש! המסע הזה יכול להיות כיף אמיתי אם תגלה איזה היבט של קידוד מביא לך שמחה ותאפשר לעצמך לשחק." עד אינסוף ומעבר לכך: כמה זמן לוקח ללמוד ג'אווה?  - 6
יוליה דיינגה , מפתחת תוכנה אוטודידקטית. יוליה עובדת בלינקדאין בתור מהנדסת שוליה של REACH. כמו כן, היא יצרה ערוץ יוטיוב , כדי לחלוק את הניסיון שלה בלימוד תכנות מחשבים ומציאת עבודה בעמק הסיליקון
אנו יכולים לחלק את אלה שמתחילים ללמוד ג'אווה לשלוש קטגוריות עיקריות:
  1. "טירונים". אפס ניסיון. ובכן, הנה אנשים שלא יודעים כלום על תכנות.
  2. "אמצעים". סטודנטים עם ניסיון תכנות מינימלי או כאוטי. האנשים האלה לומדים תכנות בבית הספר, באוניברסיטה או בקורסים, אבל זה לא היה למידה רצינית.
  3. "יתרונות". מפתחי תוכנה שיודעים שפות תכנות אחרות (1 או יותר).
לפי הסקר, ל-49% מהתלמידים שלנו היו תכנות בסיסיות בבתי ספר או בקורסים לפני שהחלו ללמוד ג'אווה ברצינות.
  • 33.3% היו חדשים לחלוטין
  • 17.6% ידעו לפחות שפת תכנות אחת
עד אינסוף ומעבר לכך: כמה זמן לוקח ללמוד ג'אווה?  - 6

מה משפיע לטובה על זמן הלימוד?

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

בחר את המקורות הנכונים

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

היה מוכן ללמוד הרבה ובאופן עקבי

ג'ון סלבסקי, מורה ג'אווה ומפתח תוכנה אמר באחד המאמרים שלו שלפעמים היו לו כמה תלמידים שעשו תכנות בצורה מדהימה, אבל חלקם פשוט הפסיקו את הלמידה שלהם. הבעיות שלהם לא היו בזמן פנוי, גיל או מין. זה לא היה עניין של יכולת! זה היה על עקביות. לכל התלמידים המצליחים היה לוח זמנים קבוע והם עמדו בו. הם התקדמו, גם אם לפעמים זה היה איטי. אז כדאי שיהיה לך לוח זמנים (תוכל לקחת אותו מהקורס הראשי או מההדרכה שלך) ולהגדיר זמן ללמידה. אתה רוצה להפוך את תכנות Java למקצוע שלך? אם כן, היה מוכן ללמוד מדי יום במשך 1-3 שעות. עד אינסוף ומעבר לכך: כמה זמן לוקח ללמוד ג'אווה?  - 7לפי סקר CodeGym, ל-52.3% מהתלמידים המצליחים שלנו היו 1 עד 3 שעות של תרגול יומי.

יחס טוב לתיאוריה ולפרקטיקה

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

יחס טוב למשימות קלות וקשות

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

להיות מסוגל לשאול שאלות

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

אז כמה זמן אני צריך ללמוד ג'אווה כדי לקבל את העבודה הראשונה שלי?

הגענו קרוב לנקודה שבה נוכל לענות על השאלה המרכזית של מאמר זה: כמה זמן לוקח ללמוד ג'אווה לפני שמתחילים לשלוח קורות חיים ולקבל את העבודה הראשונה שלך? אנו משתמשים בנתונים מהסקר ומראיונות התלמידים כדי ליצור את הגרפים הבאים, אשר לקחו בחשבון את הרמה הראשונית של המשיבים ואחת משלושת המשרות הנדרשות. עבור כל קבוצה קבענו את מרווחי הזמן עבורם הם למדו Core Java ואת הזמן שהם השקיעו בלימוד הטכנולוגיות הנלוות הדרושות כדי לקבל את העבודה הראשונה. תשומת הלב! הנה מידע לקריאת גרפים. "טירון" הוא אדם עם אפס ניסיון בתכנות, "אמצע" הוא אחד שלמד תכנות קצת בבית הספר או בקורסים. במקרה של Java ו-Android Developer, "פרו" פירושו אדם שיודע היטב שפת תכנות אחת או יותר. במקרה של QA Automation "Pro" פירושו זה שכבר עובד בבדיקות ידניות ורוצה להפוך לאוטומט בשפת Java. עבור כל הגרפים השתמשנו בסולם זמן עם מספר החודשים. המלבנים האדומים פירושם הזמן המושקע בלימוד Core Java, הכחולים מיועדים לטכנולוגיות נחוצות אחרות מלבד Core Java. עד אינסוף ומעבר לכך: כמה זמן לוקח ללמוד ג'אווה?  - 8עד אינסוף ומעבר לכך: כמה זמן לוקח ללמוד ג'אווה?  - 9עד אינסוף ומעבר לכך: כמה זמן לוקח ללמוד ג'אווה?  - 10חשוב להבין שהגרפים מציינים את הזמן הממוצע שהשקיעו משיבים מכל קבוצה ללימוד טכנולוגיות. למעשה, בכל קבוצה היו אלופים שהתמודדו עם הלמידה שלהם הרבה יותר מהר, והיו גם כאלה שדחו את הלימודים בכמה שנים. זמן הלמידה הכללי מציין את הרגע שבו המועמדים החלו לשלוח קורות חיים או סיימו את הפרויקט הראשון שלהם (כזה שהחל להרוויח כסף). לפי הסקר שלנו, בממוצע לוקח בין חודש לשלושה למצוא עבודה. חודשים אלו של חיפוש מתחילים בתום לימוד טכנולוגיות קשורות. היו אנשים ברי מזל שמצאו עבודה שבוע לאחר שליחת קורות החיים הראשונים שלהם, אבל היו גם כאלה שביקשו שנה בחיפושים. עד אינסוף ומעבר לכך: כמה זמן לוקח ללמוד ג'אווה?  - 11

מסקנות

כמה זמן ללמוד ג'אווה? על פי תוצאות המחקר, מהירות לימוד Java וטכנולוגיות נלוות תלויה בעיקר בקביעות וברמה הראשונית של התלמיד. בטח שאתה לא יכול לעשות כלום עם הרמה הראשונית שלך עכשיו, אבל לימוד קבוע הוא בהחלט אחריותך. איך ללמוד ג'אווה מהר? נסו לא לעצור עצירות ארוכות, או להתמהמה בזמן שאתם לומדים. זה חשוב ביותר, כי במהלך עצירות ארוכות, אתה לא רק עומד במקום, אלא מתגלגל לאחור לאט לאט. תרגול יומיומי, התמדה ומוטיבציה - אתה בהחלט תצטרך את כל אלה אם תחליט ללמוד Java וטכנולוגיות קשורות. אם אתם עוקבים אחר לוח זמנים קבוע, שומרים על האיזון הנכון בין תיאוריה ופרקטיקה, ומתרגלים מדי יום לפחות 1-3 שעות, אל תפחדו לשאול שאלות, בהחלט אפשרי ללמוד ג'אווה ברמה שתאפשר לכם למצוא העבודה הראשונה שלך תוך 6-12 חודשים. ... ולאחר מכן המשך את הלמידה שלך כמפתח/מקצועי QA אוטומציה עד אינסוף ומעבר! נ.ב: עכשיו מה איתך? כמה זמן אתה לומד Java בינתיים? האם התהליך הזה קשה? או שאולי כבר מצאת את העבודה הראשונה שלך הקשורה ל-Java? זה היה קשה? או שאולי רק התחלת לחפש אותו? שתף את החוויה שלך כאן!
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION