JavaRush /Java 博客 /Random-ZH /Java 开发者之路
trinit
第 41 级

Java 开发者之路

已在 Random-ZH 群组中发布
好吧,轮到我写我的故事了。简而言之,我成为初级 Java 开发人员已经 3.5 个月了。如果您想了解详细信息,请继续阅读。就像每个写就业经历的人一样,最好从我是谁以及我成为谁的背景故事开始。很久以前,很多很多年前,我尝试开始编程。那是二三年级的时候,我报名了一个编程俱乐部,去了好几次,学会了在键盘上输入我的名字和家庭地址,我的编程就这样结束了,因为出于某种原因我退出了那个俱乐部。我在学校或大学没有任何编程技能,就像我正在学习成为一名会计师一样。我曾多次尝试自学编程。我家里有一本计算机科学的书,里面有Pascal的问题,但我什么都不懂,也没有人解释,所以我放弃了。几年过去了,我学习成为一名会计师,但没有工作。大约两年前,我终于在一家 1C 加盟商找到了工作。我去了那里的用户技术支持热线,因为...... 我懂会计,1C的主要方向还是这个行业。过了一段时间,导演说我有必要学习编程,因为…… 没有人可以写信,而且这些知识不会对技术支持造成损害。无处可去,这是我的第一步。两个月我读了一本关于1C平台的书,然后他们向我解释了什么是变量,然后就像一头雾水:)开玩笑。除了变量之外我什么都不懂,只能看基于Python的初学者课程。已经在工作和具体任务的过程中,我开始了解循环、数组和逐步调试的机制。真正的突破是当我弄清楚如何将参数传递给其他函数时。有一天,我坐在谷歌上搜索什么可以帮助我学习 1C,在一个论坛上我发现学习 VB.NET 语言可以帮助我实现这一点。这是另一个突破。我下载了《Lukin S.N.理解Visual Basic.NET.自学手册3卷》一书并开始学习。这本书非常好,特别适合初学者。对于初学者来说这门语言也很好,尽管很多人说它不好(显然他们还记得旧的VB)。一方面,它允许您在不被用户界面分心的情况下削减逻辑,另一方面,它同时是过程性的和面向对象的。另外,事实证明VB.NET确实和1C非常相似,或者更确切地说,1C和它很相似,我很容易整天用1C编程,解决工作问题,晚上来了,迅速切换到1C另一种语言。我把所有的空闲时间和周末都用来编程。大约在那个时候,我已经开始厌倦了 1C,并意识到我无法通过 1C 赚钱(我的收入比我的会计师客户少一倍半,我为他们编写了程序并为他们提供了培训)。我开始思考,下一步该做什么?我想到了 Android,它看起来很有趣、很有前途等等。一位程序员朋友说他们是用Java写的,网上也证实了这一点。有朋友说,不如先学C++再学Java。我已经想开始了,但是这本书还有一半以上是关于VB.NET的,我不想退出。这本书本来可以在一个月内读完,但我意识到光靠阅读而不练习不会有任何帮助,所以我决定写一些小但我自己的项目。为此选择了记事本。我写了一个记事本,可以打开和保存文件,确定打开文件时的编码,并为 1C 语法着色。然后我写了一个计算器(没想到这么复杂的东西)。然后,按照我的标准,还有另一个大项目——一个解决 1C 测试的程序。重点是,它需要一个包含问题和答案的文本文件,将其全部放入 Excel 文件中(是​​的,当时我不知道如何使用数据库),然后您可以解决该部分和随机票证, ETC。还有一些其他小程序可以理解流程、访问修饰符和其他东西。我已经完成了 VB.NET 这本书的时间了。我有足够的基础,大约与大学二年级甚至三年级之后的水平相同。在工作中,我也已经能够很好地编写并理解代码丛林。只是工作最终变得无聊了,因为在1C上写你不需要懂编程,但更大程度上你只需要了解平台的机制即可。正如我的朋友所建议的,现在轮到 C++ 了。我打开了C++书,又打开了第二本。他们到处写到,在学习 C++ 之前,你需要了解 C。我找到一本关于 C 的书,翻阅了它,心想“操你!”,我想在 Android 上编写,我需要 JAVA。似乎最终并没有放弃 C,我决定纯粹为了未来,看看 Java 初学者的课程。猜猜我在哪里绊倒了?是的,致我们挚爱的 JavaRush。那是 2015 年新年。当我按下绿色的“游戏”大按钮时,我不知所措。前 10 个级别很简单。然后就是收费,美元空前高涨,你必须等待折扣。与此同时,我遇到了中等难度的Python免费课程;开动脑筋总不是坏主意,我又花了几个月的时间完成了这些课程。有一天我有机会去一家公司面试,他们需要一个会用Java编写的人。我一晚上都没睡好,一直以为他们可能会问我,早上我又重复了一遍接口和抽象类的区别,访问修饰符,多态性。但他们什么也没问我,只是写了一份需要学习的技术清单,然后他们答应给我一个测试任务,根据这个任务他们会看我的编码风格、逻辑,然后做出一个关于我的就业的决定。这个空缺不是针对Android的,而是针对服务器端的,也许这样是最好的。第二天我就退出了1C,因为这个领域对我来说已经很累了,每天挣钱、铲大量的1C代码,然后学习Java技术已经超出了我的能力范围。我迫不及待地开始学习给我的Java技术,这一项 那时我不知道如何使用数据库)然后你可以决定分区和随机票等。还有一些其他小程序可以理解流程、访问修饰符和其他东西。我已经完成了 VB.NET 这本书的时间了。我有足够的基础,大约与大学二年级甚至三年级之后的水平相同。在工作中,我也已经能够很好地编写并理解代码丛林。只是工作最终变得无聊了,因为在1C上写你不需要懂编程,但更大程度上你只需要了解平台的机制即可。正如我的朋友所建议的,现在轮到 C++ 了。我打开了C++书,又打开了第二本。他们到处写到,在学习 C++ 之前,你需要了解 C。我找到一本关于 C 的书,翻阅了它,心想“操你!”,我想在 Android 上编写,我需要 JAVA。似乎最终并没有放弃 C,我决定纯粹为了未来,看看 Java 初学者的课程。猜猜我在哪里绊倒了?是的,致我们挚爱的 JavaRush。那是 2015 年新年。当我按下绿色的“游戏”大按钮时,我不知所措。前 10 个级别很简单。然后就是收费,美元空前高涨,你必须等待折扣。与此同时,我遇到了中等难度的Python免费课程;开动脑筋总不是坏主意,我又花了几个月的时间完成了这些课程。有一天我有机会去一家公司面试,他们需要一个会用Java编写的人。我一晚上都没睡好,一直以为他们可能会问我,早上我又重复了一遍接口和抽象类的区别,访问修饰符,多态性。但他们什么也没问我,只是写了一份需要学习的技术清单,然后他们答应给我一个测试任务,根据这个任务他们会看我的编码风格、逻辑,然后做出一个关于我的就业的决定。这个空缺不是针对Android的,而是针对服务器端的,也许这样是最好的。第二天我就退出了1C,因为这个领域对我来说已经很累了,每天挣钱、铲大量的1C代码,然后学习Java技术已经超出了我的能力范围。我迫不及待地开始学习给我的Java技术,这一项 那时我不知道如何使用数据库)然后你可以决定分区和随机票等。还有一些其他小程序可以理解流程、访问修饰符和其他东西。我已经完成了 VB.NET 这本书的时间了。我有足够的基础,大约与大学二年级甚至三年级之后的水平相同。在工作中,我也已经能够很好地编写并理解代码丛林。只是工作最终变得无聊了,因为在1C上写你不需要懂编程,但更大程度上你只需要了解平台的机制即可。正如我的朋友所建议的,现在轮到 C++ 了。我打开了C++书,又打开了第二本。他们到处写到,在学习 C++ 之前,你需要了解 C。我找到一本关于 C 的书,翻阅了它,心想“操你!”,我想在 Android 上编写,我需要 JAVA。似乎最终并没有放弃 C,我决定纯粹为了未来,看看 Java 初学者的课程。猜猜我在哪里绊倒了?是的,致我们挚爱的 JavaRush。那是 2015 年新年。当我按下绿色的“游戏”大按钮时,我不知所措。前 10 个级别很简单。然后就是收费,美元空前高涨,你必须等待折扣。与此同时,我遇到了中等难度的Python免费课程;开动脑筋总不是坏主意,我又花了几个月的时间完成了这些课程。有一天我有机会去一家公司面试,他们需要一个会用Java编写的人。我一晚上都没睡好,一直以为他们可能会问我,早上我又重复了一遍接口和抽象类的区别,访问修饰符,多态性。但他们什么也没问我,只是写了一份需要学习的技术清单,然后他们答应给我一个测试任务,根据这个任务他们会看我的编码风格、逻辑,然后做出一个关于我的就业的决定。这个空缺不是针对Android的,而是针对服务器端的,也许这样是最好的。第二天我就退出了1C,因为这个领域对我来说已经很累了,每天挣钱、铲大量的1C代码,然后学习Java技术已经超出了我的能力范围。我迫不及待地开始学习给我的Java技术,这一项 似乎最终并没有放弃 C,我决定纯粹为了未来,看看 Java 初学者的课程。猜猜我在哪里绊倒了?是的,致我们挚爱的 JavaRush。那是 2015 年新年。当我按下绿色的“游戏”大按钮时,我不知所措。前 10 个级别很简单。然后就是收费,美元空前高涨,你必须等待折扣。与此同时,我遇到了中等难度的Python免费课程;开动脑筋总不是坏主意,我又花了几个月的时间完成了这些课程。有一天我有机会去一家公司面试,他们需要一个会用Java编写的人。我一晚上都没睡好,一直以为他们可能会问我,早上我又重复了一遍接口和抽象类的区别,访问修饰符,多态性。但他们什么也没问我,只是写了一份需要学习的技术清单,然后他们答应给我一个测试任务,根据这个任务他们会看我的编码风格、逻辑,然后做出一个关于我的就业的决定。这个空缺不是针对Android的,而是针对服务器端的,也许这样是最好的。第二天我就退出了1C,因为这个领域对我来说已经很累了,每天挣钱、铲大量的1C代码,然后学习Java技术已经超出了我的能力范围。我迫不及待地开始学习给我的Java技术,这一项 似乎最终并没有放弃 C,我决定纯粹为了未来,看看 Java 初学者的课程。猜猜我在哪里绊倒了?是的,致我们挚爱的 JavaRush。那是 2015 年新年。当我按下绿色的“游戏”大按钮时,我不知所措。前 10 个级别很简单。然后就是收费,美元空前高涨,你必须等待折扣。与此同时,我遇到了中等难度的Python免费课程;开动脑筋总不是坏主意,我又花了几个月的时间完成了这些课程。有一天我有机会去一家公司面试,他们需要一个会用Java编写的人。我一晚上都没睡好,一直以为他们可能会问我,早上我又重复了一遍接口和抽象类的区别,访问修饰符,多态性。但他们什么也没问我,只是写了一份需要学习的技术清单,然后他们答应给我一个测试任务,根据这个任务他们会看我的编码风格、逻辑,然后做出一个关于我的就业的决定。这个空缺不是针对Android的,而是针对服务器端的,也许这样是最好的。第二天我就退出了1C,因为这个领域对我来说已经很累了,每天挣钱、铲大量的1C代码,然后学习Java技术已经超出了我的能力范围。我迫不及待地开始学习给我的Java技术,这一项清单: 1.面向对象编程。2. 梅文。3.阿帕奇瓷砖。4.SpringMVC。5. 休眠。6. Eclipse(我建议不要使用干净的环境,而是使用 Spring 的 STS - https://spring.io/tools/sts/)。7. Tomcat 8. 8. JUnit。 我将添加一些非常需要了解的技术: 9. Bootstrap - 使用它,您可以非常快速地创建网站界面,而无需发明您知道的东西... 10. JQuery - 以免编写大量本机 JS code + 有各种有用的东西,例如 autocomplete() 等。11. Linux/Ubuntu - 在大多数情况下,这将在工作时安装。您至少需要能够安装 JDK 和 Tomcat。12. GIT/其他版本控制系统是必须具备的。13.JSON。 以及项目中可能要用到的技术: 14. AngularJS - JS框架,一个很酷的东西。15.MongoDB。16.RabbitMQ。 以及你不能没有的: 17. 英语!有必要在学习质量和花费的时间之间保持平衡。空缺不可能永远等待我,这就是我前进的动力。每天我花大约14-16个小时来学习。我花了三个星期才熟悉这些技术。我刚刚阅读了一些有关某些技术的文章,并观看了有关其他技术的视频。我在实践中认识了像 Spring 和 Hibernate 这样的人 - 我观看了印度人的视频并重复了他们的做法。我编写了几个 JUnit 测试,并在我的计算机上安装了 tomcat。Maven 在 pom.xml 中包含依赖项。关于Eclipse,我认为它只是一个工具,我可以随时从IDEA切换到它(我是多么错误)。虽然我对自己的知识没有信心,但还是到了考试的时候了。我接受了,结果发现并不是很难,因为过去3个星期我在学习技术的过程中几乎都遇到过这些。有必要编写一个 Web 应用程序 - 一个任务管理器(站点),您可以在其中创建任务、更改任务、删除任务、为其指定状态和创建日期。并为其开发一个注册/登录模块。所有这一切都可以在不使用 JS、漂亮的 UI、简单的 HTML 和 CSS 的情况下完成。与此同时,JavaRush出现了折扣,我订阅了,但没有时间上课。做测试任务非常有趣。花了一周时间完成主要功能,然后又花了一周时间修复小错误,重构,从 org.hibernate.SessionFactory 重写为 javax.persistence.EntityManager,将数据库从 MySQL 更改为 H2 或 HSQLDB,编写 JUnit 测试。当我重做这一切时,我遇到了一千个错误,一路上我学会了阅读我现在喜爱的英文版 stackoverflow,并至少理解了一些东西,尽管是来自谷歌翻译。我在 Eclipse 方面也遇到了困难,因为它在我面试时得到的技术清单中。我只想说 IDEA 和 Eclipse 之间的区别是巨大的。想象一下,你正在乘坐飞机,所以,IDEA 是一架有飞行员的飞机,你睡在头等舱座位上,慢慢飞向目的地,而 Eclipse - 你也在乘坐飞机,但作为飞行员,外面有雷雨,闪电每 20 分钟就会击中您的发动机。说真的,IDEA 为你做了很多事情,而你甚至不知道它;在 Eclipse 中,所有这些都需要设置、配置和注册。在“我的 Eclipse”的最初几天,我吐口水、咒骂并表现出自杀倾向,在使用这个 IDE 5 个月后,我可以说它很酷、强大且可用,你只需要习惯它即可。最后,一切顺利,还有另一次面试,询问有关应用程序功能实现的问题,我通过了。然后又采访了导演。然后一些决定我命运的人去度假了,然后是五一假期,然后他们给我带来了电脑和其他东西。于是又2个月过去了。在这两个月里,我成功完成了JavaRush的13-22级,观看了Batyrshynov关于Spring和Spring MVC的两门课程,顺便说一句,不错的课程,但仅适用于初学者,因为基本上所有示例都处于“Hello world”级别。我开始工作了。他们立即给了我一个项目 - 一个用于 iOS 玩具的 REST API,通过 JSON 进行通信。这很有趣,但也很困难。刚开始深入研究我从未见过的东西——Ubuntu 和 GIT 是特别困难的。Ubuntu 可以毫无问题地掌握,但 GIT 是一个有趣、强大、复杂的东西,尤其是在大型项目和非标准情况下。我永远不会忘记我的第一份薪水,结果是 1C 的 4 倍。刚入职后,为了独立研究技术,作为测试项目,我决定写一个玩具,像沙箱一样来实现一些想法。最近我完成了它。如果你愿意,你可以看到结果(但强烈建议从计算机和 Chrome 登录,因为我仍然是一个糟糕的布局设计师):http://triangles.cf 我已经工作了第 4 个月了现在。我以为一切困难都已经过去了,但事实恰恰相反。你前面的任务是学习英语,因为如果你不会英语,即使你被录用了,你也不会工作太久。阅读文档、与客户沟通、编写代码和注释——全部用英语。您还需要完成 JavaRush 课程,学习模式、算法和其他有用的东西。祝大家好运、发展顺利、意志坚强。对于那些工作的人和那些想找工作的人。你会成功的,你只需要努力去做,与自己和干扰作斗争。JAVA大家!)与自己以及例外情况作斗争。JAVA大家!)与自己以及例外情况作斗争。JAVA大家!)
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION