十年,说长不长,说短不短,人这辈子也就几个十年。十年,会发生很多变化,从象牙塔到职场,从懵懵懂懂的少年到职场骨干,能否在关键时间节点抓住机遇迎接挑战尤为重要。今天这篇文章的主人公就是一个不断突破自己,勇于接受挑战,实现自我价值的“技术老兵”。
工作十年,跳槽三次,四份工作
1、毕业后加入百度
我是在北京邮电大学就读的本科,毕业后被保送到了中国科学院计算技术研究所,硕士期间主要从事的是计算机系统结构与操作系统的相关研究。上学时对 Linux Kernel 非常痴迷,也做些有意思的小项目,研究生毕业后,还想着继续做这块的事情,就加入了百度系统部,从事百度 Linux Kernel 研发、协议栈优化相关工作。不过后来慢慢发现 Linux Kernel 这个发展方向比较窄,并不是有一个广泛的需求,所以考虑换一个更有发展潜力的方向。
2、一跳:奇虎 360
2010 年底加入了奇虎 360,担任 360 系统部技术经理。开始从事 Hadoop 生态子系统相关研发与应用工作。当时 Hadoop 也是刚刚兴起,又赶上可以参与 360 当时正在做的云盘、大搜索两大项目,这两个项目业务体量都很大, Hadoop 开源生态,刚好可以助其发展。在 360 快速成长了近 5 年的时间,感觉自己收获非常多。到 2015 初,360 大数据集群的规模就已经上万台了,仅服务于大搜索网页库业务的 HBase 集群也超过了 1000 台,可以说当时这在行业内也是数一数二的。
3、二跳:58 同城
2015 年加入了 58 同城,任高级架构师,技术委员会委员。工作了 2 年左右的时间,负责大数据平台在集团的研发,应用与发展。见证 58 大数据平台在 1 年多的时间内快速从小到大的过程。
4、三跳:快手
2017 年来到快手,带领快手大数据架构团队,负责快手 Hadoop 生态中存储、调度、计算、AI 架构等子系统内核与周边系统的研发与应用。快手的业务增长是非常迅速的,面临的需求与问题也是越来越复杂,此外自己所带领的团队规模越来越大,其技术上与管理上的挑战都不小,但越有挑战的事情会越让人兴奋。
技术人的自我修炼
作为一名技术人,从技术深度与广度上看,应该先有深度,然后再发展广度。工作这么多年,单从面试的这点看,我更倾向于招技术有一定深度的候选人,而不是面面俱到,但每一个方面都比较浅的候选人。因为我相信能在一个方面做的很精的同学,是有能力在其他方面也做得很深入的。
如果要做到技术积累有深度的话。个人愚见,总结起来,大概要经历三大阶段:
1、第一个阶段:技术积累期
这个阶段主要关键词:技术领域、持续性、主动好学、谨慎认真、目标性。
这个阶段主要是自主学习,强调自驱性。
技术领域的含义是:选择到一个自己感兴趣、适合自己并且有发展前景的方向。这点很重要,因为工作时间久了之后,再考虑换方向通常是不容易的。
持续性的含义比较好理解,就是想要做到深入,需在一个方向上长时间持续积累。所谓“10000”小时理论说的就是这个事情。
主动好学也比较好理解,不过能做到位是不太容易的,刚刚进入到一个领域,应该是有大量的未知内容需要了解。保持饥饿感、好奇心、多思考、究其细节、刨根问底就显得尤为重要。大量学习必不可少,还要多向前辈请教,学习他人优点。在这个阶段,可能会遇到很多阻碍,要相信自己可以,并付之于努力,培养自己总结、快速学习的能力。
谨慎认真主要表现在态度上,做事稳重、思维缜密、有逻辑性,要让领导放心。
目标性是指做事情要了解背景与目标。
能做到这些基本上具备成为技术专家的基础了。
2、第二个阶段:技术发展期
这个阶段主要关键词:方法、效率、创新、指导他人
在这个阶段主要是自我发展,从一个初学者转变为技术专家的过程。除了上一个阶段需要的能力外,还需要关注其他几个方面的发展。
方法即做事讲究方法论,例如小步迭代、做事抓重点、大问题拆解解决等。这些通常在自己的工作工程中经过慢慢体会习得。
效率是指尽可能在一个高速迭代的过程中前进,互联网行业变化很快,做事效率尤为重要。有效率说的是减少返工,减少走弯路。做事情前规划好,想好怎么做,以及实践前多参考整个行业、业界的成熟技术方案。
创新是指不要拘泥于现状,打破固有思维。当遇到一些技术或者业务问题时,可以根据具体的情况,提供更具建设性、简单、与众不同的技术方案。每当这个时候,可以再重新 Review 下需求、初衷,考虑下目前面临的问题是否有更好的解决方案。
指导他人是指,在成为技术专家过程中,通常会遇到带人一起完成一项任务或者工作的情况。这个时候要考虑怎么做到 1+1>2,而不是<1。要达到 1+1="">2 的效果,需要指导他人,让他们快速的成为和你一样有能力的人。这个阶段需要一些的技术管理上工作。因为这个阶段所做的工作通常是有些复杂的,这时需要做任务拆解、任务跟踪,业务推进相关的事情。
3、 第三个阶段:技术管理期
这个阶段主要关键词:技术发展方向、团队管理、项目管理、梯队建设
在这个阶段主要是技术管理。考虑的不是自己能做什么,而是如何带领整个团队完成更多,更有具挑战的任务。
技术发展方向是指根据公司的具体需求,可以制定出整个团队的技术发展路线。
团队管理是指怎么管理好自己的团队,提升整体的战斗力。
项目管理是指可以同时管理多个技术方向上的项目,对任务进行拆解、分配、跟进,检验结果质量等,做到按时达到高质量结果。
梯队建设是指培养、帮助他人成为专家,使得他们能够承担,并管理好更多的事情。
最后,还需要加上关键的一点,在所有的阶段过程中,都不能缺少执行力。以上是自己的一些总结和思考。希望对大家有些帮助。