昨天是在U的最后一天,在这7年里,经历不同项目,遇见不同伙伴。离职是之前就想好的,但确定的那一天还是觉得有点突然,以后上班走的是不一样的路了。变化前让人充满期待,变化的时候可能还是有点紧张。
与之呼应的,是2011年,那时候本科毕业,第一份工作就进了U。大概也是6月份的时候,在校园招聘网站上看到了宣讲会信息。介绍说是软件公司,外企,有出国机会。那时候辅修了英语,觉得不能荒废了,或者觉得英语+主修专业是最契合的工作,自己在这上面会最有价值。宣讲会,笔试,面试,二面,三面,HR面,拿到Offer。面试流程,纸质英文Offer都让人觉得高大上。自己也没什么技能,能拿到offer觉得运气不错,当然是定下来了,签了三方。几年后,有一次无意中看到当时的面试评语,大意是英语不错,技能一般,人比较靠谱吧。
后面就开始了我的码农人生。
因为不会什么技术,一开始做测试,也写写Junit代码,工作比较轻松。空余时间开始自学Java, Linux, Shell。大半年后, 有同事和我说: 你想做开发可以和老大说,你看XX也是一开做测试的。老大给了我两个选择, 做抽象的编辑器,还是做界面。可能我觉得前者技术含量高,就选择了开发编辑器。于是开始了我的开发者之路,基于Xtext框架的编辑器IDE开发。Xtext也是让我觉得很高端的东西。
好像一年多后,一批同事离职,自己便成了主力。那时候压力也大了,修bug,改进性能,也会时常加班。当时大家对我的印象是淡定,也可能是沉浸在代码世界里,自我感觉对这个世界蛮熟悉的。那一年年终评估很高,刚进公司那年是很低的,这次有些意想不到,受到认可自然也是很开心的。
不过后来这个IDE产品慢慢停掉了,公司开始转向代码分析+代码现代化领域,大约是14年开始的。一个重点是分析古老的软件项目,那时候的项目都是用COBOL语言开发的,要看懂也就需要学习COBOL语言。最近在知乎上看到一段话:
这边公司平台组的一些白人老头技术专家架构师那真的是厉害的不要不要的,在这个行业摸爬滚打好多年了,都是经历过上古时代写过cobol语言的。。。相比国内就很浮躁
可能学这个后面的用处就是戒除浮躁吧。不过要转成的现代化应用比较有意思,不像之前做Xtext,现代化的WEB技术就很热门了。于是入门了web的前端和后端技术(Spring, Hiberante, HTML, CSS, Javascript)。当时也正好在一个Java小组研究一些热门技术,学习一个框架叫Angular,几年后很火热。然而总体上,大部分时间还是看COBOL代码,大家是不太愿意一值做下去的。做了一段时间后,领导就安排我去做另一个团队做项目,一个代码分析工具,那是15年初。
代码分析的后台核心是在乌克兰和美国的团队用Lisp语言开发的,我们主要是做前端部分,用web页面展示图表,但也需要写一些Lisp代码。在加入这个团队之前就听他们说在看Lisp, 自己便去查查。看了很多文章,原来Lisp是其他语言的鼻祖,相当于拉丁之于英语。为了GET到这种强大的技能,当时一口气就看完了On Lisp。作者也是个画家,这本书也充满了艺术和工匠的味道。写了几个月的Lisp是一个难得又开心的经历。对于前端部分,印象很深的是做了一个前端编辑器的语法检查,能一下子把前几年的编辑器积累移植到了前端页面上(Javascript)。
15年初,公司接到一个大项目,把Java代码翻译成PL/SQL存储过程。我们这边做测试和修改翻译的代码,当时翻译器刚开发出来,工作量极大。由于这个项目保密性要求高,一部分需要去美国总部做,这一点便很吸引人。15年的8月份,我一人第一次来到了美国(同去的由于签证问题需要晚些到)。项目本身不吸引人,其实是美国的同事都不太愿意做就让我们过去了,有个同事改改代码就跟我说This is demeaning. 不过跟一位牛人的合作让人难忘,除了技术牛之外,他对工作有极大的热情。一直想着自己也能这样,不过看来还是环境和信仰的差异。
三个月回国后,继续着这个项目,主要帮其他同事review代码,和美国沟通。这种类型的项目很难一直做下去,半年后,我不做了。后来知道,他们后期的工作更辛苦。对我来说,这是一个最艰难的项目,后面做什么项目都是好的,写代码也更加无畏了。也借此机会熟练的用会了VIM,提高了改代码的效率。
公司前几年是做通信业务,使用语言建模技术,因此,我一开始开发的是编辑器。后面这一块前景不理想,转向做老系统分析和现代化,主要的是COBOL转现代应用的项目。后面我又做了一段时间这方面的工作,但重点更偏向于现代热门的技术。这些技术,在后面做信息系统项目打下了基础。
种种原因,公司中国部门开始转向国内寻找项目了,做了几个信息系统。涉及到的建模语言技术,前端,后台,很巧合的把我过去的积累都用上了。Xtext, Spring, Hibernate, UI。至此,差不多就是现在了,有了一种connecting the dots体验。
回过去看,能走上开发者之路,对于我还是比较满意的工作。有些遗憾就是没深入去学,想要学的有很多,愿自己后面好好学习。
后记
回忆其实是很多的点滴,穿插在不同的线索上,线索也交织着。总的看来,是有点混乱。以上算是以工作内容为线索,写了一些点滴。记忆最深的还是一起工作的伙伴。感谢周围人的帮助和支持!
网友评论