CodeGym /Java 博客 /随机的 /开发中没有必要与邪恶作斗争,但也不应该触碰它:程序员伊琳娜的故事
John Squirrels
第 41 级
San Francisco

开发中没有必要与邪恶作斗争,但也不应该触碰它:程序员伊琳娜的故事

已在 随机的 群组中发布
我们知道 CodeGym 的学生希望听到那些已经从事 IT 工作的人的故事。因此,我们亲自解决了这个问题,推出了一系列有关来自不同国家和公司的开发人员的系列文章,这些开发人员完成了我们的 Java 培训。这个故事是关于伊琳娜的。在学校和大学期间,她热爱技术科学。她对编程略知一二,但选择了上下文广告工作。尽管如此,伊琳娜还是想尝试一下发展。有一天,她收到一封电子邮件,通知她正在为一项特定服务雇用开发实习生。尽管我们的女主人公没有通过面试,但这段经历激励她开始学习 Java。“开发中没有必要与邪恶作斗争,但也不应该碰它”:程序员伊琳娜的故事 - 1

“我确实想尝试自己的开发”

九年级后,当我必须选择继续学习的方向(即技术、人道主义、经济和医学轨道)时,我在人道主义和技术轨道之间左右为难。对我来说,人文学科代表了记者的职业生涯,在世界各地谴责邪恶并倡导正义事业。当我思考技术路线时,我想,如果我不与邪恶作斗争,至少我不会碰它。我选择了阻力最小的道路并选择了技术路线。毕业后,我进入大学,主修计算机科学和计算机工程。可惜的是,这所大学没有提供任何特定语言的任何技能。我以一种杂乱无章的方式学习了一些关于 C++、C#、JavaScript 和 UI 布局的知识。在我的第三年,我偶然对上下文广告产生了兴趣,并且恰好在一家相当知名的公司找到了一份工作。结果,我在广告业呆了两年。我取得了不错的成功,但我绝对想尝试自己的开发。我重返编程也没有经过深思熟虑的计划:我在工作中收到一封电子邮件,内容涉及一项新服务,希望雇用 Java 开发实习生。我决定去面试。当然,当时我的基础知识还不足以拿到offer,但是这个插曲促使我去寻找一些关于Java的资源。我在互联网上偶然发现了这门课程。他们一开始并没有吸引我:所有有趣的图片和机器人故事让我觉得它并不严肃,但我真的很喜欢有机会练习和检查我的任务。我犹豫了一下,决定尝试一下,然后我就被拉进去了。

“前几次面试我都失败了”

我的学习没有严格的时间表,时断时续:在工作间隙,有时在晚上。大约在16-17级的时候,我开始尝试找工作。那时我已经学习了大约三个月,中间有一些休息。如果你没有工作经验,那么他们喜欢问算法,但我也几乎不知道。所以我前几次面试都失败了。我必须做更多准备,寻找最常见的问题,并记住它们的答案。我紧急学习了 SQL,研究了代码版本控制系统(IMO,CodeGym 将 Git 提到了一个不合理的高级水平,直到 30 级)和 SOLID 原理,并学习了排序算法。最终,我被一家小公司聘为初级开发人员。我第一份工作的任务非常琐碎:开发新的系统功能、完善现有功能、修复错误。我们使用了瀑布方法:业务人员发送任务,分析师更详细地描述它,开发人员实现它,分析师测试它,然后开发人员将其滚动到产品中。我们没有使用任何特殊技术:我们用纯 Java 编写了所有内容 - 一个整体而不是微服务。为了使用数据库,我们使用了我们自己专有的闭源框架。一开始就遇到了很多困难——从学习如何将项目上传到存储库,到如何向数据库写入请求以免超时。我必须在 google 上搜索大量有关使用 JSON、SOAP、Maven 是什么以及如何构建 Maven 项目的信息。我没有放弃学习。我尝试至少每隔一天学习一次,但有几次我不得不搁置一个月。但我的目标是完成珍贵的 40 个关卡。与此同时,我参加了有关 Spring 框架的课程。春天为我带来了很多新的机会,我通过简历收到的录用机会成倍增加。隔离期间,我换了工作,转到了微服务架构的项目。我们正在创建一项服务,用于搜索、销售、购买和租赁住宅和商业房地产,以及申请和提供抵押贷款。我们 80% 的服务都是用 Kotlin 编写的。另外 20% 是用 Java 编写的。

我近期的计划是:

  1. 更深入地沉浸在建筑中。我想深入研究后端架构的设计。

  2. 学习C++。我认为这对于任何程序员来说肯定都是有用的——如果有必要的话,能够编写需要运行得非常快的应用程序的部分。这对于任何复杂的数学计算都是有用的。

  3. 开发运营。有些公司甚至把这项技能作为对程序员的强制要求。它肯定对任何其他公司都有用。

我一点也不后悔九年级时我选择了技术专业,两年前我勇敢地离开了广告界并开始了编程生涯。发展是一种魔法,一种让复杂的事情变得简单、用清晰代替混乱的方法。我目前正在努力让我 12 岁的弟弟对编程产生兴趣。一年前,我给了他一个 Arduino 入门套件,我正在考虑为他买一本关于 Minecraft 的 Python 编码的书。当他长大一点时,我会把他介绍给 CodeGym。我想他会喜欢的。我从 CodeGym 得到的一件重要的事情是我意识到你真的不应该害怕为好的材料付费。它将获得百倍的回报。

给初学者开发者的提示:

  • 继续编程。程序员的工作完全包括解决某些问题、发现某些错误并纠正它们。有时这可能(而且肯定会!)看起来难以忍受的困难、无聊和烦恼,但当你最终解决问题时,感觉就像一个真正的突破、胜利,几乎是一个发现。这个循环会不断重复。愤怒、接受、长期的尝试和无尽的失败,然后是胜利。程序员工作的快感在于对下一次突破和胜利的期待。 “开发中没有必要与邪恶作斗争,但你也不应该碰它”:程序员伊琳娜的故事 - 2
  • 随时随地继续学习。阅读文章和书籍。查找并参加软件开发各个领域的课程。一定要尝试新技术。将它们应用到您的个人项目中。与热衷于软件开发的其他人互动。交流经验和想法。曾几何时,正是与这些雄心勃勃的人交谈,帮助我在第一家公司不再感到沮丧,也不再害怕继续前进。

  • 因此,我的第三个建议是——不要害怕改变一切:一份新工作、一个新框架、一种新语言(请原谅我,CodeGym)。我对自己的所有重大胜利都发生在我换工作的那一刻。最初,在没有完全掌握技术或语言的情况下去某个地方似乎很可怕,但是当您学习这种未知的技术或语言时,这会刺激很多成长。你的第二次复苏开始了,你会发现理解和学习新事物的特殊意义。

  • 合理评估自己的优势。即使你能把就业、在家自学、一些网课、大学,也许还有一个家庭结合起来,一段时间内,你很有可能会疲惫不堪。不幸的是,我认识一些人,他们在大学、有酬工作以及无薪开发实习生的长期工作后精疲力竭并放弃了编程。如果他们在大学多休一天假或学术假,如果他们休假一天并留出学习时间,如果他们从在线课程中休息几周,那么也许一切都会好起来的。不同。

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION