入职新公司已经四天,到今天仍然是蛮开心。想一想距离自己本科毕业2017年到现在已然五年。是否真的还想做一个软件工程师?答案是肯定的。从读研到找工作,再到回国,从一个场测工程师到测试开发工程师,软件开发工程师一路碰壁,也一路成长,每一步虽然走的比较曲折,但终于也是做到了最初想做的事情。
真的很多事情,就像是在践行瑞达里奥的“原则”。最开始沉迷于各种术和工具,研究各种学习、记忆方法,最后发现投入了太多无效的精力。之后便开始反思,说到底是本事不够,这里出现第一个转折:反思得出结论,还是要补足基本功。便投入大量的精力去刷题。当时觉得真的累,也看不到太多的效果,好在当时有一口气一直吊着。刷够了将近400题之后,渐渐地对于各种数据结构也开始熟悉起来。
当时如果勇敢的去尝试各个公司或许会有些机会。自己总是担心刷题不够,没基础。久久不肯投出简历,也错过了比较黄金的窗口期。后面匆匆入职了场测工程师的职位以后,也会偶尔抽空去做题和投简历,但是工作性质原因(长期出差),再加上个人的决心又没那么足了,就一直没有得到很好的机会。直到偶然的契机,回国了。
仔细的思考分析后,选择了某大厂的测试开发岗位,努力的在工作中提升自己的通用工作技能,再争取去做一些开发相关的工作。当然也没有落下自己的刷题和基础。这个时候其实也是在不断碰壁,国内的要求更高,需要准备很多八股文。又花费了大量的时间准备八股文,从每一个基础学科的书籍学起,迭代记忆。每次面试最后的问题永远是:您觉得我还需要在哪方面提高?以实战练习。几乎每个三个月我就会集中的去投一波简历。这是第二个转折的阶段:增加面试经验。
仍然没有达到自己想要的状态,在去年年底的时候,终于是下定决心去进一步提升并且坚持。也发表了一条屡败屡战的动态勉励自己。因为我知道自己马上就要到那了。这个时候其实很久将近一年没有写算法题了,结果那个时期的面试考的算法题我全都可以有思路且基本写出来。我真很感激自己手写了许多的笔记,一遍又一遍的重复经典题型。这些思路和思考方式已经印在习惯和脑子里了。
在脉脉上又是一次内推,再一次进行整个流程。这次,以前学的所有的东西在每一个环节都起到了作用。面试面到了基础的数据结构和代码设计;面到了数据库和系统设计相关的内容,都是很久之前一遍遍写和记得笔记的。虽然我现在自己的水平离谷歌的面试要求应该还有很大距离,但是整个学习的环节,在准备哪些看似不会考的很多东西的时候,我一直告诉自己“欲求其上,必争上上”。只有按照谷歌的面试标准要求自己,我才有可能拿下普通公司的Offer。而事实也是如此。这是第三次转折成功。
经历了这整个事情,大概3-5年的时间,我学到了很多的心法,也学到了很多的方法,也实践印证了这些心法和方法。面对新公司,新工作,新内容和新阶段,包括当今的国内外局势,我的阶梯曲线依然在继续。面对未来的挑战我会更有信心。成功,挑战,再成功。诸君共勉。