猿创征文|弃文从工,从小白到蚂蚁工程师,我的 Java 成长之路

1.2 主要内容

大学选专业的时候挺想选计算机的,但由于对计算机的误解,还是没有选择计算机专业。
由于自己的英语成绩比较好,最后选择了英语专业。

3.2 冥冥中的缘分

我们英语专业的宿舍之前恰是计算机学院的宿舍,刚搬入的时候看到有“齐鲁软件设计大赛作品” 的光盘。
大学开学不久,各种 团纳新,计算机学院的 IT 精英协会会长带着一些部长来宣传,现场演示如何“破解”电脑密码,宣传有能力进入教务系统修改成绩,会长拿了山东省的软件比赛一等奖(当时我们学校一年最多只有一个该比赛的省级一等奖)等,非常羡慕和崇拜。

3.3 巧遇恩师

有一次 Java 选修课的老师生病了,让我后来的恩师陈老师代课一天。
当时有很多疑问,请教了该老师,有一个问题没能当场解决,就加了 QQ 后面交流。
陈老师发现我对计算机有极其浓厚的兴趣,决定免费指导我。
现在想想挺佩服老师的魄力的,一个英语专业的学生,能不能学好编程真地很难说。
从此,Java 的学习逐步走上了正轨。

老师会介绍大概需要学哪些内容,怎么学,遇到问题请教也会帮及时解决。
当时买的电脑配置很低,只有一个 1G 内存条,使用 Eclipse 都很卡,老师送了我几个内存条并帮装好。
暑假没地方住宿,老师将自己学校附近买的教师公寓的房子免费让我住。
当然,老师对我的帮助远不止这些。

工作以后,逢年过节有时间都会去看望老师,和老师聚一聚、聊一聊,送老师一些公司的公仔等。

暑假在老师的教师公寓写代码,开始的时候还是毛坯房(和下图差不多),整栋楼房还没怎么有人入住,平均两三层楼才入住一户。好在有电、有电梯。

中间还发生了一件令我印象颇深的事情,负责值班的同学没见过我,询问情况发现我是英语专业,虽然解释了我已 名参赛,但依然不允许我进实验室。最后团队其他同学找学院的老师协调才被允许进入实验室。

这个比赛的作品从创意到核心代码的编写、测试,大多数都是我自己完成,后面也是我去济南山东建筑大学答辩,最终得了当年我们学校在该比赛中唯一的省级一等奖。而这个比赛恰是入学的时候宿舍光盘中涉及的比赛,也恰是入学 团纳新时 IT 精英协会会长拿到的奖项。

3.7 跨专业考研

虽然编程也学了不少,也有一些比赛获奖,但内心总不够自信,也对就业有些担忧。
计算机相关岗位的要求大都是“计算机及相关专业”,而且也想接受正规的计算机专业学习。
因此,决定跨专业考研。

跨专业考研的优势在于英语好一些,最大的难点在于数学,因为英语专业不开数学课程,需要花很大的经历学数学,还有没上过计算机的专业课。

4.2.1 读懂要求

很多同学参赛的时候没有认真读取比赛的要求,最后因为偏题导致淘汰或者因为忽视评分规则而被打低分。
因此,参加比赛一定要读懂“题意”,这是一个非常重要的前提。

4.2.2 分析历届优秀作品的特点

重点分析历届一等奖、特等奖作品的特点。

4.2.4 常见问题准备充分

你的作品的主要创新是什么br> 你的作品已经得到了哪些认可或验证br> 你的作品的盈利模式是什么br> 你的作品亮点有哪些br> 你的作品有哪些不够完善的地方来的改进方向是什么br> 如果 XXX 该怎么办想出至少 5 个 “意外”情况)

4.2.5 PPT 反复打磨,答辩反复练习

PPT 要反复修复,不断练习。
多一些图,少一些字;内容要非常结构化,重点突出;台下反复试讲,卡准时间,衔接流畅。
有机会可以找老师给组织一下模拟答辩,感受答辩的氛围。

4.2.6 态度要端正、时间要保障

很多同学参赛的态度不端正,只是想蹭奖,需要付出的时候找不到人,领奖的时候很积极。
很多同学的创意不错,但是没有投入足够的时间,最后没做出来或者做的非常粗糙。

五、我的写作之路

5.1 为什么要写作/h2>

5.1.4 记录成长历程

有时候翻翻自己的博客就大概知道每个时期都在学什么,博客是很好的成长见证。

写过 《解锁大厂思维:剖析《阿里巴巴 Java 开发手册》》、《再读经典:《Effective Java》 独家解析》 ,两个技术专栏。
主要从方法论的角度讲述《阿里巴巴 Java 开发手册》、《Effective Java》一些规定背后的底层原理。

写过 《Java 校招求职如何拿大厂 Offer》专栏,帮助校招生了解校招的底层逻辑,抓住校招复习的重点,分享一些面试技巧等。

写过《性能优化方法论》技术电子书(直接搜 “性能优化方法论 藏经阁” 即可)。该书分享自己对性能优化方面的思考;讲述技术层面和非技术层面的优化思想;技术层面如升软件、提硬件;空间换时间、提高资源利用率、串行转并行、利用时空局部性等;讲述性能优化在常见技术中的应用。非技术层面如砍需求、提升用户体验等。

在阿里内部的 ATA 技术博客上也发表了不少技术文章。

5.3 写作经验

参考文章:
《结构化思维,让你的工作有条不紊》
《我对“结构化思维”的理解》

5.3.2 文章要差异化

现在 上的文章千篇一律,如果我们写的文章和别人几乎一样,我们写文章的意义在哪里br> 可以是诙谐幽默的语言风格;可以是精美而又恰到好处的配图;可以是自己对该问题的独到解读等。

5.3.3 重视排版

有些同学的文章排版非常混乱,看着就不想读下去。
有些同学文章开头带上思维导图,文章中间会有适当的配图,文章结尾是引导关注、点赞的图片等。

5.3.4 深入原理、授人以渔

大家写文章的时候,不要只人云亦云,也不要只讲现象不讲原理。
写文章,尽量能讲清楚原理,能够让读到的人知道根本愿意,能够举一反三解决一类问题。

5.3.5 专题化

尽量可以讲透一个主题或者一个系列,能够让读者通过看你的文章系统化掌握某个技术。

5.3.6 功夫在平时

我不太喜欢为了写文章而写文章。
大家平时在学习和工作中,解决了某个疑难杂症,就可以讲自己的分析思路和解决过程写下来。
在平时的工作中,看到一些 BUG 或者 故障,某个问题好的解决方案,就可以将这些经验积累下来。
平时有一些想写的话题,可以作为素材的内容积累下来,等写的时候就会文思泉涌。

六、我的求职之路

6.1 校招与 招

这些年,经历过校招和 招。
校招拿到了美团、 易等 Offer, 招进有赞和蚂蚁集团。

有赞,电商相关的技术非常成熟,微服务、中台搞得都挺不错。“家庭日” (即周三不加班, 6点就可以跑路,通常大多数团队周五也是晚上6点就可以跑路)也是一大特色。 Java 程序员会发 MacBookPro 携带起来非常方便。

PS: 本人还有幸被选作有赞校招官 的“学长代表”。

七、我的工作心得

7.1 工作能力

7.1.1 关于做项目

关于更好地熟悉项目
实习、校招、 招初入公司需要上手项目,那么如何更好地上手新项目呢br> (1)看需求文档、技术方案和提测文档等。如果有相关的文档,一定先了解清楚,对后面理解项目的逻辑有极大地帮助。
(2)从功能入口往下捋。熟悉功能。找到要需要修改项目对应的 UI 界面,可能是 WEB 页面,可能是移动 APP 界面,也可能是小程序界面,触发相关功能,通过查看核心日志、远程 DEBUG 等方式熟悉核心逻辑。
(3)请教身边的同学。有些地方确实不太熟悉,可以请教之前参与过的人员或者对应的测试同学。平时可以适当分享一些零食,请一些奶茶之类的,后面请教就比较容易。

如何更好地做项目,减少出错的概率/strong>
(1)以终为始,思考业务价值。做项目前要深入熟悉需求,更要思考项目的价值,以终为始去思考问题,可能会发现有些设计可以优化,做项目就更容易有的放矢。
(2)磨刀不误砍柴工。做项目一定要重视设计,设计方案时先总体后局部,充分各种异常情况,充分考虑拓展性,这就会降低返工的概率。
(3)编码时要努力遵循各种经典的设计原则,如高内聚、弱耦合;降低复杂度的原则。设计模式的六大原则等,灵活运用设计模式来解决问题。
(4)提高单测覆盖率,充分自测。一定要充分自测,做好自测记录,不仅要覆盖正常的用例,还要覆盖各种异常用例。重视代码审查,尽量在编码阶段发现隐藏的 BUG。
(5)重视错误日志。在自测或测试人员对我们的功能进行测试时,一定要多看错误和 WARN 日志,有些场景即使出错页面表现也会“符合预期”。
(6)多和 Master 分支比较。通过和 master 比较,可以避免误修改,可以做好代码审查,可以更好地评估改动点。
(7)做好代码审查。可以从功能、性能、可读性、可拓展性和可维护性等角度对自己的代码进行自我审查,当收到其他同学的审查建议时辩证地采纳。 详情可参考:《CodeReview 的正确姿势》
(8)做好发布计划。发布所需要的各种配置,服务之间的依赖关系,发布和回滚的顺序等都要写清楚。

7.1.2 关于源码学习

7.1.4 其他能力

排查问题的能力。如采用二分法定位是前段还是后端的问题;恢复 master 代码,判断是之前的问题还是新引入的问题;采用源码分析、代码调试、日志分析、Arthas 等方式定位问题。

还要掌握做 PPT 的能力。要能够通过结构化的方式设计好 PPT 的骨架,能够重点突出、结论先行,多一些图形少一些文字,将亮点、重点、难点都说清楚,体现出自己的思考和价值。
还要掌握良好的沟通能力,可以看《非暴力沟通》。
还要掌握好项目管理能力。及时识别项目的风险点并解决。

7.2 工作之外

7.2.1 DIY 班

7.2.3 智囊团

公司内部的很多重要的技术课程,有时候也会招募智囊团,有时间也会积极参加。
当智囊团能更早学习课程,有更多地和大佬交流的机会。

7.2.4 代码评优

参加过公司第一季代码评优,并获得 TOP50。

7.2.6 金光闪闪

由于在指导新人和技术分享方面做的相对较好,也获得了两个公司的“金光闪闪” 奖项。


猿创征文|弃文从工,从小白到蚂蚁工程师,我的 Java 成长之路
欢迎大家加入我的 CSDN 区:Java 工程师成神之路

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91338 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月9日
下一篇 2022年9月10日

相关推荐