卷宗
如果你已经35岁了,这不是不开始读书的理由!当然,当你在背后有多年在另一个行业的宝贵经验时,这并不那么容易,但也并非毫无希望。我们有一个很好的例子 - 来自敖德萨的伊利亚决定在这个年龄从工业登山者重新培训为工业程序员。他成功了。阅读 JavaRush 上最引人入胜、最彻底的成功故事之一!
- 人物:伊利亚·阿尔特罗维奇
- 职业:工业登山者
- 开始训练年龄:35岁
- 居住地:乌克兰敖德萨
- 第一份程序员工作:1年零8个月后(2015年2月)——37岁。
- 他目前做什么:还是一名程序员,换了一家公司 =)
- 本事
背景
我想分享我的故事,因为我对创造这个资源的优秀人们以及它所诞生的社区负有道义上的责任。我想以某种方式感谢创作者,我想鼓励那些尚未实现他们所珍视的目标的“Javarashites” ,并为他们提供良好的动力!底线:我作为程序员已经工作两周了,这很大程度上要归功于Java Rush。我今年37岁,已婚,有两个孩子,一个6岁,一个3岁。在过去的 15 年里,我一直担任工业登山者(高海拔登山者)。正如你所理解的,这项工作与编程的关系不大,或者根本没有关系。总的来说,工作还不错,空气新鲜,它迫使你保持“状态”,你有足够的空闲时间,你是你自己的老板。而且物有所值(当季)。但:
- 具有明显的季节性。也就是说,一年中有3-4个月几乎没有工作。
- 没有前景。在这个领域工作了 15 年,我意识到在接下来的5 到 10 年内,任何事情都不太可能发生改变(至少变得更好)。
- 孩子们开始长大,钱显然不够了……
- 就开始变得无聊了…… 15年是一段很长的时间,任何事情都会变得无聊。
- 一年四季都有工作;
- 良好的增长前景;
- 明显更高的薪水(如果不是立即,那么将来);
- 我有兴趣从事有趣的工作。
学习
我的第一本关于Java 的书是Yakov Fain写的《 Java 编程给孩子、父母和祖父母》。我不确定是否要向初学者推荐这本书;也许还有更好的书,但当时读起来很有趣,也很容易理解。我仔细研究了那里给出的实际例子,这为我提供了进一步进步所需的最低限度的实践技能。我读完这本书并决定寻找课程。面对面的课程很昂贵,而且我不确定它们是否值得。就在那一刻,我想起在写这本书时,我在某个地方(似乎是在 habrahabr 上)看到了有关 JavaRush 的文章。一切都开始发生……读完这本书后,我像种子一样破解了前10-12个级别,这太简单了。但仍然很有趣。然后它变得更加困难,甚至更加有趣。我严格按顺序完成了各个级别,即 我读了讲座,虽然我的理解是新鲜的,但我解决了它的问题,并且直到前面的所有问题都解决了才继续下一讲,除了极少数例外。所以我到了 20 级,还有 3-5 个未解决的问题。如果您在解决问题时遇到问题,当然,论坛上的交流有很大帮助,同时,通过帮助其他论坛用户,您自己也提高了自己的技能!大约六个月后,我决定是时候碰碰运气并尝试参加面试了。我在 google 上搜索了简历示例,朋友给我发了几个简历示例,我还写信给 Sepp(Java Rush的负责人,编者按),他给了我一些简历的提示和模板。我将其编译并发送给 Sepp 进行审阅;他对此表示赞赏。接下来,我在热门求职网站上发布了我的简历,整理了敖德萨最大的 IT 公司人力资源部门的地址列表,其中有 Java 开发人员的职位空缺(不仅仅是“初级”)。他们大约有20人。我立即留出一半以防万一我到处搞砸,然后把另一半的简历发出来。
第一次采访
我不会说我受到了邀请的轰炸,但最终,在一个半月的时间里,我参加了六次面试。结果有些或多或少取得了成功,有些则不然。有两到三项测试任务,我都以不同程度的成功完成了,还有一项英语口语面试。我成功通过了,但没有参加技术面试:另一位申请人在我之前。我也差一点就进入了Luxsoft所谓的“标杆”:我通过了测试和面试,但在最后一刻,当我读到合同时,我改变了主意并拒绝了。简而言之,他们教你三个月,并支付你300 美元的津贴。如果他们喜欢你,他们会给你一份初级工作(500美元)。9个月后他们可以给你加薪,但是从合同上看,如果你不参加课程或者课程结束后一两年内想换工作,你就有义务向他们支付培训补偿金额为2,500 美元。我觉得这样的条件无法接受,就拒绝了。我还拒绝了另一个空缺:在我看来,我在那里没有前景。但最主要的是我在面试中获得了非常宝贵的经验。每次面试之后,我都对下一次面试有更好的了解,大约会问我什么问题,以及期望得到什么答案……并不是所有面试都会问同样的问题,但几乎总是有人问很多问题。每次采访结束后,我都会给自己列一个小问题清单,在其中“游泳”,然后找到明确的答案。总的来说,不管结果如何,去面试确实有用......
实习
大约在同一时间(2013 年秋冬), Java Rush在私人消息中写信给我,并提出参与“ Real Project ”的邀请。说实话,在他们列出其中使用的技术(Spring、Hibernate、GWT、MySQL、Maven、Git)后,我有点害怕,因为大多数情况下我是突然听到这些词的,甚至是为了第一次 。我想我没有什么可失去的,我有时间参与,就同意了。起初确实很难,但在一两周后,阅读书籍和文章后,我深入研究了现有代码的工作,足以自己编写一些东西并进行第一次提交。我很幸运能和参与这个项目的人在一起。我们有四个人:帖木儿(Timur)、热尼亚(Groomsh)、谢尔盖(SergeyKandalintsev) 和我。我们直接从 JavaRush 监督我们的项目。Timur 大部分工作在后端,Zhenya工作在前端,Seryozha工作在数据库,我在前端工作了一点,在后端工作了一点。几个月后,我们成为第一个成功完成真正的“真实项目”的团队,现在所有 Javarashites 都在使用它 - 这就是“Ratings”项目(在新版本的 JavaRush 中不再使用该项目) 。说《The Real Project》给了我很多,其实是没什么意义的!除了有价值的知识明显增加之外,我还得到了一个更重要的认识:Java 远不是唯一必要的技能,尽管它是基础技能。Java是编程的基础知识,但除了基础知识你还需要了解拼写规则、语法、句法、正确造句、拥有丰富的词汇……并且在编程中你需要了解并能够使用很多框架,模式和开发工具,并且还知道从哪里寻找解决问题和回答您的问题。在真正的项目之后,我对更先进的技术产生了兴趣,加深了对那些我已经知道的技术的理解……我的兴趣超出了“纯” Java Core的界限。而且 - 我的简历中的“工作经验”栏出现了一个新的、可靠的项目,其中描述了该项目中使用的酷炫和时尚的技术。
进一步的考验
实习结束,我在高层开始了新的工作季节……空闲时间变得稀缺,转行的问题逐渐淡出人们的视线。然而,我几乎把所有的空闲时间都花在了编程上:我编写了各种“迷你项目”,有时在Java Rush中解决问题,监控职位空缺,并在秋末报名参加IT 办公室 DataArt 的免费课程。这些课程本身太笼统了:我在那里几乎没有学到任何有用的东西。但作为这些课程的一部分,学生被要求分成小组并编写一个“项目”。该项目包括编写一个在线测试系统,包括用户注册、用户部分(进行问卷调查)和管理部分(创建调查问卷和管理帐户)。我最终加入了四个团队之一,后来发现这个项目实际上是我自己编写的。在大约一个月的时间里(在高层工作时),我自己编写了一个在我看来还算过得去的 Web 应用程序,基于我们在Java Rush实习中使用的相同技术和模式(加上 jsp、Spring安全性和其他)。如果有人感兴趣,我可以发布一个包含该项目源的开放存储库的链接......身高已被拿下!
12月,我受邀去一间办公室面试。他们告诉我,当他们做出决定时,他们会打电话给我……“好吧,一切都像往常一样,”我当时想。“如果不立即服用,那就没什么希望了。” 但一个月后,新年过后,我给这家公司的HR经理写信,询问我的命运。令我惊讶的是,她回答说职位空缺仍在招聘中,尚未做出决定......又一个月过去了,现在,一月底,她打电话问我是否适合找工作,我“毫不留情”地回答说是的,我还在找工作。她回答说我已经找到她了,因为我适合他们!当然,这种感觉是难以形容的,当你在电话里得知这一点时,你的翅膀就会长起来!要明白这一点,你需要亲自去体验。这就是我在不久的将来对你的祝愿!我的第一份工作是参与一个大型ERP项目的开发——一个应用、长期建设。事实证明,该应用程序有很多具体的细微差别,因此基辅开发公司需要一名距离客户不远的程序员 - 在我居住的敖德萨。该应用程序是用GWT + ExtGWT + Spring + Hibernate + MySQL编写的,以及一堆支持的次要库。恰好这正是我所研究并有一定经验的技术栈。在缺点中,我要提到的是,该项目很旧,它使用旧版本的库和过时的设计方法,而且它们已经过时了,几乎不需要更新。原来我一个人才能完成其他程序员3-4年的工作成果!当然,我希望像任何初级人员一样,为我指派一位更有经验的团队领导,他也会指导我并审查我的代码。但命运却另有安排;我被委以一项专为经验丰富的独立开发人员设计的工作。“既然这样,”我想,“那就赶紧要求加薪吧。” 他把原来的数字提高了200美元。这并没有引起他们的任何愤慨。我不会给出具体数字,我只是提到薪水大大超出了我的预期。此外,我只有一个月(而不是通常的三个月)试用期。他们像往常一样通过SPD给我注册(这是程序员的常见做法)。
对您工作有用的技术:个人经验
了解数据库、SQL ( MySQL )、jdbc、Hibernate、Jpa、网络技术html、jsp、servlet、xml、Tomcat是非常理想的,甚至可能是必需的。需要了解基本的JavaSE 模式(所谓的GOF模式);至少了解Spring、SpringMVC、Maven 项目构建器、log4j日志记录和JUnit 单元测试也将是一个巨大的优势。您需要能够使用版本控制系统,例如Git 。有时他们会询问或给出有关 Web 服务( SOAP、REST )的测试任务。除此之外,对 Java 核心的了解即使不是无可挑剔,至少也是非常有信心的。第一印象
经过前两周,我开始深入研究代码,现在我知道一切都会成功......我想立即指出,程序员的工作仍然不是一种手段;它首先是一项早起晚归的工作。但这项工作比许多其他工作要好得多。它有利息、金钱和前景。当你能够通过你的思想、工作和毅力自己实现这一目标时,那就特别好。我能够改变我的生活,从很多方面来说,你是自己命运的主人。我唯一担心的是懒惰会战胜我。取得一定的成绩后,我会变得懒惰并停止专业成长。但我还是真心希望这不会发生。我要再次感谢这个精彩资源的创造者!对于你们,贾瓦拉什人,我祝愿你们在自己选择的道路上坚持不懈和耐心,正如列宁祖父所说:“同志们,你们正在沿着村庄的道路前进!” =),但不要放纵自己的懒惰,最重要的是“永不放弃”。走的人,才能掌握路!
后记:两年后...
...决定写我的“成功故事”的续篇。原因有以下三个:- 政府问我 =);
- 我仍然相信这个特殊的资源在我“进入IT”过程中发挥了关键作用;
- 我仍然相信,动机也是这件事的关键因素之一,而最好的动机之一就是与你(爪哇人)处境相同的真实人士的成功故事。因为我自己知道,有时一个人的手就会放弃……对许多人来说,他们再也不会站起来。这确实是一条艰难的路,但这是值得的!
- 我还没准备好,我还需要学习……
- 呃,没人打电话给我……
- 我完成了 JavaRush 20-30 级,还学了一点 SQL 和 JDBC。如果您还具备 Spring 和 Hibernate 的基础知识,那么您就完全有麻烦了。
- 我用例子打出了一份简历,在专门的网站上注册,发布了它,然后用我的简历用垃圾邮件轰炸了所有的 IT 办公室。相信我,你不会没有反馈,很多人只会回信说他们会记住你,有些人肯定会邀请你参加面试。
GO TO FULL VERSION