那麼學習Java需要多長時間呢?十年,十週,還是一天?也許你的一生?您可能會在某些在線論壇上找到這個問題的非常特殊的答案。讓我們從一開始就說清楚。在本文中“了解 Java”並不意味著您可以編寫“Hello world 程序”。它是關於足夠了解 Java 以找到您的第一份工作。標題中巴斯光年的座右銘並不是一個玩笑。您真的可以在餘生中繼續學習 Java 或任何其他語言。原因是語言在不斷發展,它的範圍在變化,而且……好消息,朋友們!沒有理由恐慌!Java 任務的學習絕對有可能在 3 到 12 個月內完成,但是,我們將在本文中討論許多細微差別。在這裡,我們也將嘗試回答“如何快速學習 Java”這個問題。
Yuliya Deinega,自學成才的軟件開發人員。Yulia 在 LinkedIn 擔任 REACH 學徒工程師,她還創建了YouTube 頻道,分享她在矽谷學習計算機編程和找工作的經歷
我們可以將開始學習Java的人分為三大類:
PS:那你呢?你現在學Java多久了?這個過程艱難嗎?或者您可能已經找到了第一份與 Java 相關的工作?很難嗎?或者也許你剛剛開始尋找它?在這里分享您的經驗!
我們如何尋找答案
“學習 Java 需要多長時間”這個問題有點棘手。我們將其拆分為更具體的子問題並在此處進行回答。更準確地說,我們使用了對 CodeGym 學生的採訪、開源和調查中的統計數據。該調查是關於 Java 學習過程和尋找第一份工作的。它是由當地的 CodeGym 單位之一進行的。調查參與者是 30 級及以上的 CodeGym 學生,他們找到了第一份與 Java 相關的工作或參加了 Java 實習。“了解 Java”是什麼意思?
對這個問題最準確但也非常籠統的答案是“能夠使用 Java 解決問題”。這樣的問題可能是“通過考試”或“找到工作”的目標。或者它可以是一項技術任務,可以是一個大任務,例如“為 Play Market 創建足夠好的我自己的項目”,也可以是一個小任務,例如“了解如何編寫滿足您需要的代碼”。 當然,你的問題會隨著時間而改變。獲得第一份工作後,您將需要成長為職位(例如,從 Java Junior Developer 到 Java Middle/Senior Developer)。第一個編碼任務之後是第二個。此外,當您這樣做時,會出現一些新的目標。讓我們回到我們的問題。您應該知道哪些主題才能在您的簡歷中寫下“我知道 Java”?Java 學生通常學習以下主題:- 核心Java 或
- 核心 Java + JUnit或
- 核心 Java + 數據庫或
- 核心 Java + 工具或
- 核心 Java + 庫或
- 核心 Java + Spring + SpringBoot + Hibernate或
- 核心 Java + Android SDK 或
- ......以及所有上述組合。
- 基本類型和對象
- 基本構造(特殊運算符、循環、分支)
- OOP 概念
- 包裝類
- 收藏品
- 多線程
- 輸入輸出流
- 異常處理
你的個人方式。學習 Java 是為了什麼?
在本文中,我們不考慮諸如“我學習 Java 只是為了好玩”或“我想在未來教 Java”之類的選項。在這裡,我們談論的是 Java 在 IT 中的專業用法。目前,大多數情況下教授 Java 是為了採用以下三種方式之一:- Java 開發人員,從實習生/初級開發人員到高級開發人員
- Android 開發人員,獨立開發者或在公司工作(初級到高級)
- QA 自動化(使用 Java)
開發人員
Java 開發人員的範圍非常廣泛,對 Java 知識的要求是為了獲得第一份工作,這可能會有很大差異。根據 CodeGym 調查,有些人在獲得第一份 Java Junior 工作時只了解 Java Core,僅此而已。公司準備在工作過程中對他們進行培訓。然而,這是一個非常罕見的事件。更多的時候這樣的人可以參加實習或者通過一些考試後成為Java實習生。通常 Java Junior 申請人應該了解的不僅僅是 Java Core 才能獲得第一份工作。這裡列出了 Java 開發人員應該了解的相關技術。- 核心Java
- 開發接口
- Java 8(拉姆達表達式)、Java 11
- 測試庫 (JUnit)
- 彈簧框架
- Spring Boot 和 Spring MVC
- 休眠
- JDBC
安卓開發者
Android 開發人員可以為公司工作或擁有自己的項目。他們應該肯定了解 Java Core 和其他一些技術。這裡我們有一個信息圖,展示了 Android 開發人員的一種方式。 好吧,列表中有很多要點,但其中沒有多少是直接關於 Java 的(只有測試工具,實際上是 Core Java)。通常開發人員都認為自己學習 Android 編程比企業開發更容易、更快。儘管如此,即使對於那些渴望成為 Java Junior 職位的人來說,創建 Android 項目來訓練您的編程技能也是有用的。質量保證自動化
一個好的 QA Automation 應該非常了解編程語言,這是這個行業最重要的技能之一。連接到Java- 核心 Java(尤其是 OOP、Collection、FileOperations)
- 測試庫 (JUnit)
- IntelliJ IDEA
- Selenium RC/WebDriver 框架
- 頁面對像模型
- HTML/CSS
- 數據庫
誰在問?潛在的Java學生畫像
“我認為這取決於你的背景和你可以花在學習上的時間。當我開始我的軟件開發之旅時,我每周至少要花 40 個小時學習。經過 6 個月的全日制學習,我有足夠的信心自己掌握任何新技術。為了找到您作為軟件工程師的第一份工作,您不僅需要學習 Java,還需要了解計算機科學、面向對象編程的基礎知識,並編寫一些可以展示您的工作的項目。我認為這可能需要九到十二個月的時間。我知道這聽起來工作量很大,但不要氣餒!如果您發現編碼的哪些方面給您帶來快樂並允許自己玩,那麼這段旅程會非常有趣。”- “菜鳥”。零經驗。好吧,這裡有一些對編程一無所知的人。
- “中間”。編程經驗很少或混亂的學生。那些人在學校、大學或課程中學習編程,但這並不是認真的學習。
- “優點”。了解其他編程語言(一種或多種)的軟件開發人員。
- 33.3% 絕對是新手
- 17.6% 的人至少知道一種編程語言
GO TO FULL VERSION