如何在1.5年内成为一名Java开发人员

我叫Sergey,今年40岁,现在在一家德国公司担任Java开发人员。 我们正在开发用于 啤酒厂 评估财务和信贷风险。 这是我作为开发人员的第一份工作。 在此之前,我从事IT支持和系统集成领域的工作。 我的六个月试用期于2019年2月1日结束,我手头有一份永久合同。 我想分享我的经验,以如何找到工作来独立学习Java。



这是我的桌面。 我们可以在工作时间内在德国喝啤酒。


我的第一篇文章:“ 与家人一起进行IT移民。 尤其是当您已经在德国一个小城市中求职时


我的第二篇文章:“ 在德国找到工作会更容易 。”


免责声明


我马上要说,各种各样的“学会在10天内出现”(21天,30天等)都是乌托邦。 没有红色药丸可以快速进入基质。 但是与主要工作地点并行进行一两年,这是很真实的。


在开始学习Java之前,我拥有的资产


起初,我想将文章命名为“如何在1.5年内从零开始成为Java开发人员”,但是改变了主意。 我不是从完全不同的领域而是从IT领域开始编程的。 但是我不是在开发方面工作,而是在支持方面。 卡车司机重复我的步骤成为一名程序员可能并不容易。 虽然,如果我的妻子在34岁时成功地将纯人文知识再培训为开发人员(或测试人员),那么我将写另一篇文章。


值得一说的是,当我决定成为一名开发人员时,我已经知道了。
在这所大学的两个学期中,我们学习了C和C ++编程。 没有什么特别的知识或深厚的知识。 投降-忘记了。 此外,作为一名学生,我为自己编写了一些简单的Delphi程序。 就是这样。 那是二十多年前了。


然后我的职业生涯看起来像这样:


  1. 系统管理员
  2. 系统工程师
  3. 副手 部门主管
  4. 主管
  5. 那些工程师。 支持

我没有直接编程。


我的方式


在线课程。


我首先在Coursera.org上从事以下专业工作


Java编程和软件工程基础知识-4个月

我参加了以下在线课程:



在完成了这一专业之后,我或多或少地精通该语言,但是编写程序本身仍然是不现实的。 我没有做的最后一个顶点项目。 对我来说很难。 老实说,我失去了热情。 我休息了


面向对象的Java编程:数据结构及以后– 5个月

一个月后,我决定再次上课。 我从五门课程转到了专业化课程:



我也没有掌握上一个顶点项目。 但是,掌握软件工程面试清单上倒数第二的课程帮助我为下一次面试做好了充分的准备。 而且我能够用纯HTML编写我的第一个简单网站的简洁解析器。 它已经不错,但并不令人印象深刻。


如何编码-3个月

下一步是edx.org上的这两门怪异课程:



我之所以写“怪异”,是因为它根本不是关于Java的。 课程作者使用特殊的编程语言入门学生语言(BSL)。 我在某处读到它们非常有用。 也许这两门课程帮助我更好地理解了编写程序的一些技巧,并且对在实际工作中编写单元测试很有帮助。 但老实说,您可以跳过它们。


数据结构和算法-2个月

然后,我再次回到Coursera.org,开始了新的专业化课程,该专业课程包括以下四个课程:



但是只掌握了前两个。 其余的甚至都没有报名。 在这些课程的同时,我开始阅读OCA书籍,稍后将进行讨论。


当场冲压

那一刻,我意识到自己正在游行。 通过新课程并没有像最初的课程那样产生大量的新知识。 即 似乎增加了知识,但这并不能使我更接近找到工作。 我不明白,有了这些知识,您通常可以找到工作。 我仍然无法编写比解析器还要复杂的任何内容。 好吧,那是什么?!?!? 我什至试图用二十一点和妓女来编写我的网站解析服务,但是经过一周的开发,我的项目变成了课堂上的一片混乱。 我自己也无法弄清楚我在那写的东西。 另外,我仍然不了解该语言功能的某些方面。 这是我已经在所有这些课程上花了大约一年的时间之后!!! 卡尔,您只需要考虑十二个在线课程和一整年的时间。 实际上,这是一次失败。 我确信,通过这些课程,我可以在一年内成为一名开发人员。 我错了 我需要一个计划B。


另类

我开始寻找可以帮助我获得实际工作中所需要的实践技能的课程。 但是没有什么明智的选择,或者值得拥有体面的金钱。 来自otus的相同课程六个月花费50,000,并且对它们的评论是矛盾的。 我没有为这些费用做准备。 我准备自己深入研究,并正在寻找如何免费或非常便宜地完成此操作。 结果,我遇到的所有在线课程都分为两类:


  • 第一个专为初学者或接受过零培训的人而设计。 在他们的帮助下,您将达到“三减”的水平。 是我! 这是关于我的!
  • 第二个是有工作经验的“好人”想要成为“优秀学生”。 像这样:“如何使用WildFly Swarm在Java中为高负载项目编写微服务”。 这是怎么回事?

他们之间有一个巨大的空白。 好吧,我在哪里,这些微服务在哪里? 事实证明,对于“ troksks”来说,什么都没有。 还是有,但是要钱。 通常还不清楚如何在没有注册和短信的情况下免费成为“好人”。


Oracle认证


然后,我决定成为一名认证的Java开发人员。 因为短语“我是一名专业的Java程序员”听起来很酷,应该当场击败未来的雇主! 无论如何,然后我这么天真地想。


OCA:Oracle认证的Java SE 8助理程序员-2个月

为此,我买了一本书:


OCA:Oracle认证高级Java SE 8程序员I学习指南:考试1Z0-808

我花了大约2个月的时间才能掌握这本书。 她真的使我在很多方面睁开了眼睛,使我理解了该语言的详细工作原理。 这是一个很好的进步。 但不是在求职中,而是在理解Java语言中。 我满怀信心地参加了考试,并且通过了考试。 我得分为84%,要求的得分为65%。 我为自己感到非常骄傲。


考试费用为245美元。 在俄罗斯,它的价格便宜一些。


估算Oracle为这次考试做准备的官方培训费用


OCP:Oracle认证专业Java SE 8程序员-4个月

我热衷于写同一位作者的第二本书:


OCP:Oracle认证专业Java SE 8程序员II学习指南:考试1Z0-809

对于第二本书的开发,我已经花了4个月的时间。 事实证明这确实很困难。 我一周休息两次,因为我真的很难理解lambda表达式或多线程。 同样,输入和输出类的丰富也使我丧命。 所有这些NIO和NIO2非常相似,您需要了解。 有一个基类,什么是派生类? 那真是一场噩梦。 结果,我将考试日期设置为一个月,然后将其移动到两个星期,然后再移动两个星期。 我时间不多了,面试迫在眉睫。 我需要这份证明。 我没有第三次参加考试,而是按原样参加了考试。 与第一次考试不同,我不再确定考试成绩。 我完全不确定我可以通过它。 没有过去的骄傲的痕迹。 第二本书中用于理解和记忆的信息量是第一本书中的五倍。 但是我也通过了这项考试。 幸运的是,书中的测试任务比考试中的难度更高。 但这对我来说是个突破。 在语言的工作原理和提供的工具方面的知识和理解方面的突破。


考试费用也是245美元。


我可以说,这两本书给我的知识比以前参加的所有在线课程还多。 但我不知道如果我以前没有参加过这些课程,是否可以通过这些考试。 在这些考试的帮助下,我升至“三加”级别。 那已经是什么了。 但是我也无法独立实施任何有趣的项目。 WTF ????


我意识到自己已经达到了最大的极限,进一步学习该语言毫无意义。 此外,我了解到,我如此难以获得的知识会在没有实践的情况下迅速消失。 这是不可能的,我开始准备面试并获得求职时可能需要的技能。


你需要什么工作?


需要经历面试和技术面试! 我不会写面试的准备。 这是另一篇文章的主题。 我只会写有关通过技术面试所需的知识。


准备面试-1个月

我买了以下书:


破解编码面试,第六版:189个编程问题和解决方案

我强烈推荐它。 她将帮助准备面试的技术部分。 我花了大约一个月的时间。 许多任务是难以理解的,所以我找到了另一本俄语版本,当我完全无法理解时,我调查了一下。


附加技能

此时,我已经在积极监控我所在城市的就业市场,并选择了我想工作的公司。 他们有一个Java Developer空缺。 职位空缺所需的技能包括对Oracle SQL,GWT,Eclipse,SVN,Maven和Jenkins的了解。 我不需要所有这些技术的深入知识,我需要对它是什么以及它如何工作的简单了解。 这样,在面试中您可以说,是的,我知道,但不深。


Oracle SQL-1周

我已经非常了解SQL,因为作为职责,我不得不为管理做出很多随意的报告。 但是它是Microsoft的T-SQL,在这里需要Oracle的SQL。 我不得不买一本书以记住要点并了解其中的区别。


OCA Oracle数据库SQL考试指南(考试1Z0-071)

我很快在一周内就完成了这本书。 我意识到我已经准备好通过另一门考试的比例达到了70%。 但是我已经不适应了。


SVN-1周

SVN分布式版本控制系统。 大多数软件开发公司都使用GIT或SVN。 我没有找到SVN课程,所以我决定参加有关GIT的短期课程:“ Version Control with Git ”,以跟上该主题的最新发展。 我什至以为如果他们询问SVN,我会说我正在处理GIT。 然后我将把自己定位在现场。 如果突然之间有些事情不清楚,那么您总是可以说GIT有点不同。 顺便说一句,那行得通。


GWT-3天

列表中的下一个技术是GWT。 花了几天时间搜索信息后,我意识到我无法弄清楚这个Google Framework。 如果简化了,则可以用Java编写复杂的站点,并且此框架将您的代码转换为HTML + JavaScript,并在浏览器中显示它,而没有任何附加组件或附加组件。 太酷了 我决定跳过。


日蚀-3天

Eclipse是一个开发环境,是我每天处理的主要开发人员工具。 我没有参加任何特殊课程。 我在youtube上观看了几段视频,我了解基本的技术。 我自己动手尝试了一切。


詹金斯Maven-15分钟。

这两件事根本没有时间了。 采访已经在早上,所以我只阅读了2篇Wikipedia文章就去睡觉。


总结


时间


我花了大约18个月,2周,6天和15分钟的时间才能获得开发人员职位所需的知识和技能。 我在晚上这样做,在工作日花费1-3个小时。 周末大约5-6个小时。


钱款


我已经准备好花时间了,还没有准备好花钱。 但是我仍然不得不花钱。


课程:


  • 免费参加的所有在线课程。 我在这里写的coursera.org上如何做到这一点

书籍:



考试:



额外费用:


  • 前往另一个城市参加考试 在我这里没有认证中心-120欧元。

总计:702€


不幸的是,它并不是完全免费的。 我买英文书,因为 考试也是用英语。


结果


这些知识足以通过面试并与一家足够酷的德国公司签订合同。 我什至会说,它们足够保证。


他们还足够经历六个月的试用期,并在开发人员中获得永久职位。


在作为开发人员的这6个月中,我关闭了200多个应用程序,用于开发,完成和纠正完全不同的子系统和模块的代码中的错误。 我也没有拒绝任何申请,“因为我不能。” 是的,我必须现在必须了解新事物,查找信息并深入研究细节。 我正在慢慢做某事,但对我来说很有趣,整个过程正在进行中。 他们为此付出了很多!


但是不要以为我很聪明。 我是最简单的人,他决定改变自己的生活。 我就像你 如果可以的话,也可以!


表达方式


实际上,要成为一名开发人员,我花了1.5年而不是两年。 但这是由于我自己的愚蠢( 在电报频道中了解到)。 直接在现实中,我花了1.5年。 但是没有必要重复我的错误。 我认为有可能在更短的时间内达到相同的结果。 我们把所有多余的东西扔掉,得到这样的东西:


第一部分-5个月


我们学习以下面向对象的Java编程专业课程游标上的数据结构和超越



同时,我们读了一本书:



根据结果​​,我们通过了考试。



第二部分-2个月


我们选修以下数据结构和算法专业课程:



同时,我们读了一本书:



第三部分-4个月


我们读了这本书:



根据结果​​,我们通过了考试。



第四部分-1个月


我们专门研究雇主希望从求职者那里得到的东西,并在四种最需要的技术,程序或框架(Git,Eclipse,Maven,Spring等)中的每一个上花费一个星期。 另外,我们研究雇主工作的主题领域,他的产品(如果有)等。


全年总计。 一年-这是真实的。


保持联系


关于我40岁时如何改变生活以及与妻子和三个孩子一起搬到德国,我在电报频道@LiveAndWorkInGermany中写道 。 我在写有关德国的现状,优点和缺点,以及未来的计划。 简短地谈生意。 加入我们-这将很有趣。

Source: https://habr.com/ru/post/zh-CN439432/


All Articles