我的技术人生——三年开发的总结与思考

想写这篇文章已经很久了,本来计划在7月份,也就是刚好满3年的时候写的,但是因为各种各样的原因推到了现在才开始码字。

小感慨

三年是一段很长的时间,它足够让你从高中毕业进入大学,也能让你从一个开发新人到一个成熟的开发人员。但是总感觉高中三年和开发三年的时间不是等长的,高中三年里时间过得很慢,每天需要学的东西不多,但能在考试中看到自己的成长;开发三年里时间过得很快,每天需要学习的东西非常多,但却很难看到自己的提升和变化。

大公司和小公司

在自己开发的前两年多都在一个初创公司里,干过android、ios、php、前端,研究过人工智能,甚至做了2个月的产品运营,一个伪全栈工程师就是这么练成了,什么都会一点,但是都不深入。初创公司基本是没有机会让你去深入研究某项技术的,需要的是产品快速迭代更新,听到的最多的一个词就是“能用就行,下次在优化”,然后就没有然后了。在这个公司里也有一个大家认为是大牛的同事,android、ios、java、php、python、前端、大数据、人工智能都参与过,也做出了一些成绩,最近他要离职了,我和他聊了聊天,其实他自己是很迷茫接下来要做什么。
创业公司和大公司的选择在知乎上也有很多人在讨论,大部分人的观点是毕业能去大公司就去大公司,大公司能提供完善的制度,有很多优秀的同行在你身边,能给你深入研究的的机会等等。说的基本没问题,但是目前很多大公司校招的人没有那么多了,通过大公司的面试也没有那么容易,大部分人第一份工作也是初创公司或者创业公司。当然创业公司并不是一无是处,虽然技术深度没有大公司的同学那么深,但是技术广度一般会强一些,这对之后去大公司跨团队沟通和交流还是有一定帮助的。在创业公司需要有自己对未来的一些想法和规划,也需要在某一个方面有深入的了解和学习,时刻保持危机感和饥饿感,这样才能有更好的成长。

最近的工作

最近几个月负责组织开发了一个vue的组件库,参与了vue-srr的同构,也做了一些webpack的优化。vue的组件库其实已经有很多了,不过不是很符合公司自身的业务场景,所以选择自己写一个组件库。这个组件自己参与的组件不是很多,但是因为这个组件库了解到在团队内推进一个项目不是想象中那么容易,特别是一个多人参与的项目,早期虽然大家报名认领了任务,但是因为业务繁忙等等原因,这个组件库基本没有进展。后面自己开始主动开始推进这个项目,制定开发计划,跟踪各位同学开发进度,这样才让项目一步步走上正轨,也很感谢各位参与同学的支持。
vue-ssr同构是团队内部很重要的一个调整,同构有各种各样优势,比如支持seo,首屏速度,开发体验提升等等。也许是因为自己node相关技术积累不多,只参与了一小部分的项目架构,很多服务端相关的架构设计也是另外的同事去完成的,其实自己也有点遗憾没能更多的参与到其中去,最近也计划用官方的demo在自己捣鼓捣鼓,更熟悉其中的一些架构设计。
webpack的优化也是因为做同构项目时遇到了一些问题,比如说用dll提升打包速度,优化热更新速度等等。自己对webpack的了解还是停留在了使用的阶段,源码和内部机制还没有进行很深入的学习,这也算是近期的学习计划吧。

最近看的书

最近在看《webkit技术内幕》、《计算机网络》、《精通正则表达式》。webkit技术内幕快看完了,了解了webkit的一些设计思想和架构,更深入的理解浏览器的运行过程。计算机网络看到了网络层的部分,自己对http、tcp/ip等等有了更深入的了解,对互联网的运行也更加的清晰一些。其实自己之前几乎没怎么用过正则表达式,所以希望弥补一下自己这方面的不足,精通正则表达式目前页只看了一部分,能保证日常的使用,距离精通还差的老远。个人觉得看书是提升技术深度很好的方法,能够接触到一些平时很难接触的东西,目前需要解决的问题是如何能将书上学习的东西应用到日常工作中,这一点其实没有做好。

业务与架构

写业务烦吗?
烦,老是进行重复的coding,提升和进步缓慢。
做架构爽吗?
爽,因为能研究一些新的东西,能够提升自己某一方面的技术。
自己最近也在思考做业务和做架构的问题,做业务的确很容易陷入到一种重复重复再重复的无限循环中,重复的技术栈,重复的业务场景,这些的确阻止了开发者的成长。那业务中要如何成长?个人的想法是多总结和记录开发中遇到的问题,多思考如何能够优化业务代码,如何写出高拓展性的代码,这可能是一些成长的点。做架构的确能经常研究一些新的东西,比如参与ssr的同构、动态化方案等等,但是如果只是为了架构而架构,脱离了业务场景,这也是没有价值的。所以就我个人而言,希望既能参与到部分业务中去,也能参与部分架构的任务,这样可能个人的提升会更大一些。

面试?

最近投了一份简历,面了一次试,但并不是同一家公司。之前在一个群里看到了考拉的一个招聘,薪水开的不错,所以打算去试试水,然而居然连面试的机会都没有得到。面试的那次是钉钉,因为之前投过也面过阿里,所以这次简历又被钉钉捞出来面了一次,面试的感觉有点糟糕,一方面是因为没有准备好,另一方面和他们要招的岗位不是十分符合。其实最近没有离职的打算,面试也是为了看看自己目前到了什么样一个水平,感觉陷入了瓶颈期,也是希望通过面试能够跳出目前有些糟糕的状态。最近一年也面了3次阿里了,效果不是很理想,奇怪的是至今没有获得一次网易的面试机会,不知道是不是因为网易对简历筛选十分严格还是什么别的原因。

以前学东西是为了成就感,现在是为了生存

这句话不是我说的,是一个ios的妹纸说的。最近我们一起参与了一次分享,一位实习生同学分享她最近一个月的学习情况和成长,会后聊天的时候那位妹纸发来了这一句话。这句话听着像过来人语录,自己也是有一些感慨,想起自己刚开始学习编程的时候,第一次打印出hello_world的时候,第一次开发出一个完整的android页面的时候,第一次解决了技术难题的时候,那种内心的喜悦和成就感是促使我接着往编程走下去的动力,但是慢慢的这种感觉越来越来少,甚至消失了。当然这是一个正常的过程,自己在不断进步和提升的同时,内心G点的阈值也会不断的提升,这是需要适应的过程。这句话可能反应了一些现状,但是如果学东西只是为了生存的话很难把事情做的很好,所以应该以一个积极的心态来面对。最后套用一句常用的话来总结:不忘初心、方得始终。

身体和精神状态

这个可能是每个程序员都或多或少的会遇到一些问题吧,比如长时间面对电脑,颈椎、腰、眼睛、头发等等可能都会有一些问题,也因为加班、熬夜等问题引起一些奇奇怪怪的问题。就自己来说最近颈椎一直很不舒服,持续的时间也挺长了,同时感觉身体状态也不如之前了,才仅仅才工作了三年,身体的状态就大不如初了,这算是一个危险的信号,如何在繁忙的工作中多花时间锻炼是接下来需要解决的问题。

展望

我很喜欢给自己定制一些目标,比如三年要达到怎样的水平,达到目标很开心,没达到目标很失望。就三年这个节点来说其实并没有达到自己的目标,有点小失望吧,但是路还是需要继续走的,希望在下一个目标节点能够达成。

写了这么多,三年来的总结也就差不多结束了,借用hip-hop圈常用的一句话来结尾好了。keep real。

end…

你可能感兴趣的:(随笔)