我为什么会成为一个程序猿
一、学生时代的运气
又是一年高考日,依然记得8年之前高考结束后的日子,那3个月真的是人生当中最无忧的时光,一天没有事情,没有压力,只需要等着大学入学。其实我高考的第一志愿填的是工商管理专业,其次是金融专业,然后才是软件工程专业,选择软件工程,是因为我哥读的网络工程,当时我完全不会想到自己会被软件工程录取,也许是命运,我最终成为了一个普通一本学校的计科学生。
大学的时候,不知道当时为什么对管理那么迷恋,也许天真的我认为学管理的,未来都是当领导,所以当时还一直想转到工商管理专业。大一基本上都是学习数学,物理,英语等基础学科,那时也不知道自己读的软件工程到底是干嘛的?能干嘛的?一直到大二下学期,开始学习专业课,开始自己动手做一些小程序,我突然觉得好有成就感,逐渐喜欢上了编程。大二下学期的时候,我参加了学校的实验室,开始跟着学长们一起攻克算法难题,参加算法比赛。这时,我想我未来可能会成为一个算法工程师,成为一个高端技术人才。到了大三第2学期的时候,又到了人生抉择的时候,是读研继续深造?还是步入社会参加工作?当时女朋友是选择了继续读研,父母也希望我继续读研。可是我想了很久,在这大学三年的生活,我发现自己并不喜欢拿着书本做数学,英语题目。最终我放弃了学校的保研,也放弃了考研。开始参加学校的招聘会,找一些实习工作。很快我找到了2家武汉本地的实习工作,选择了一个全国知名的房地产应用软件及解决方案提供商企业开始实习。
当时实习的岗位是安卓开发工程师,但是我想做的却是java开发工程师。公司真的很轻松,实习的日子也很轻松,基本上不用进行公司项目的开发,都是我的导师给我出一些实验题,我自己去学习开发。日子就这样一天天在学校与公司两点一线间度过。实习了半年之后,到了大四第一学期,开始做毕设了,也很多同学开始找正式工作了。由于这半年一直开发安卓项目,日子也比较闲,我慢慢的忘记当时想做一个算法工程师的理想了,我也逐渐忘记了算法能用在工作中哪个地方。我未来真的要做安卓开发吗?我犹豫了,加上周围有几个同学都签到了知名互联网公司,我的心开始荡漾了。最终我选择了离开现在实习的公司,继续参加校招。经过半年的努力,我拿到了几个offer,最终从几个offer中,选择了平安系的一个公司,岗位是java开发工程师。就这样,大四第二学期,我也没有继续找工作,陪着女朋友在实验室一起学习,支持她考研,最终她考上了研究生。
二、职场中的新手
不知不觉,就到了毕业生入职的日子。初到深圳,我觉得这个城市的天气真好,这里的高楼大厦,这里的路面比我见过的其它城市都好,但是这里的房价很高,为了节省开支,我选择了跟其他入职的同事一起合租。公司的培训体系很完善,入职前两个月我们都在培训,从中我了解了公司的技术框架,了解了公司的历史,我突然很自豪,我能在这样一个世界五百强的企业学习工作。我被分配到的是一个信贷部门,平时一边学习着技术知识,一边学习着信贷业务。入职一年后,我发现目前在工作上用到的技术都能够使用了,自己也能独立开发业务功能。这时,有时间我开始学习一些工作上没有用到的技术。
大公司有大公司的优点,先进的管理,复杂的业务,完善的培训体系,优秀的同事,我成长了很多。但是最大的缺点就是螺丝钉,我每天写着重复的业务代码,很多底层框架,新的技术都有专业部门同事开发,我们只需要接入使用就行了。我遇不到书中所写到的海量数据,高并发,读写锁。工作三年了,我可以跟别人侃侃而谈贷款产品业务流程,但是我发现跟别人说不了最新的技术,说不了复杂的技术框架,说不了底层源码。我在思考,我好像慢慢的向业务方向发展了,这是我想要的吗?加上当时一起入职的同事都跳槽了,拿着更高的工资,我的内心又开始荡漾了。这时,我的女朋友也研究生毕业了,开始入职深圳的一家知名企业,从事计算机视觉算法开发。我突然感觉到压力,这三年多的生活让我很放松,我逐渐迷失了自己未来到底想做什么,目前的薪水也被倒挂,我也想跳槽了。但是这三年多,我没有面过试,我可以找到工作吗?鼓起勇气,我开始在拉钩上,58上写简历,可能是目前这个公司的平台不错,我很快收到了很多公司的面试。我一边面试,一年复习知识技术点,总结项目经验,总结面试经验,拿到了几个offer。由于我的目标企业是金融行业,这些offer中不乏知名金融集团,年轻的我,为了提高自己的技术能力,为了更高的薪水,最终选择了一个刚成立一年的互联网金融企业。
三、中级程序猿的成长
这几年,很多大的互联网公司都在进军互联网金融行业,新公司也有着知名互联网公司的背景。刚入职时,公司成立差不多一年,总员工不到100人,技术大概60人。新公司用的技术都比较新,后台框架用的是springcloud,相比我之前使用的老技术,兴趣一下就提升了。我招进来是为了搭建一个新的运营活动系统,所以我跟另外一个高级java工程师,一起996,用了1个多月的努力,项目成功上线。这个系统可以支持公司所有产品的运营活动功能。这一个多月,我感觉我的技术能力比去年一年提升的还多,搭建基本项目框架,底层代码封装,kafka的搭建和封装,Maxwell的引入,linux服务器搭建等等一系列的东西。以前接触不到的技术,现在都接触到了,我的学习欲望变得愈加的强烈。现在新入职已经一年多了,公司从最初的100人到现在的400多人,公司发展的很迅速,每个员工在工作能力和报酬上都得到了满意的回报。当时跟我一起搭建运营活动的高级java工程师也升职为分组经理了。随着业务的稳定,我现在又处在一个迷茫的时期,很多人工作5年,8年还是一个中级程序猿的水准,还在进行着重复劳动力地编码。我的未来到底是一直向着技术发展?还是转向管理?或者开启自由职业.......我真的一下迷茫了,接下来我会好好规划一下未来几年的目标。
四、写给毕业生的建议
现在也是毕业季,我带过的两个去年毕业的学生,前段时间刚刚离职了。现在的毕业生跟我们当时毕业时的想法有些不一样,他们受不了委屈,感觉不到压力。我觉得一个新人刚步入社会,要理解社会不一定完全公平的,不是你付出了马上就一定会有回报(在深圳这个地方,只要不断努力,长期基本上还是有好的发展)。也许你会看到某些技术能力不如你,工作没有你努力的同事,但是会来事,在福利上比你获得的要好,就觉得很不服气,把这种情绪带进工作中,这样对自己和对公司都不好。每个公司在不同阶段都有自己的问题,每个人都会遇到奇葩的事情,但是提高自己的能力,一定是你在这个社会安身立命的基础。祝愿你们在新的公司能够发展的更好。