正好写2015年终总结,其实今年不太想写的,但是公司层面要求有个人总结要弄,写了个开始就情不自禁多写了一些,谈谈这方面的总结吧。
公司的技术团队负责人应该具备怎样的能力?
或者说团队Leader应该知晓和锻炼什么样的能力?
大公司、创业公司都经历过,从Leader或创始人那里学到了不少东西,自己也会慢慢总结,保持学习的状态,这里就发表一下个人想法,也参考了曾看到的优质文章和朋友的看法。
主要从业务、团队、技术三个层面讨论,当然它并不能适用所有公司,也能可引发一些口水,而且我做的是客户端负责人,所以仅供参考咯。
1. 业务
为业务负责就是为产品和服务负责,作为技术团队,总要完成主要任务不是,总要把产品或服务好好的实现不是?
业务要和上级负责人统一认知,和总目标方向去保持一致,才能更好的完成产品和商业的设计与实现,否则力道有了而方向不一致,浪费体力且难以更好的辅助决策。
不同时期Leader也发挥不同的职能,初期侧重从技术和项目实践方面打通设想和打造产品,迭代和试错,随着业务发展,能从更合适的技术、构建、架构、业务模型等方面展开专项的工作。
目前能回顾考虑到的,关于做产品(服务),关于做事情,有这么几点要说:
有一个核心:设计之始或明确任务前,想好并确定一个核心或者中心目标,严格围绕目标转,最益先做!它并不能促进完成核心目标,是最好的砍掉理由,真没有那么多资源可以用!
功能与业务:我要求团队个人应该对业务负责,而不是功能或代码。如果说功能是基石,而业务才是“生命”啊!功能与体验等“有机”组成为业务。
要理解业务:整个团队得深刻理解业务,尤其Leader更要首当其冲,仔细评估产品原型、交互设计,我们是关键人物先过初稿确定技术、运营可行避免浪费集体的时间,然后所有相关人一起过。
保持节奏感:目前采用项目拆分为周目标为核心措施。个别事情以天计,少数事情比如修紧急bug以小时甚至更小单位计。
服务可用性:我们是通过预发、灰度测试、可回滚等措施来控制发布质量,保持较高的可用性。
忠实用户群:集部分优质用户入群,保持沟通,挺重要的,微信群虽然是当为首选但是群功能有点弱,我的开源项目主要用QQ群,也比较坑哈哈。
反馈与数据:反馈和数据都是验证结果的最好的参考之一,追寻反馈背后的动机很重要,研究用户路径、功能使用等数据辅助确定下阶段任务。
低成本试错:尽量以最低的成本来试错,避免大量浪费资源,不要过早优化和扩张,先单点或AB测试,验证过后再铺开。
方法与方向:很多时候方法比方向重要,好的方法可以不断纠正方向,发布较单纯的功能来验证问题和方案,应该避免堆积功能,盲目发散方向,没有经过验证的方向就是假设。
创新与迭代:精益创业的MVP策略有助于大多功能性或服务性新创公司检验产品,而创新型产品靠产品本身和培育市场拉动需求,但都需要事实检验和迭代完善。
手动和自动:初期能手动解决的问题动手解决就挺好的,一开始就考虑自动化机器化可能会延误时间,或者高成本解决了一个频率并不高的问题。
亲为和团干:没有经过实践验证的事情负责人最好自己先亲为,才能深切体会,形成一定感知后优化,或者交给团队一起干。
灵感和总结:灵感稍纵即逝,总结过期不候!应该有自己的全端云笔记,和博客。短期记笔记,长期入博客,灵感可能就在你琐碎的一瞬间,很多东西经过三五个月一忘而光。
2. 团队
一个公司的产品和服务,是其自身组织结构和沟通、工作方式的反映(康威定律)。
人员的架构会改变和影响产品的架构,产品一大,人分组拆开了,项目也跟着拆开了,越多人一起工作就更需要科学的流程和协作方法。所以说人和组织会决定或影响产品。
如果说初期目标是打造一个良好的产品或服务,随着发展应该慢慢更着力于打造一个能开发良好产品的团队。
以下几个层面是我们去实践的几个点,其他没想到的后边再补充吧:
关于招聘:找到合适的人是关键,不要贪多贪大,创业公司招人较好的时机是不招就会死,注意避免青黄不接。交流技术的同时感受性格,性格不合适早点终止面试,相信直觉,年限、学校不重要,重要的是作品和能力。
明确职责:团队应该明确关键人物的角色,公开规定好一个角色由谁来担任,职责和指标是什么,甚至可以约定任期是多久,因为角色是活的。我的主项目里有一个PM角色(协助跟踪进度等),一个PA角色(辅助协调、构建打包等),都是主工程师兼任。
充分授权:一个完整的团队应该有充分的决策权,角色应该有比较明确的职责,可以给建议但不要随意干涉个人的职责或决策。
关于协作:我的团队就是统一IDE(idea)和构建环境,统一码风,统一版本控制策略的。合理创建Tag、Branch,尽量规范使用协作工具。
关于沟通:我的做法是让队员遇到锁事直接和当事人沟通,重要问题反馈Leader,保持充分沟通我们每周都要有一次全体碰面会议,最好有点零食。
团队提升:选定一个主题、此项以周为节奏,每人都要充当讲师,我们客户端团队已经系统的学了面向对象6大原则和23种设计模式,我们android、iOS、前端一起沟通技术。
开诚布公:私下沟通为主很多时候是解决不了团队、个人冲突的,要开诚布公的面对面谈,将冲突事情一一列出,对事不对人,根据轻重缓急,综合当前状况给出解决方案,是公司是全局是状况不能让所有人满意,而不是谁不能让你满意。
前途钱途:不谈钱就是耍流氓,不要妄图用成长压制待遇,不要总想用青春换取血汗,做得好就是要好的回报,但是也要讲规矩,一般能力先到位再要求待遇,当然其实还要看你的位置可替代性如何。
回报远与近:眼前看能力,近期看薪水,远期看期权(股份),看好公司一般略侧重期权,看空则略侧重薪水。心情、成长、待遇、期权组成一个人的主要回报,Leader应明白队员想法并努力为团队争取合适的回报。
一些福利:公司每天会买些水果当下午茶,像苹果、桔子、香蕉、哈密瓜、葡萄、etc,看季节的。员工庆生蛋糕、年度旅游、节日活动等。
3. 技术
技术负责人最好是技术水准不错,最差也要知识面广,否则可能导致疑难无法解决,产品不稳定。
我们从以下几个方面做了实践:
风格统一:团队内统一风格、规约、编译环境,开始是idea作为IDE,年底整体迁移到AS、Gradle环境开发和管理。
锻炼思维:集体学习6大设计原则和23种设计模式,理论结合实践,更深刻的认知面向对象的设计理念。
技术提升:优先完成业务,此项以更长时间为周期,在项目不那么紧张时开立个人技术项目,我们选一个方向量化形成博文或者小类库,Leader支持并协助队员完成,培养人才,各有所长。
关于类库:尽量选择稳定专注、知根知底的框架,如果没有,那就选择知名开源框架,仍要深刻研究其代码。
关于业务:我们客户端业全部的务统一构建在SDK子项目中,和View剥离,便于切到多种终端设备。
关于架构:我们核心方向其实全部使用我写的类库,由通用组件、网络、异步、数据库等组成通用的底层项目,叫做LiteSDK,任何App几乎都可以用它,可谓用之四海,它是可拆解并独立发展的,刚才提到的业务SDK项目是基于它的。
学习前沿:尽力去接触新技术吧,我们今年精力放在业务上了,2016年的技术方向涉及了React Native、rxjava、代码生成、自动构建等,虽然已不是新技术^_^。
我们第一个版本App五脏俱全,登陆、签收等业务功能、二维码扫描、友盟统计、图片加载、下拉刷新等视图开源项目,但安装包体积只有800K,极致的小。
两款App友盟总错误率目前仍在0.00%(线上App版本的错误列表还是有零星的bug列出,难道友盟总bug率计算有问题么 )。
非常感谢团队里的每一位同事,团队一起完成了这些,今年要有更好的进步和成长!2016加油。
哦对了,如果你的公司也有android app端,可以考虑下我的开源类库:litesuits.com
也能做到极致的小吧,还挺稳定高效嘿。