zoukankan      html  css  js  c++  java
  • 软实力

    这是一天一本书的第二次执行,这次选了一本比较薄的书,上周的书看了一天,脑仁疼。

    ----

    在我组织团队新兵训练营(入职之后一段时间内容集中的培训)时候,
    经常和新同事聊到一个词:软实力。
    我将其描述为专业技能之外的能力。每个人都这种能力的解读可能会不一样,
    我将其拆解为:「对工作的热情;观察力和反思能力;做计划和决策是否周全」。

    这种拆解是不全面的,「多年」以后,我意识到,硬实力考衡的是专业的能力,
    而软实力则是考衡人的因素。这种晚来的意识让我在一段时间里面,
    将自己的工作陷入困境,并且得不到解药。

    Google 的两位工程师 Brian W. Fitzpatrick 和 Ben Collins-Sussman
    写了一本书[极客与团队](http://book.douban.com/subject/21372237/),通过他们的视角,
    告诉大家想要在团队中获得成功的另一面。不要被书名误解,我觉得「开发者和团队」是更好的名字,
    虽然没那么酷。

    ![s26354473.jpg](http://upload-log4d.qiniudn.com/upload_dropbox/201602/s26354473.jpg)

    <!-- more -->

    > 要在团队中获得成功,你必须以**谦虚**、**尊重**和**信任**为核心原则。

    要做的第一件事情,应该就是沟通了。让自己成为一个玻璃玲珑人,
    其他人可以看到你的方向、目标和里程碑,同时可以看到你的进展和问题点。
    这样不但可以获得工作中的肯定,当个人的目标设定和团队出现偏差,
    又或是开发过程中在一个点停顿了太久,可以有其他人参与进来或直接伸出援手。

    这种透明度对上对下都应该如此。团队的领导,
    应当在开发周期内的早期就明确告知团队愿景、目标和设定的里程碑。
    产生共鸣的愿景可以让人对目标有渴望,对自己工作有认同。
    各位还记得中国中小学开学第一周里,大多都有一个开学典礼讲话。讲的好的领导,
    会阐述自己的教学理念,去年取得的成绩,今年的教学着重点。
    讲的差的领导就是泛泛而谈,每年都是一套话术,完全看不到长进。

    缺失沟通,还会将个人陷于单打独斗的境地,一个篮球队需要 5 个人大,
    一个人牛逼没屁用。

    提高工程质量的一个有效手段就是 CI(持续集成),将开发过程中一点点的小进展都以一种机械的方式呈现出来,
    并进行测试。另一个有效手段是 Code Review,不但推荐要 CR,更是要尽早、快速的 CR。
    避免屎积压多了拉,太臭。

    我突然想到一条实践:即便是做一个人的项目,在精简程度上也保持最小的一个阈值,
    想象明天就要长假,工作要交给别人维护,如何在交付物里面有足够的信息让其他人知晓细节。
    而不是丢给后继维护者一句冰冷的话:「看代码」。

    沟通必须是有效的,我想任何人都不想听一个嘴碎的人在那边逼逼一下午。
    有很多结构化、一部的沟通可以显著提高沟通效率:
    项目看板、设计文档、Code Review、代码注释、数据字典等。


    第二个重要的观点是,接受失败,承认自己不是无能的。你可能很聪明,但所做的事情不一定完全都是正确的,
    连上帝都会犯错,何况是普通人。犯错不可怕,但是犯错还认识不到可怕。犯错并且认识到了,
    但是拒绝承认错误的人,不是可怕,而是应该要被淘汰,这类人会极其难以合作。
    如何你周围都是这样的人,或者你上司是这样的人,也许你可以考虑换一个地方,在拉钩搜索「堆糖」试试吧。


    关于接受失败的另外一个隐含后续发展就是「成长」。意识到这个世界是动态发展的,
    「要以发展的眼光看待事物」是一个非常非常有用的认知。
    能自己意识到失败,并且会主动复盘,重新认知自己的人,往往会成长的极为迅速。
    关于成长的话题可以讨论很深,以后可以单独拎出来讨论。


    书中提到一个失败后回顾的清单:

    > 1. 简要
    > 2. 时间的时间线,从发现到调查,再到最终见过
    > 3. 事件发生的主因
    > 4. 影响和损失评估
    > 5. 立即修正问题的步骤
    > 6. 防止事件再次发生的步骤
    > 7. 得到的教训


    我就哈哈哈了,这不就是我大堆糖的故障报告模板么?

    第三点,如何成长?简单来说,去冒险,去承担自己能力之外的任务,
    去挑战没有经历过的任务。有一条[彼得定律](https://zh.wikipedia.org/wiki/%E5%BD%BC%E5%BE%97%E5%8E%9F%E7%90%86):「在组织或企业的等级制度中,
    人会因其某种特质或特殊技能,令他在被擢升到不能胜任的职位,相反变成组织的障碍物(冗员)及负资产。」。
    前半段含义是,大部分情况下面,并不是具有了相应能力才去承担,而是试着去承担任务。
    无论成功与否,对当前去挑战的人来说,都能够得到历练,从而能力得到提升。


    第四点是:成为 Leader,而不是 Manager。
    一个团队是一艘危机四伏的海面上一只船,如果没有一个船长,那么就前途叵测。
    在职业生涯的某些阶段,你可能自然成为船长,也许是一个项目的船长,也许是一个小 Team 的船长。
    那么切记,船长是 Leader,而不是 Manager,是能力综合,可守可攻,顺风时候会把舵,
    缺人时候可以顶任何岗位的船长。而不是手持大鞭的 Manager。
    我觉得新闻联播里面描述的人民公仆,就是一个很好的 Leader。

    一年多前之前和铁柱聊过,一个 Leader 是否需要要以能力服众。
    我仍然保持当初的观点:「是的」。在目标管理、方向把握上面,
    强大的技术背景可以有魄力的开展工作,挖掘新技术,推动变化。
    在遇到困难时候,可以决策、解决问题。
    这是由这个行业特质决定的,互联网是依赖创造力的脑力劳动,而不是根据人数线性增加产出的体力劳动。


    但毕竟不是每个人都一定拥有 Leader 特质,难道就要一辈子做技术得不到上升?
    Google 的一种做法,可以很好解决这个问题。分离 TL(techlead)和 TLM(techleadmanager),
    前者更着重技术,后者不但关心技术,还关心手下工程师的成长。
    用国内互联网的职责分工描述,大概就是有技术专家和团队负责人的区别。

    关于这条,书中的几点最佳实践非常棒:

    > 1. 放下自负
    > 2. 做一个禅师(保持冷静和理性)
    > 3. 成为催化剂
    > 4. 当一个导师
    > 5. 设置明确的目标
    > 6. 坦诚(三明治赞美法)
    > 7. 记录快乐程度


    最后聊一下对书本身的评价。黄易山在 Quora 写过一段非常有名的
    [为什么工程师管理这么难?](https://www.quora.com/What-makes-engineering-management-hard)。
    这本书讨论的内容要比黄易山那篇回答范围更大,讲述的也更详细(废话,这是书)。
    作者是典型的工程师,书目结构易读,第五章从反模式来思考问题非常赞。

    我读过几本技术管理相关的书籍,印象深刻的有两本,一本是温伯格的[成为技术领导者](http://book.douban.com/subject/1132623/),另外一本是此书。温伯格的行文比较跳跃、比较抽象,不容易读。
    而这本书不但通俗异动,也添加了非常具有可操作性的最佳实践。
    从创造力驱动的角度出发,技术开发者都是管理者。因为他们需要设计方案,创造价值,而不是重复劳动,
    所以我推荐每个开发者阅读。

    好了,学习够了充分的理论,下面就是做起来了,「知行合一」。

    ----

    开给自己的处方:

    * 上面提到的最佳实践
    * 谦逊:谦逊一些,低调一些,向他人学习
    * 坚毅:认准目标,稳步前行,不放弃
    * 信心:信念也许可以重建,但是对自己始终保有信心,也许会错,但是要相信自己的判断
    * 开会技巧:超过 5 人的会用单向宣讲更有效

    ----

    原文链接:http://blog.log4d.com/2016/02/team-geek/

  • 相关阅读:
    滚动菜单BUG修复
    前端之滚动菜单
    数据仓库操作
    mysql之分页与慢日志以及表知识补充
    mysql之索引
    mysql之内置函数
    mysql之触发器与事务
    pymysql操作数据库之存储过程
    复习mysql语句
    经典mysql测试题
  • 原文地址:https://www.cnblogs.com/haore147/p/7218788.html
Copyright © 2011-2022 走看看