9.26更新:
现在我已经是个多语言开发者了,让我数数我现在懂哪些……java JavaScript golang Python shell 刚刚我们部门从隔壁部门交接了一个40万行代码的项目,原来他们开发组有上百人,交接过来之后我们部门只有十几20个人来负责,所以现在的工作每天都特别特别忙,只能说走一步看一步,希望上级能够加快招人的步伐,不然的话,这样死撑下去也没有意义。。。连搞前端的都不得不来看后端的代码了………然后我才发现一个致命的事实,那就是脏代码在各种部门都是普遍存在的事情,尤其是那种被好几代人维护和重构过的项目,让你恶心的事情隔三差五都会发生……还好我们现在的项目还不是特别庞大,你要是说比如说抖音客户端,或者说头条后端那种由上千个人来完成的项目,那就是更不得了的事情了,我现在才意识到,为什么我们这些大公司要招募优秀学校的学生,因为这些学生的工作不仅仅是编写新的业务代码,更多的是去维护旧的代码,并且构思如何重构才能保持这些代码的可维护性,以及可持续发展性。把一个需求或者说业务给梳理成像工厂流水线那样,有条理有逻辑的方式来实现,像一个架构师一样,从非常高的角度来思考问题是一件极度困难的事情,这需要你有至少三年起步的工作经验,以及对于业务足够深的理解和足够的把握。所以说我们的道路还有很远,知晓工具如何使用,只是一个最基础的开始,怎么把他们用好,怎么去合理的设计整个工作流程,这些才是我们需要构思和创造性思考的地方。
5.20更新:
最近换部门了,新部门不能说阿里领导班子空降吧,但是技术栈都是阿里那一套(毕竟从那边挖的人太多了),然后现在又要学新的技术栈:k8s、thrift、轻服务、ansible……语言方面,后端语言从java换成了go和nodo.js,前端从vue换成了react,相当于又要重新学习;刚开始觉得特别麻烦,对新知识有点抗拒,难以走出舒适圈,后边花了点时间上手之后发现其实都不难,而且对编程语言有了新的理解;无论是什么语言,一定会有共性,只需要掌握这些共性,然后迁移学习就可以了。这段时间工作上的改变,对于个人来说是一个巨大的挑战,在这段时间里有很多同事离职了,他们的任务被交接到留下的同事身上,我们的任务就是把那些零碎的工作合并到大的业务框架里来:把所有业务拆成两部分,可以共用的部分抽象成组件,不能共用、定制化的业务就上轻服务,道路是曲折的,前途是光明的,虽然现在业务还是很混乱,但是我对现有的工作流很有信心,未来一定会非常有条理。
总而言之,非常感谢导师对我的帮助,无论是工作上的事情,还是个人的业务,都得到了质的飞跃。所以加入大厂一定是明智的选择,虽然需要学习的东西有很多,但绝对不是白学的,这些前沿的技术会让你视角更开阔,让你进步的速度超过在普通公司工作的同龄人。
===================
主要工作就是全栈开发,作为大厂的技术支持工程师,和小公司里的同类型岗位做的事是截然不同的,你必须要什么都会,既要有能力开发公司IT管理后台,又要有能力应急处理各种硬件软件的问题,以及有能力阅读文档和源码;所以这也是大厂从来不校招类似岗位的原因,都要靠学校或者在职者内推。
对于我个人而言,毕竟对软件开发有着足够强的热爱,在学校里就锻炼出了较强的开发能力,基本上给我一天时间,上午看文档和源码,下午就能照着逻辑开发对应功能模块了。
如果是国企,这类工作一般都是面试造航母,入职拧螺丝,然后平时会比较闲;但大厂不一样,人家一颗螺丝顶你一艘航母,所以需要做的事情也比较杂。总之每个职业只有实际体验过之后才能发现它的学问,没有所谓的高低贵贱之分~