15年毕业,算上实习经历差不多有四年半的工作经验。没想到时间过得这么快,有时候还觉得跟刚毕业一样。之前在创业公司呆过两年半,目前在阿里做大数据/算法相关的工作。这四年来收获过成功的喜悦也尝过失败的苦果。面对正在跑步进入大龄程序员队列的我,对过去有一些思考总结,同时对未来也有一些想法。这是我的第一篇非技术类博客。
大学
11年上的大学,学校并不是很好,普通二本。录取专业为教育类,由于对计算机感兴趣,所以升大二的时候转到了软件工程专业。大二、大三这两年一方面学习新课,另一方面补大一的课。大三结束的时候计算机相关的课程都已经学完。
大学期间我也考虑过毕业以后要从事什么岗位,最后选择了嵌入式开发。选这个方向有两个原因,一是这门技术比较底层,研究起来比较牛逼;二是当时有一些培训课程鼓吹物联网时代到来了,就业前景如何如何好,薪资如何如何高。后来就买了开发板和一整套课程开始学。实际上我毕业后并没有从事嵌入式开发。因为大四上学期有同学找我一起创业,我负责网站建设。折腾了半年决定不做了,之后我开始投嵌入式的工作,结果根本没有面试机会,更惨的是再看自己当时写的代码发现看不懂并且调不通。于是果断选择放弃,当时候大部分同学都做安卓、iOS 或者 Java web 开发。但我觉得这么多人学不见得是好事,未来几年很可能饱和,我想学一个当前刚起步未来前景不错的方向。于是选了大数据方向,当时大数据应用不多,并且主要集中在大公司,我也担心过自己学了会不会找不到工作。但因为坚信它的前景,所以还是果断学了。最后证明我的选择是正确的。现在想来大学时候最错误的决定就是学嵌入式,从后来找工作来看它的热度根本不如应用软件开发,并且物联网也并没有大热,或许 5G 时代会真正迎来。
所以正在处于大学阶段的朋友,尤其是学校一般,没有太多的社会资源,一定不要闭门造车,不要一味追求技术牛逼,不要偏信培训机构的一面之词。平时多了解工业界的产品,以及应用的技术,关注未来的发展方向。
初入职场
第一份工作如愿以偿,在一家创业公司做大数据开发。由于团队不大,有机会做面试官,带团队。技术上刚开始用 Hadoop 开发,后来用 Spark。16年的时候线上业务直接用 Spark 来做算是比较早的尝试了。由于当时各种资料不多,踩了很多坑,那时候刚毕业也比较拼,有一段时间基本上天天在公司。遇到实在搞不定的问题会给开源的作者或者培训机构讲师发邮件,也会搜集大公司在分享会上的资料。最终经过团队的努力顺利上线,并且稳定性还不错。
虽然做出了一点成就,但也有很多遗憾。比如:不注意代码风格、技术上没有总结和输出、没有从架构的高度学习技术以及没有个人职业规划。这几个问题由小及大应该是每个初入职场的程序员应该注意的。规范的代码风格反映了一个程序员的基本素养;技术上总结输出不但可能帮到别人也可以慢慢建立起自己的技术影响力;从架构上的高度学习技术可以促使自己从更高维度思考问题,而不只纠结于某门语言或某个框架;个人职业规划可以让我们有一个清晰的目标,促使自己去思考要成为一个什么样的人,以及未来需要什么样的人。
对于上面这几个问题我当时的 leader 都跟我提过,只不过当时自己没有重视,虽然现在才意识到,还要不算晚。所以对于初入职场的朋友,要多听前辈有用的建议,自己多思考,眼光放长远,提升自己的思维高度,这波不会亏。
现状
离开创业公司后,终于如自己所愿进了阿里这样的大公司。做着跟自己之前类似的工作,不同的是更加注重的自己的基本功、在技术上进行输出、关注架构设计以及有了自己的职业规划。
关于技术输出这事,我是 18 年底才开始写技术博客。以前看别人写总觉得没那么麻烦,好像一两个小时就能搞定一样。但自己写的时候才发现其实挺难得,一方面你自己要彻底理解你所写的东西,另一方面你要把他清楚的表达出来。记得我写的时间最长的一篇博客是《条件随机场之CRF++源码详解-训练》,从早上9点开始写晚上11点,当然那篇博客内容本来就比较晦涩。从那以后总结经验,慢慢的写的就快一些了。当然现在也遇到一些问题,比如写一个系列的博客,战线拉得比较长,并且得不到有效的反馈,这个过程也会怀疑这样做是不是有价值。有了问题就会不断的思考、调整自己的方向,做任何事不可能上来就顺风顺水,都是在不断的调整,找到风向才能乘风破浪。
最近除了关注编程方便的东西外,还关注产品、运营、经济和投资等方面的东西。虽然这些对我的职业发展不一定有实际的作用,但我希望自己能接触不同圈子的知识,增加自己的眼界,提升自己的思维高度。有些机会是需要提前准备的,有些满足是需要延迟的。现在自己也发现其实阅读对于程序员很重要,因为我们程序员大部分都比较宅,平时很少跟程序员群体以外的人打交道,长期以来对我们了解行业的未来发展是不利的,既然我们比较宅,不愿社交,那么了解其他圈子最好的方式就是看书,当然现在学习的形式很多,除了纸质书还有电子书、音频以及视频。总之就是要不断学习。
未来
这里并不想说太多假大空的梦想。 对于未来首先干好本职工作,这是做其他任何事儿的基础。有额外的时间可以写写博客,慢慢积累自己的影响力。
最近除了写博客,还在酝酿写一本书,与 RPC 相关,但会涉及多线程、并发、设计模式等内容。预计会比较久才能完成,希望是一本有价值的书。
很喜欢乔布斯的一句话:Stay Hungry, Stay Foolish--求知若渴,虚怀若愚。
欢迎关注公众号「渡码」