JavaRush /Java 博客 /Random-ZH /我如何成为一名程序员,或者“穿过荆棘到达星星” =)
provisota
第 33 级
Одесса

我如何成为一名程序员,或者“穿过荆棘到达星星” =)

已在 Random-ZH 群组中发布
我如何成为一名程序员,或者“穿过荆棘到达星星” =) 我如何成为一名程序员,或者“穿过荆棘到达星星” =) - 1你好 Javarashovets!) 我想与你分享我的故事,因为我对创造这个资源的优秀人们以及社区负有道德义务它诞生了。我想至少以某种方式感谢创作者,并为尚未实现他们所珍视的目标的 Javarashites 打气,并用很大一部分动力来增强他们)我多次想象过我会如何写这篇文章,我会用什么词来写使用,现在,它终于发生了,以及如何原则上,我期望所有单词都会消失在某个地方,所以请不要严格判断演示风格)总的来说,关于主要的事情,我一直在作为程序员已经两周了,这很大程度上要归功于 Javarash)但是一切都井井有条,我将首先告诉您一些关于您自己的信息。我今年 37 岁,已婚,有两个孩子,一个女孩 - 6 岁,一个男孩 - 3 岁。=) 在过去的 15 年里,我一直是一名工业登山者(高海拔登山者),正如你所知,这份工作与编程几乎没有关系。但是,总的来说,工作还不错,空气新鲜,让你保持“体型”,有很多空闲时间,你是自己的老板,而且原则上,对于钱来说,相当不错(当季),但是:
  • 它具有明显的季节性,即 一年中有3-4个月几乎没有工作。
  • 没有前景。在这个领域工作了 15 年,我意识到在接下来的 5 到 10 年内,任何事情都不太可能发生改变,至少不会变得更好。
  • 孩子们开始长大,钱显然不够了……
  • 开始无聊了)……15年还是很长的一段时间,在这期间任何工作大概都会开始无聊……
因此,大约两年前,或者更准确地说,2013 年 5 月的某个时候,在思考和权衡了所有利弊之后,我得出的结论是,是时候做出改变了……也就是说,是时候改变一些事情了。换工作……嗯,我花了很长时间思考哪一份工作是不需要换的,但那是一份没有上一份工作缺点的工作:
  • 常年工作。
  • 良好的增长前景。
  • 工资显着提高(如果不是立即,那么在不久的将来)
  • 一份我有兴趣的有趣的工作。
我对编程有着浓厚的兴趣,尽管在实践中,这仅表现在这样一个事实:即使在学校,我也用 BASIC 写了一点,甚至更少用汇编程序(在 ZX - Spectrum 上,又名 Sinclair 曾经是一台非常受崇拜的计算机,你可以说,我这一代人一定记得),而且我还可以轻松安装/重新安装Windows,柴火,好吧,一般来说,你可以说“高级用户”=)而且我的英语也一直很好,你甚至可以说这是我的爱好……发生在“高层”的缺点也有积极的一面,即我所有的空闲时间,我在春天,尤其是冬天(在淡季)有丰富的空闲时间),我可以有效地花在学习编程上。嗯,这意味着编程……具体是什么?编程是一个灵活的概念,我用谷歌搜索了当今哪些语言是最流行、最有前途、收入最高的...而我的选择落在了Java陛下=)自从我从头开始,我试图找到合适的知识来源,我的第一本关于 Java 的书是 Yakov Fain 写的《面向儿童、父母、祖父和祖母的 Java 编程》,这本书主要是因为它的标题吸引了我 =) 我不能说我是否向初学者推荐这本书,也许有是比较适合初学者的书,现在就“幼儿园”而言,我已经明白了,但当时我觉得读起来很有趣,而且很容易理解,而且那里给出的实际例子,我仔细研究过,给​​了我进一步进步所需的最低限度的实践技能。我读完了这本书,我需要继续前进,我决定寻找普通课程,全日制课程对我来说有点贵,而且我不确定它们是否值得,在这里,我记得当我正在写这本书,我想我在中心的某个地方我读了一篇关于 JAVARUSH 在线课程的文章,当时是免费的 =) 嗯,总的来说,事情进展顺利)……在阅读和完成这本书之后,我像种子一样折掉前10-12个级别,它甚至太简单了,但仍然很有趣,然后它变得更困难,甚至更有趣,但我试图连续解决所有任务,并且没有解决所有任务,不要进入下一个级别,然后在Javarash上他们引入了10级以上的学费...前两三个月我每月支付,但随后新年他们宣布促销,50%的折扣,而不是200美元你可以用100美元无限购买,我老实承认当时我确实有100美元,但它不能被称为多余......因为...... 我整个冬天都没有工作,我的妻子也没有工作,“每一分钱都很重要”,因为这个季节积累的钱需要延长到三四月,那时我才能重新开始工作……但我觉得这100美元可能是我一生中最成功、最赚钱的投资。我有一个兄弟,大约10年前他和他的家人搬到德国永久居留。我也有这个机会,但我没有利用它,因为...... 我爱我的城市敖德萨,我的朋友,我的生活方式,我还没有准备好放弃这一切,我也相信在这里我可以充分养活自己和家人,总的来说,我可能只是一个生活乐观主义者。虽然他在那里的财务状况一切都很好,但除非绝对必要,否则我尽量不向他寻求帮助,但我知道如果必须的话,他不会拒绝我,特别是因为 100 美元对他来说是一个荒谬的数字。我联系了他,他很高兴地将Zeppa 100美元转入PayPal,对此我当然非常感谢他。我平静地、深思熟虑地、不慌不忙地继续“啃咬科学的花岗岩”=)我以同样的“方式”严格地按顺序完成了各个级别,即,如果你按月付费,这种情况总是存在的。我读了讲座,虽然我的理解是新鲜的,但我解决了它的问题,并且直到前面的所有问题都解决了才继续下一讲,除了极少数例外。所以我到了 20 级,还有 3 – 5 个未解决的问题。如果您在解决问题时遇到问题,当然,论坛上的交流有很大帮助,同时,帮助其他论坛用户,您自己也提高了自己的技能!大约半年后,2013年底,我决定是时候碰碰运气,尝试一下面试了,我在网上google了一下简历例子,几个Javarash的朋友发给我的简历例子,我还写信给Zepp,他给了我几个提示,以及几个简历模板。我写了简历,并发送给塞普进行评估,他很喜欢。接下来,我在几个最受欢迎的求职网站上发布了我的简历,然后整理了敖德萨最大的IT公司的人力资源部门的电子邮件列表,这些公司有Java开发人员的职位空缺(不仅仅是初级人员),我得到了大约20家公司的名单。为了以防万一,我立即把一半放在一边,以防万一我到处搞砸,这样就有备用选项,一半我发出了简历,开始等待面试邀请 =) 我不会说他们直接用邀请轰炸我,但最终,在一个月内——一年半前,我参加了3——5次面试,有些或多或少成功,有些不太成功,竞争的申请人都在某个地方前面还有两到三项测试任务,我也以不同程度的成绩完成了,还有一项英语口语面试,我成功通过了,但在此之前。采访没有进行,因为... 另一位竞争者如何击败我。我也差一点就进入了Luxsoft所谓的“标杆”,通过了测试、面试,但在最后一刻,当我读到合同时,我改变了主意,拒绝了,在我看来,他们的条件提供的东西太糟糕了。简而言之,他们教你三个月,给你300美元的津贴,培训结束后,如果他们喜欢你,他们会给你一份初级工作,500美元,9个月后,他们可能会提高你的工资,但最重要的是,正如协议中明确的那样,是说,从签署的那一刻起,如果你没有参加课程,或者在课程结束后一两年内你想更换工作地点,那么你将有义务向他们支付你的培训补偿金。金额为 2,500 美元。我觉得这样的条件无法接受,就拒绝了。我还拒绝了另一个空缺,因为...... 在我看来,我从事那份工作是没有前景的。但最重要的是,我在面试中获得了非常宝贵的经验,每次面试后我都更好地了解下一次等待我的是什么,他们会问我什么样的问题,以及他们期望的答案来自我......好吧,并不是说他们在所有面试中都问我同样的问题,但几乎总是会问很多问题,每次面试后我都会给自己列一个小问题清单,我在其中“游泳”,然后发现给他们明确的答案。总的来说,无论结果如何,去面试确实非常有用......大约在同一时间(2013年秋冬季),戴安娜在私人信息中写信给我,问我是否愿意参加“真实项目” ”,我说一般来说 - 那么我不介意......一个月后的某个地方,休伯特写了一份更具体的提案,要求参与两三周前已经开始的项目。他们向我提供它可能只是因为当时我在解决问题方面处于领先地位。说实话,在 Hubert 向我列出其中使用的技术(Spring、Hibernate、GWT、MySQL、Maven、Git)后,它变得有点奇怪,因为…… 大多数情况下,我只是第一次听到这些话,也许我曾在某个地方用耳朵的“边缘”听到过一些东西,但只是用我的耳朵边缘......好吧,我以为我什么都没有反正要失去时间,有参与,无论如何这都会是一次有益的经验,我同意了。我承认,一开始确实很难,但是一周后——一个半周——两周后,我在网上阅读了书籍和文章,有点习惯了,并深入研究了现有代码的工作我可以自己写一些东西并做出我的第一次承诺。我很幸运能和参与这个项目的人在一起,我想我们总共有四个人:Timur、Zhenya、Seryoga 和我。我们监督我们的项目,Timur 主要负责后端,Zhenya 负责前端,Seryozha 负责数据库,我在前端做了一点,在后端做了一点,但可能主要在前端-结尾。两三个月后,我们成为第一个成功完成真正的“真实项目”的团队,所有 Javarash 居民现在都使用该项目 - 这就是“评级”项目 =) 好吧,说“真实项目”给了我一个很多都是无话可说!)除了明显的好处(大量新的有价值的知识)之外,更重要的是要理解即使对于“Java程序员”来说,只了解Java也远不是唯一必要的技能,尽管这是根本性的。Java 就像编程的 ABC,但除了字母之外,你还需要知道拼写、语法、句法的规则,正确构造句子的能力,有丰富的词汇量,嗯,总的来说,我认为类比是清楚的。同样在编程中,您需要使用许多框架、模式和开发工具的知识和能力,以及寻找新出现问题的解决方案和问题答案的能力。在真正的项目之后,我对更先进的技术产生了兴趣,并加深了对那些我已经知道的技术的理解……我的兴趣超出了纯粹的Java Core。而我的简历中,“工作经历”一栏出现了一个新的、扎实的项目,描述了项目中使用到的又酷又时尚的技术 =) 但项目完成了,我悄悄开始了新的“工作”高层建筑中的“季节”......空闲时间少了很多,换职业的问题也逐渐淡出了背景,但我仍然将几乎所有的空闲时间(下班后的晚上和周末)都投入到了编程上,为自己编写各种“迷你项目”,有时用 Javarash 解决问题,监控职位空缺,秋末我还报名参加了 DataArt IT 办公室的免费课程。好吧,这些课程本身都是废话,大多是复习课程,所以他们都是走走过场,我在那里几乎没有学到任何有用的东西,但在这些课程的框架内,学生被要求分成小组并写一个“项目” =) 该项目包括编写一个在线测试系统,包括用户注册、用户部分(填写问卷)和管理区域(创建问卷和管理帐户)。我最终加入了四个这样的团队之一,后来证明这个项目实际上是我自己编写的。=) 在大约一个月的时间里(同时在高层工作时),我自己编写了一个相当过得去的 Web 应用程序,在我看来,它基于我们在 Real 项目中使用的几乎相同的技术和模式与 Javarash 中的人一起,还有更多的 jsp、Spring Security 和其他东西 =) 如果有人非常感兴趣,我可以提供一个包含该项目源代码的开放存储库的链接...另外,在 12 月的某个地方,我被邀请去一个办公室面试,后来发现是在基辅。采访是通过 Skype 进行的。之后,我们对一家大公司的一位经理进行了采访,他是基辅 IT 办公室的敖德萨客户。他们告诉我,当他们做出决定时,他们会打电话……嗯,像往常一样,我当时想,如果他们不立即雇用我,那么希望就很小了……但是,大约一个月后,之后新年的时候,我写信给这位人力资源经理,询问我的候选资格,奇怪的是,她回答说,该职位空缺仍在开放中,尚未做出决定……好吧,这意味着仍然有希望。现在,差不多又过了一个月,在一月底的某个时候,她打电话给我,问我“我还在找工作吗?”我“毫不留情地”回答说:“是的,我还在找工作。”然后她告诉我我就是她,我已经找到了,因为... 我适合他们!)))这种感觉肯定是难以形容的,当你在电话里被告知这一点时,你的翅膀就会长大=)要理解这一点,你只需要亲自体验一下,这就是我在不久的将来对你的希望)好吧,然后一位来自基辅的经理来到这里,我们见面了和他在一起,互相了解,我对我必须从事的项目有了更多的了解。简而言之,这家基辅公司正在为其位于敖德萨的企业客户开发一个大型 ERP 应用程序,并且已经开发了很长时间,据我了解,总共已经 3 - 4 年了 =) 它已经由很多,但是其中仍然存在无数的bug。此外,该应用程序有很多具体的细微差别,需要不断地与客户进行沟通,不断地从基辅派人来这里是非常痔疮的,而且连续几天坐在电话上也不是一个选择,他们决定在敖德萨当地需要一个人。现在我必须完成这个申请。该应用程序是用 GWT + ExtGWT + Spring + Hibernate + MySQL 编写的,以及一堆支持的次要库。恰巧这正是我开发的技术栈,也有或多或少还过得去的经验。缺点是该项目很旧,它使用旧版本的库和过时的设计方法,而且它们太过时了,几乎不需要更新……或重写一半的代码……事实证明,我会自己完成它=)这当然是我指望的工作有点尴尬,我认为像任何初级人员一样,会为我分配一个更有经验的团队领导,他会以某种方式指导我,审查我的代码,遇到困难时我可以向谁咨询 =) 但命运却另有安排……我被委托从事一项为经验丰富的独立开发人员设计的工作,这既有优点也有缺点。好吧,既然我想到了这一点,那最好立即要求加薪=)并将原来的数字提高200美元。这并没有引起他们的任何愤慨。好吧,我不会给出具体数字,但我会说薪水大大超出了我的预期。而且,试用期只有一个月(不是三个月,到处都是)。现在已经过去了两周,乍一看,这么大的项目当然很可怕,但现在我知道第一印象常常是骗人的,一开始总是很难,但正如他们所说,“这是不是烧锅的神”和“水磨石。”“=)所以,一点一点地,我开始深入研究代码,现在我知道一切都会成功......确实,他们没有要我将其形式化,他们说我将形式化 SPD,但据我所知,这是程序员的常见做法。我还想说明的是,程序员的工作也依然不是一种手段,它首先也是一份早起晚归的工作,但是这份工作的时间是非常长的。由于上面已经列出的一些原因,以及兴趣、金钱和前景,她比许多其他人都更好,她拥有一切。而且特别好看 当你知道你自己能够通过你的思想、你的工作、你的毅力实现这一目标时,你就能够为自己设定一个严肃的目标并实现它。我能够改变我的生活,所以在很多方面你都是自己命运的主人。我现在唯一害怕的是我的懒惰,取得这个成绩后我会变得懒惰并停止专业成长,但我真的希望这种情况不会发生 =) 总之,我会继续这个传统,简要列出过去和现在对我来说在培训和现在工作中至关重要的技术)这是非常理想的,甚至可能是必需的,数据库知识,SQL(MySQL),jdbc,Hibernate,Jpa,网络技术html,jsp,servlet 、xml、Tomcat、基本 JavaSE 模式的知识是必须称为 GOF 模式的知识),至少对 Spring、SpringMVC 有一个肤浅的了解,最好还有 Maven 项目构建器、log4j 日志记录、JUnit 单元测试,这也将是一个巨大的优势,使用版本控制系统,例如 Git,有时他们还会要求或给测试人员提供有关 Web 服务(SOAP、REST)的任务......但除此之外,Java 核心知识即使不是无可挑剔,也应该是,那么至少很有信心。尽管如此,所有这些技术的知识(即使大多是肤浅的)并不能保证在面试时你不会被问到你几乎第一次听说的问题),但在这里也一样,取决于你的运气......也许只是 Java 核心正在被推动,仅此而已)我要再次感谢这个精彩资源的创建者,特别是 Sepp、Hubert 和 Diana!我祝愿你们,贾瓦拉绍夫主义者,在你们所选择的道路上坚持不懈,保持耐心,正如祖父列宁所说:“同志们,你们沿着村庄的道路前进!” =) 不要放纵自己的懒惰,最重要的是“永不放弃”,走的人才能掌握道路!抱歉字太多)那么至少很有信心。尽管如此,所有这些技术的知识(即使大多是肤浅的)并不能保证在面试时你不会被问到你几乎第一次听说的问题),但在这里也一样,取决于你的运气......也许只是 Java 核心正在被推动,仅此而已)我要再次感谢这个精彩资源的创建者,特别是 Sepp、Hubert 和 Diana!我祝愿你们,贾瓦拉绍夫主义者,在你们所选择的道路上坚持不懈,保持耐心,正如祖父列宁所说:“同志们,你们沿着村庄的道路前进!” =) 不要放纵自己的懒惰,最重要的是“永不放弃”,走的人才能掌握道路!抱歉字太多)那么至少很有信心。尽管如此,所有这些技术的知识(即使大多是肤浅的)并不能保证在面试时你不会被问到你几乎第一次听说的问题),但在这里也一样,取决于你的运气......也许只是 Java 核心正在被推动,仅此而已)我要再次感谢这个精彩资源的创建者,特别是 Sepp、Hubert 和 Diana!我祝愿你们,贾瓦拉绍夫主义者,在你们所选择的道路上坚持不懈,保持耐心,正如祖父列宁所说:“同志们,你们沿着村庄的道路前进!” =) 不要放纵自己的懒惰,最重要的是“永不放弃”,走的人才能掌握道路!抱歉字太多) 延续
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION