熊克斐:技术夜未眠 从码畜到CTO

点击查看活动详情:https://t.csdnimg.cn/L4B8

社区介绍: CSDN高校俱乐部是公益性技术社团,以提升高校大学生技术能力、为行业提供人才储备、为国家数字化战略贡献力量为使命,链接高校、企业与行业,推广开源技术,落地产教融合,提供讲座、竞赛、认证、测评、就业。

社区之星推荐语:熊克斐,从事研发工作十余年,曾管理一线大厂近200人的研发团队,也曾作为技术合伙人连续创业,至今仍在技术一线摸爬滚打。

序言

本人自参加工作以来,已从事研发工作十余年,曾管理一线大厂近200人的研发团队,也曾作为技术合伙人连续创业,至今仍在技术一线摸爬滚打。

我个人的成长经历并没有什么光环加持,和绝大多数的普通人一样,磕磕绊绊,一路向前而已。

记得我在初入职场之时,曾经满怀期待,希望在公司里能有幸结识前辈高人,不仅能教我牛逼的技术,还能给我一些职业发展建议,让我少走点弯路;也曾经摩拳擦掌,希望自己能够参加各种大赛,组队过关拿奖,各种荣誉加身,身价倍增。

然而这些都没有。

我想,即便是到今天,对于大多数的职场新人,甚至是即将毕业的大学生而言,这仍然是两个可遇不可求的奢望。

社区之星:熊克斐

 

毒打

我并没有遇到想象中的牛人,倒是遇到了现实中的狠人——一个追求完美到极致,甚至有点「变态」的小Leader。

之所以说「变态」,是因为对于我这样只会写代码的程序员而言,要强迫自己写出漂亮、工整且通顺的文档,简直就是一种折磨——我怎么能干这种低级又没有技术含量的事呢?这是我当时最真实且朴素的想法。

但那个时候因为初入公司不久,不得不在领导的要求下承担起维护现有产品的「重任」,其中的任务之一就是整理文档,而且是从零开始。

我依然很清楚地记得,那是个用JDK 1.5写的计费产品,而且代码里有当时最新的泛型特性,对我这个PHP程序员来说,简直是爆击+1。因为完全不懂,感觉自尊受到了严重的伤害。

由于既没有清晰的注释,又没有可以问问题的人,叫天不应叫地不灵,简直是无从下手,再这样下去就要GG了。我也想过干脆辞职算了,不受这份罪,但倔强如我又不甘心就这么灰头土脸地滚蛋大吉。

没办法,只好自力更生,技术上也从零开始,自学Java。还记得那时住在家里,离公司比较远,每天上下班要坐近四个小时的公交车。我就这样在公交车上、在每晚熬夜到凌晨的灯光中、在领导逐字逐句逐标点逐段落审核的毒打里,咬碎牙坚持了小半年完成任务。

自那次摧残以后,再遇到写任何的系统文档、用户手册、功能说明、汇报请示、商务书函,我都是信手拈来,下笔如有神,而且也顺带把将近1000页的《Java编程思想(第三版)》全部啃完了,愣是一页都没落下。

凌晨两点的回家途中

 

契机

学习了Java这种纯面向对象语言,感觉自己已经停不下来了,包装类、注解、泛型、集合、多线程,这些以往的编程语言中都没遇到过的东西,一下子就吸引了我全部的注意力。

可惜那时候没有什么面试题库,也极少有Java开发者大赛之类的活动,更是完全没有那种能够直接能得到大厂认可的「通道式」认证。只能靠自己努力「混」点经验,再加上若干轮面试才能进心仪的大厂。

可能是由于之前文档写得好,加上肯钻研,很快我就被提拔委以重任——一个十几人小团队的leader离职了,我成了这个小团队的新领导。第一次当领导还很不习惯,没等到自己可以吆五喝六的时候,就发现了一个问题:这十来个小伙伴有的技术比我好,有的经验比我丰富,有的年龄甚至比我大,凭什么要听我的呢!

后来找关系比较好的一哥们私下约饭了解情况,那兄弟说前任领导不光技术不咋地,并且也不关心团队的成长,搞得所有人都怨声载道,应该是灰溜溜地走的。如果新的leader能教大伙学点真正的技术,再多争取点项目奖金,多搞点福利,再代劳报个销,没人会有理由拒绝。

这也第一次让我明白了一件事:领导并非表面看起来那么好当,就像鸭子划水似的,水面上纹丝不动,水下却是拼命蹬脚。那时还没有所谓的「底层思维」或者「第一性原理」这样的说法,我只是觉得仅仅会简单的coding搬砖显然是无法服众的,索性干脆从一些主流框架的源码开始,学习借鉴它内部的工作原理和机制,自己今后工作中也可能会用得着。

得益于之前扎扎实实自学Java的经历,在深入读源码的过程中并没遇到太大的阻碍,像Java线程、JVM、设计模式之类的都能轻松理解。而且还借着实际的业务开发场景,又学会了Python语言和DevOps相关的东西。

感觉这时的自己,不管是在业务领域上,带领团队进步上,还是在技术能力上,都已经有了很大的进步,完全不是几年前的那个我了,整个知识体系也更加完整。

而且那时候也产生了「挪个窝」的想法。神奇的是,不仅想到,而且居然也顺利地做到——进了自己心仪已久的一线大厂。如果用一句话来形容我那时的心情,只能叫「苍天不负有心人」吧。

因钻研技术需要所购买的书籍

 

 

升华

由于业务发展极其迅速,所以像我这种有十来人小团队管理经验的新人,刚入职不久就被破格提拔为40人团队的负责人,之后我带领的团队不断发展壮大,一路水涨船高,从40到60,从60到90,从90到150,最高时接近200号兄弟。

从管10多个人一下子到要管接近200号人,对我来说,就像从一个小池塘一下子进到了大江大河之中,新的技术、新的管理方式意味着需要克服的知识屏障和思维定势也是巨大的。 也因为发展过于迅猛,导致新部门很多地方都既不成熟也不完善,漏洞百出。那段时间,每天都会有十几人到我这个团队来报道,还需要承接一些其他地域、产线对接过来的业务订单,压力极其之大。

管理相关的书籍

就在这时,公司之前上线的一款产品由于功能缺陷而被黑灰产恶意薅羊毛,公司把这个很光荣的「拨乱反正」任务交给了我。没有熟手、没有自动化、运维还未到岗、缺乏链路追踪,甚至都没有可供分析的日志,而且还涉及到多个上下游系统的连接调用,简直不要太酸爽。

没办法,一切都通过最原始的方式进行:一组开发工程师逐个拉出分支代码,另一组工程师将线上数据库通过备份方式恢复到本地,再由一组测试工程师在本地复现BUG,开发手动打断点调试,并且一条条地分析数据库的数据,查找可能发生的漏洞。

就是通过这样原始的方式,一步步地追踪溯源,好多次和团队成员们一起加班到凌晨一两点,最终锁定问题根源在于典型多线程环境下的「超卖」问题,加上接口未做安全限制,被某些恶意用户疯狂薅羊毛。

与小伙伴们在进行讨论分析

知道问题所在,也并不意味着就能很容易地解决。再解决问题过程中,先后尝试硬同步、分布式事务等诸多方法,但效率及性能方面始终无法令人满意——又是几个不眠之夜过去了——最终利用MQ和任务调度,通过可靠消息的最终一致性,低成本且高效率地完美解决问题。

类似这样的问题还有好多,但每次克服问题之后,都会学习到一些新的东西,也会重新认识所掌握的技术。而且,在带领这样一个大型软件研发团队的过程中,我个人对于产品、技术、管理和团队,也都有了完全不同于以往的一些认知,比如以往的项目管理都比较注重计划和管控,包括人月、进度和文档,但实际上对于迭代周期既短且快的互联网技术团队而言,PMP有点僵化且无力。即使是敏捷开发,在每家公司的具体实现中,也是不尽相同。

 

回归

记得第一次作为技术合伙人创业是一个比较偶然的机会,作为一个有梦想的咸鱼,希望通过抓住可穿戴式设备的热潮实现赚点小钱的愿望,也给自己爱折腾的性格一个交代。所以在略加考虑之后,毅然放弃升职加薪的机会,辞去大厂工作,和合伙人一起折腾创业。

其实在创业之初,包括在还没创业的那些年里,我个人对创业的认识只是停留在感性层面,觉得只要哪天辞职了,搞个产品,做好技术,就能拿到融资,最后上市。等到自己挽起裤腿下场参赛的时候,才知道什么叫「理想很丰满,现实很骨感」。创业所谓的光鲜靓丽只是纸面上的宣传而已,媒体也只会报道最终「成功」的那一个,而倒在创业路上的另外九十九个,注定都是些默默无闻之辈。

在最初的那段时间里,其实我是极其不适应的,从租办公场地,到办公环境的布置,到硬件服务器、开发用计算机的购买,再到JD文档输出、持续面试工程师、业务架构设计和编码,运营、产品、设计、开发、测试、运维一肩挑,7×16小时连轴转,做的事情既多且杂,处处都要操心,凡事亲力亲为,各种既苦且low,完全不是我想象中那样喝着咖啡抽着烟,敲着代码聊着天的轻松惬意。

不过也正是因为这种特别接地气且残酷的历练,让我能够从一个更高的层面看到公司规模不同、行业的不同、市场地位的不同所导致的对业务、产品、技术、运营等各种角色的影响和制约。

这也反过来使我明白了很多之前在大厂不太理解的事情,比如为什么要砍掉基层的脑袋、中层的屁股和高层的手,为什么要用这样的技术而不用那样的技术之类的问题。

创业时做的第一款产品

 

建议

回顾这些年,其实自己走的弯路也不少,主要原因也就在于开始说的那两点:没人带瞎折腾和通道少起点低。找到靠谱的通道、靠谱的人真的很重要,「找到谁谁谁可以少奋斗X年」并不是一句玩笑话,如果有一帮志同道合的小伙伴能一起学习、打拼,互相鼓劲,请务必抓住并珍惜,因为这样的机会实在是凤毛麟角,可遇不可求。

细细思考就能发现:听、说、读、写是四种极为稀松平常但又如此重要的能力,以至于大多数人不仅总将它们混为一谈,而且也因为它们太过平常总是忽视。

实际上,优秀的销售人员总是善于听和说,而优秀的作家总是善于写和读,一个优秀的技术管理者既要像销售人员那样不断地宣扬自己的主张、价值观和真实想法,也要像优秀的作家那样不断地有所积累和沉淀。

基础很重要,现在很多看似复杂牛逼的东西,比如JVM、Cache、MQ、RPC、Transaction,实现原理并不复杂,只是由于很多同学志存高远,想一步登天造火箭,却忽略了脚踏实地地拧螺丝而已。

猥琐发育,有机会打野就去打一下,别浪就行。一点点积累,抓住每一个机会,积小胜为大胜,逆风翻盘不是梦。

CSDN高校俱乐部,是一个由全国各高校在校生代表自发加入的IT技术学习型组织。

CSDN高校俱乐部由此搭建起行业与校园之间的桥梁,以公益形式技术爱好者提供行业资讯、技术学习、专家交流、技术竞赛等学习服务。和俱乐部的结缘,源于一次偶然的机会。经过几个月的接触和了解,俱乐部让我找到了刚出大学校园的感觉,也让我愈发对俱乐部充满了信心,这种信心不仅来自于对俱乐部必然成功的期待,也来自于对这么多优秀学子必然能够学有所成的祝福,也想把自创的一首小诗送给俱乐部:

百川奔流意气生,穿江入海展乾坤;

无惧化雨从天落,巅峰为池日月争。

 

  • 121
    点赞
  • 195
    收藏
    觉得还不错? 一键收藏
  • 53
    评论
评论 53
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值