互联网行业的技术管理 (2)
导言
互联网行业相对于纯传统行业是一种相对脑力劳动高度集中的行业,在其他行业看来,互联网企业是比较空洞的,“员工+电脑+桌子+老板=企业“,此外发展较为前沿的互联网企业变革、行业变革、经营模式变革,都显得充满活力,吸引年轻人。
互联网企业的发展非常迅速,各种新的发展模式,新的技术,新的需求,新的概念,层出不穷,互联网的行业主题:创新、变化。互联网企业以此为核心,创新是吸引资本的基本条件,而变化则是因为创业门槛低,仿品替代品多,产品必须变化快才能得以生存。同时也给企业管理带来一些新的挑战。
互联网技术开发团队在互联网企业地位举足轻重,整个技术团队的搭建也要符合互联网行业的发展需要,比如要适应变化,比如技术团队要能适应乃至于促进业务的发展,甚至通过技术可以适配出更好的商业模式等等。
结合互联网技术团队管理实践的经验总结。
工作态度
- 所谓工作态度,顾名思义,对待工作的态度。
- 对于一个技术团队来说,就是日常开发,问题解决,技术情怀等等。
一些日常工作场景:
- 场景一
某视频播放器开发团队,给其他团队开发出适用于移动端的播放器 SDK,便于对应的视频业务线使用。
线上运营时,总会有一些用户在使用过程中,出现花屏,非网络原因造成的频繁卡顿,问题反馈到开发团队。
播放器团队和业务开发团队都认为,这类问题的解决需要及时通报给业务团队一些技术及进展信息。
播放器团队始终都是接受建议,但是很快这种偶现问题就不出现了,问题就不了了之,过段时间再出现,如此反复。
- 场景二
开发过程中,总会遇到一些被卡壳的技术问题,总会有一些比较聪明的开发者选其他方案,回避了问题,快速完成任务。
而另外总有一些比较傻的开发者,查找各种资料,加班加点终于解决了问题,顺利上线。
还有一些开发团队,对于比较麻烦的开发
- 场景三
技术开发过程中,后台开发需要一个清单列入表中做白名单例外处理,需要终端开发提供。
终端开发想想,这边只是一个端的开发,那么多端,我也搞不清楚需要哪些白名单在业务上,也许产品应该更清楚。
产品设计者说,我也不是开发,也不懂技术,这个白名单我没法列出来。结果一个简单的白名单问题拖了一个星期。
边界问题
以上几个案例,也是日常开发过程常见的情况:
-
案例一,比较常见,个人认为比较有效的解决思路:
- 场景再现,尽可能复现问题;
- 做好针对问题的线上监控,必要的时候专门开发出有效的监控模块;
- 针对问题,组织人力,分析原因,彻底解决问题;
- 做好针对此类问题的复盘,宣讲,以及知识沉淀。
-
案例二,已经有不少人著文撰说了,很显然,直面问题会比较受人推崇的解决方式:
- 直面问题,解决问题的过程带来的学习效率远超过直接的学习;
- 直面解决问题可以有效对于系统学习带来深刻的理解;
- 解决问题后做好复盘,回顾,沉淀可以带来更有效的工作经验;
- 尽可能做好技术的预调研工作,可以更好的评估工时,保证进度。
-
案例三,这是一个对于边界问题的处理态度:
- 互联网行业是一个演化剧烈的行业,工作边界的模糊其实是一种常态;
- 需要团队成员的主动意识比较强;
- 需要团队管理者能敏锐的意识到问题的存在,及时调整;
- 需要管理者不断的回顾,复盘,调整,提高团队整体战斗力。
-
互联网行业很多人都会觉得,自己属于靠脑力吃饭的劳动者,不是直面消费者的服务人员,哪有那么多态度,实际上,所谓的工作态度,不是满脸堆笑的服务,而是有效的解决问题。有人说,解决问题的能力是最重要的工作能力,没有之一。那么解决问题显然不是体现在满脸堆笑的服务,最后却没有解决问题--- 这显然不是好的工作态度,好的工作态度体现在能解决问题上。
-
解决问题的能力主要体现在:
- 对于自己所从事的工作,有事前,事中,事后的计划和风险预案;
- 对于出现的问题有成熟的解决方案和清晰的处理逻辑程序;
- 能精准的意识到本质,可以高效的处理;
- 不仅仅解决一个出现的问题,而且可以解决一类问题,让类似问题不再出现,于无声之处做好产品和服务;
要做好互联网行业的技术管理工作,需要注意的有:
服务意识
服务意识主要体现在:
- 日常的沟通协调
- 对于可能出现问题的预见性
问题并不会总那么明显的出现和暴露,而是依靠管理者及时的区发现问题的存在,积极主动的去推动问题,解决问题与无形之中,见过的最好的管理者,是团队感受不到leader的存在,看起来没有他的存在,一切都能井然有序,但是真的离开一段时间之后,问题却总是接二连三的出现。 - 解决好边界问题
互联网行业是一个变化极快的行业,没有之一,在这个快速发展过程中,有很多的工作其实是没有那么多边界可言的,对于边界性的问题,如果都局限于自己的一亩三分地的情况下,对于边界性问题带来的更多是这些问题会变成一个皮球踢来踢去,效率最高的方式当然是更多是需要每一个从业人员的主动意识去解决问题,但是对于从业管理人员来说,及时的意识到这些皮球问题,解决这些皮球问题的存在是一个及重要的工作素养。
先难后易
先难后易,一个大原则就是总做最困难的事情。
-
一个开发周期,总要解决好最容易出现问题的地方。
-
一个项目开始,总是前期各种资源的协调,各种问题和风险的预判总是最困难的部分,前期做的项目分解越细致周到,后期执行的风险就越小,执行难度问题出现后解决的难度也就越小。
-
一个功能开发,任务分解应该是整个开发过程中最复杂的部分,如果任务分解可以做到足够的细致的情况下,后面的开发工作应该都是很顺理成章的事情了。
举个例子:
现代的很多应用的开发就是这个道理,发展到现阶段的移动端App开发,之所以开始变的入门门槛不高,主要就是因为这个行业变得成熟了,前期面临的大多数复杂问题都已经被解决了,太多成熟的框架太多的封装库可以被使用了,所以导致现在大部分的App开发者,制作最简单的业务逻辑,页面展示部分,也就是后易的那部分,自然也就是竞争力不强,但是对于那些可以解决复杂问题的移动端开发还是很有竞争力的,始终是市场上最抢手的那部分人才。
- 一个产品开发,一般而言都是基础基础组件的设计,架构设计最复杂,这些在前期做好做仔细了,后面的维护升级迭代就相对来说简单很多;