CodeGym /Java 博客 /随机的 /到无穷远:学习Java需要多长时间?
John Squirrels
第 41 级
San Francisco

到无穷远:学习Java需要多长时间?

已在 随机的 群组中发布
那么学习Java需要多长时间呢?十年,十周,还是一天?也许你的一生?您可能会在某些在线论坛上找到这个问题的非常特殊的答案。让我们从一开始就说清楚。在本文中“了解 Java”并不意味着您可以编写“Hello world 程序”。它是关于足够了解 Java 以找到您的第一份工作。标题中巴斯光年的座右铭并不是一个玩笑。您真的可以在余生中继续学习 Java 或任何其他语言。原因是语言在不断发展,它的范围在变化,而且……好消息,朋友们!没有理由恐慌!Java 任务的学习绝对有可能在 3 到 12 个月内完成,但是,我们将在本文中讨论许多细微差别。在这里,我们也将尝试回答“如何快速学习 Java”这个问题。

我们如何寻找答案

“学习 Java 需要多长时间”这个问题有点棘手。我们将其拆分为更具体的子问题并在此处进行回答。更准确地说,我们使用了对 CodeGym 学生的采访、开源和调查中的统计数据。该调查是关于 Java 学习过程和寻找第一份工作的。它是由当地的 CodeGym 单位之一进行的。调查参与者是 30 级及以上的 CodeGym 学生,他们找到了第一份与 Java 相关的工作或参加了 Java 实习。

“了解 Java”是什么意思?

对这个问题最准确但也非常笼统的答案是“能够使用 Java 解决问题”。这样的问题可能是“通过考试”或“找到工作”的目标。或者它可以是一项技术任务,可以是一个大任务,例如“为 Play Market 创建足够好的我自己的项目”,也可以是一个小任务,例如“了解如何编写满足您需要的代码”。 到无穷远:学习Java需要多长时间? - 2当然,你的问题会随着时间而改变。获得第一份工作后,您将需要成长为职位(例如,从 Java Junior Developer 到 Java Middle/Senior Developer)。第一个编码任务之后是第二个。此外,当您这样做时,会出现一些新的目标。让我们回到我们的问题。您应该知道哪些主题才能在您的简历中写下“我知道 Java”?Java 学生通常学习以下主题:
  • 核心Java
  • 核心 Java + JUnit
  • 核心 Java + 数据库
  • 核心 Java + 工具
  • 核心 Java + 库
  • 核心 Java + Spring + SpringBoot + Hibernate
  • 核心 Java + Android SDK
  • ......以及所有上述组合。
所有这些主题都有一个共同点。它是 Core Java,Java 语言的基础。所以,如果你不了解Core Java,你肯定根本不了解Java。因此,学习核心 Java 是每个未来 Java 软件开发人员的第一步。核心 Java 涵盖了该语言的基本概念:
  • 基本类型和对象
  • 基本构造(特殊运算符、循环、分支)
  • OOP 概念
  • 包装类
  • 收藏品
  • 多线程
  • 输入输出流
  • 异常处理
因此,Core Java 包含基本类型、对象、构造和原理以及最重要的库和框架。此外,Core Jav 还涵盖了网络、安全、数据库访问、图形用户界面 (GUI) 开发和 XML 解析的类。大多数“核心 Java”包都以“java.lang..”开头, 每个 Java 学生的第一个目标是学习核心 Java。 Java Core 之后要学什么?这取决于您学习 Java 的目的。

你的个人方式。学习 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
以下是基于 CodeGym 对当前 Java 初级职位空缺的调查和分析的扩展信息图。我们只注意到它描述的不是 Java 本身,而是现代 Java 开发人员应该知道的许多其他技术。 到无穷远:学习Java需要多长时间? - 3它的大小和分支可能会吓到未经训练的读者。请保持冷静,深呼吸!您将在工作中详细了解这些技术。通常,初学者软件开发人员只需要对这些技术中的大多数有一个大概的了解(极少数例外)。

安卓开发者

Android 开发人员可以为公司工作或拥有自己的项目。他们应该肯定了解 Java Core 和其他一些技术。这里我们有一个信息图,展示了 Android 开发人员的一种方式。 到无穷远:学习Java需要多长时间? - 4好吧,列表中有很多要点,但其中没有多少是直接关于 Java 的(只有测试工具,实际上是 Core Java)。通常开发人员都认为自己学习 Android 编程比企业开发更容易、更快。尽管如此,即使对于那些渴望成为 Java Junior 职位的人来说,创建 Android 项目来训练您的编程技能也是有用的。

质量保证自动化

一个好的 QA Automation 应该非常了解编程语言,这是这个行业最重要的技能之一。连接到Java
  • 核心 Java(尤其是 OOP、Collection、FileOperations)
  • 测试库 (JUnit)
  • IntelliJ IDEA
其他技术:
  • Selenium RC/WebDriver 框架
  • 页面对象模型
  • HTML/CSS
  • 数据库
通常初级 QA 自动化的途径比 Java 初级开发人员要短一些。您将在本文末尾找到准确的数字。

谁在问?潜在的Java学生画像

“我认为这取决于你的背景和你可以花在学习上的时间。当我开始我的软件开发之旅时,我每周至少要花 40 个小时学习。经过 6 个月的全日制学习,我有足够的信心自己掌握任何新技术。为了找到您作为软件工程师的第一份工作,您不仅需要学习 Java,还需要了解计算机科学、面向对象编程的基础知识,并编写一些可以展示您的工作的项目。我认为这可能需要九到十二个月的时间。我知道这听起来工作量很大,但不要气馁!如果您发现编码的哪些方面给您带来快乐并允许自己玩,那么这段旅程会非常有趣。” 到无穷远:学习Java需要多长时间? - 5
Yuliya Deinega,自学成才的软件开发人员。Yulia 在 LinkedIn 担任 REACH 学徒工程师,她还创建了YouTube 频道,分享她在硅谷学习计算机编程和找工作的经历
我们可以将开始学习Java的人分为三大类:
  1. “菜鸟”。零经验。好吧,这里有一些对编程一无所知的人。
  2. “中间”。编程经验很少或混乱的学生。那些人在学校、大学或课程中学习编程,但这并不是认真的学习。
  3. “优点”。了解其他编程语言(一种或多种)的软件开发人员。
根据调查,我们有 49% 的学生在开始认真学习 Java 之前在学校或课程中有过基础编程。
  • 33.3% 绝对是新手
  • 17.6% 的人至少知道一种编程语言
到无穷远:学习Java需要多长时间? - 6

什么对学习时间有积极影响?

为了不浪费时间,您需要从一开始就有效地学习。我们已经确定了有助于成功制定学习计划的要点。

选择正确的来源

您可以在 Internet 上找到很多关于 Java 的不同信息。很容易迷失其中。有时,如果您不理解某个主题,搜索新资源很有用,但在您开始之前,最好选择:1 个主要课程和 1-2 个辅助资源,例如 Java 书籍或教程。坚持他们。在这种情况下,您将节省时间,避免在 Internet 上漫无目的地游荡和寻找东西。

准备好不断地学习很多东西

Java 导师和软件开发人员 John Selawsky 在他的一篇文章中说,有时他的一些学生的编程非常好,但其中一些人只是停止了学习。他们的问题不在于空闲时间、年龄或性别。不是能力的问题!这是关于一致性。所有成功的学生都有一个一致的时间表,他们坚持下去。他们取得了进步,即使有时进展缓慢。所以你应该有一个时间表(你可以从你的主要课程或教程中获取)并设定学习时间。您想以 Java 编程为职业吗?如果是这样,请准备好每天学习 1-3 小时。 到无穷远:学习Java需要多长时间? - 7根据 CodeGym Poll,我们 52.3% 的成功学生每天有 1 到 3 小时的练习。

理论与实践的良好比例

如果不尝试游泳,就无法通过书本学习如何游泳。编程也是如此。不写代码就学不会编程。编程是一项实践活动。尽早开始编写代码很重要。您不需要一次学习太多理论,尤其是在学习的头几个月。最好是小部分研究一下,然后马上在实践中修正。所以,你20%的时间用于理论研究,80%用于实践。这是回到第一个问题“了解 Java 意味着什么”并阐明答案的正确位置。了解 Java 意味着能够用 Java 编写代码。不是“了解 Java”,但能够编写不同复杂度的程序,并且在此类编码方面有一些经验。

轻松和艰巨任务的良好比例

新手经常尝试解决一些困难的任务,一次又一次地尝试。如果他们这样做的时间太长,结果可能会令人难过。这是一条失去动力的道路。对于初学者来说,解决许多小而简单的任务比解决一些复杂的任务更有好处。头几个月学习的良好比例是 1 个困难任务对 10-20 个简单任务。还有一件事:如果这个任务对你来说太复杂,而你多次尝试解决它,勇敢地……推迟它,直到你知道更多。不如先解决几个更简单的问题,然后再回到不可逾越的要塞。或者.. 如果您仍然认为现在是解决问题的合适时机,请不要害怕提出问题。这是下一点。

能够提出问题

初学者常常犹豫是否应该在论坛和社区上提问,因为他们认为他们的问题可能很愚蠢。好吧,他们绝对可以!但没关系,没有理由担心!每个软件开发人员都站在你的立场上,需要一个愚蠢的菜鸟问题的答案。所以呢?编程社区在某种程度上是协作的。软件开发人员通常作为一个团队工作,他们都曾经是初学者。 每个学生甚至每个专业的软件开发人员都会时不时地问一些愚蠢的问题,这并没有什么罪过。 所以,如果出现问题,请到论坛提问!当然,它可能是 Javaranch 或 Stack Overflow 或 CodeGym Help。提出问题或寻找答案的最佳论坛:

那么我应该学习 Java 多长时间才能找到第一份工作?

我们已经接近可以回答本文主要问题的地步了:在开始发送简历和找到第一份工作之前,学习 Java 需要多长时间?我们使用调查和学生访谈中的数据创建以下图表,其中考虑了受访者的初始水平和三个所需职位之一。对于每个组,我们确定了他们学习 Core Java 的时间间隔以及他们花在学习获得第一份工作所需的相关技术上的时间。 注意力!这是阅读图表的信息。“菜鸟”是零编程经验的人,“中”是在学校或课程中学过一点编程的人。对于 Java 和 Android Developer,“Pro”是指精通一种或多种编程语言的人。在 QA Automation 的情况下,“Pro”是指已经从事手动测试并希望成为 Java 语言的自动化工程师的人。对于所有图表,我们使用了带有月数的时间尺度。红色矩形表示花费在学习 Core Java 上的时间,蓝色矩形表示除 Core Java 之外的其他所需技术。 到无穷远:学习Java需要多长时间? - 8到无穷远:学习Java需要多长时间? - 9到无穷远:学习Java需要多长时间? - 10重要的是要了解图表表示平均时间每个组的受访者花费在研究技术上。事实上,每个小组中都有学习速度更快的冠军,也有延迟学习数年的冠军。一般学习时间是指应聘者开始投递简历或完成第一个项目(开始赚钱)的时间。根据我们的调查,平均需要一个月到三个月才能找到工作。这几个月的寻找是从研究相关技术结束时开始的。有幸运的人在发送第一份简历一周后找到工作,但也有一些人花了一年时间寻找。 到无穷远:学习Java需要多长时间? - 11

结论

学习Java要多久?根据研究结果,学习Java及相关技术的速度主要取决于学生的规律性和初始水平。当然,您现在的初始水平无能为力,但是定期学习绝对是您的责任。如何快速学习Java?学习时尽量不要长时间停留或拖延。这非常重要,因为在长时间停留期间,您不仅要原地踏步,还要一点一点地向后滚动。日常练习、毅力和动力——如果您决定学习 Java 和相关技术,您肯定需要所有这些。如果你遵循既定的时间表,观察理论和实践的正确平衡,每天至少练习 1-3 小时,不要害怕提问,很有可能将 Java 学习到可以让您在 6-12 个月内找到第一份工作的水平。... 然后继续您作为开发人员/QA 自动化专业人员的学习,直到无限! PS:那你呢?你现在学Java多久了?这个过程艰难吗?或者您可能已经找到了第一份与 Java 相关的工作?很难吗?或者也许你刚刚开始寻找它?在这里分享您的经验!
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION