原文: 12 years, 12 lessons working at ThoughtWorks

作者: Patrick,ThoughtWorks的技术主管兼敏捷顾问

编译: 孙薇

本文作者在ThoughtWorks工作了12年之久, 回顾了往昔工作之后,他得出了12条经验心得,下面会具体说明。


1. 工具无法取代思考

在我多年的咨询生涯中,每当坐下来与管理者合作解决问题时,经常会遇到这样的情况:管理者认为某个工具能“解决”指定的问题。如果这个问题所涉及的领域很好理解、特例不多,同时每个人都能按照同样的方式来工作,管理者的这种想法是能够成功的。不幸的是,大多情况下事实并非如此。

我目睹了太多次这样的失败:管理者在公司里推行某款工具,而这个工具有特定的运作方式,结果不但没能解决问题,还妨碍了其他解决问题的努力。工具应当是有所帮助的:帮助人们防止已知的错误产生,帮助我们记忆重复性的任务,而不是取代思考本身。

2. 如果公司的管理者团队不懂其价值,那么敏捷“转换”就很难奏效

很多管理者都会犯这样的错误——只要求相关人员“采用敏捷”,但实际上公司里的其他人也是需要向敏捷转变的。在企业中进行这方面的协调会花费大量的时间,并要求对公司不同层级的人员进行同步转变有着丰富的技巧经验。

只在一部分人群中采用敏捷的公司将会面临实际的威胁,正如Martin Fowler所说:“要么改变你的公司,要么换家公司”。

3. 学习需要安全感

学习需要犯错,在技能获取模型中,尤其是新手进阶级的人群需要通过犯错来学习,但如果大家觉得自己会做错事,失去同事的信任,或者还可能祸及进程中的其他人,就不会冒险去犯错。

我是一个热爱教学和学习的人,因此我为人们留出了犯错的空间,让他们可以犯些必要的错误,从而学到经验。

4. 所有人都能成为领导

这个话题我曾经触及过,不过它值得再次重申。常见的心理模型陷阱在于:人们只有在觉得自己想做领导时,才会表现出领导的行止。无论头衔为何,事实证明人们是有潜力成为领导者的,只要他们肯对某项没有明确要求或期望的任务付出行动。

5. 架构师在编写代码时作出最好的决策

在我主持的Tech Lead课程中,我会建议所有技术主管将30%的时间用来编程。将时间花在编程上有助于构建信任、尊重与对当前系统的理解。无视当前的系统来做架构方面的决策,往往只能作出差劲的决策。

6. 需要有改变的勇气

极限编程其中一点就是勇气。在担当领导职责的时候,冒着犯错风险的时候,尝试某样新事物的时候都需要勇气。如果没有风险,通常也没什么回报。

7. 对构建信任而言,言行一致非常重要

有句老话说得好:“依其言而行事,勿观其行而仿之。”事实上无论你说什么,人们首先记住的是你怎么做的,保持言行一致就是确保你的行为与言辞一致,言行不一致会破坏信任。回答“不”或者“现在不行”要比承诺一些做不到的事情好太多。

8. 结对编程的成功与优秀的合作息息相关

尽管并非所有的结对编程环境都很健康,我确信在进展顺利时,团队的合作文化会更佳。许多开发者偏爱基于(长期)分支开发的反面模式,这样一来包括反馈以及与来源潜在冲突在内的一切就会被推迟。

我认为(可导航的)冲突正是团队合作的健康标志,在对长期分支进行代码审查时,如果推迟反馈,则会因交付过迟而造成更多不满。

9. 多样化思考会产出更强大的成果

我在读大学时最喜欢的学科是“哲学导论”,那个学期我们每周都要研究不同的哲学家。在我的职业生涯中,我逐渐懂得欣赏多样化的价值,并通过多个角度来看待问题。系统思维也承认,事实有多种诠释方式,可以引出新的概念或解决方案,也许能带来更好的效果。

10. 欣赏每个人的不同优点

每个人都是独一无二的,所有人都有自己的优缺点。尽管我们倾向于寻求志同道合者,但有着各类不同优势人才的团队更为优秀。在某个领域的优势,在特定情况下也许会成为劣势,而结合各类人才优势的团队则会更加强大。尽管不同的优势会带来冲突,但健康的团队能够欣赏彼此间的差异,而不是互相憎恨。

11. 学习是终其一生的任务

我们周围的世界时刻不停地改变着,因此我们总有机会学些新的技能、技术或者工具。甚至,我们可以学习如何更好地学习,有很多《软件者开发线路图》(Apprenticeship Patterns)以及《前20个小时:如何如何快速学习新技能》(The First 20 Hours)之类的书籍可以让你了解这方面的经验。

12. 积极的影响造就幸福感

著名的《Drive》一书讨论了人们如何通过朝着特定目标努力,来产生幸福感。在我的体验中,这一点经常能够帮助人们找到办法,对他人产生积极影响,这也是为什么Pillar 2(推动IT变革,追求软件卓越)及Pillar 3(积极提倡社会和经济公正)的价值对于我们来说如此重要。

结论

以上12点总结并非我在ThoughtWorks学到的所有经验,但它们确实是我与客户合作时的法宝。

原文地址:http://geek.csdn.net/news/detail/70026


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

在ThoughtWorks工作12年的技术主管,所总结的12条技术人经验相关推荐

  1. 【历史上的今天】12 月 3 日:世界上第一条短信;Fortran 语言之父诞生;百度贴吧上线

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2021 年 12 月 3 日,在 20 年前的今天,电动平衡车(Segway)问世:电动平衡车是一种电力驱动.具 ...

  2. html5简单动画效果代码,分享12个简洁漂亮的纯CSS3进度条特效动画代码

    进度条是很常用的一个用户体验项,用于表示事件的处理或加载状态,制作这些loading进度条我们通常会使用GIF图片来实现,但是这方法也有一些弊端,比如我要放大或改变颜色,这样就不好处理了. 要解决这些 ...

  3. 造轮子是什么意思_聊聊在阿里工作一年的收获,什么是真正的技术能力?

    应当如何面对线上的异常/故障 看起来毫无意义的一个问题,碰到线上异常/故障如何面对,排查解决了不就好了,但是这真的只是第一层. 最近在想"消防"这个词语很有意思,它其实是两层意思: ...

  4. 对话月薪10万的技术老兵:技术人如何开心工作、快乐赚钱?

    从技术支持到资深技术专家 4次转型 他花了13年 从打工者到自由职业 实现生活由自己掌控 他花了2年 ◐ ◐ 安晓辉,2002年入行做技术支持:2年后转型做技术开发:2008年开始带团队,走向技术管理 ...

  5. Dockerfile+elasticsearch7.12.1(配置密码及证书)+kibana7.12.1+cerebro0.83搭建集群

    文章目录 前言 一.制定自定义的ElasticSearch镜像 1.Dockerfile文件内容如下: 2.执行构建镜像 3.推送镜像 二.docker-compose等配置文件 1.docker-c ...

  6. 一个12升牛奶杯子,装着12升牛奶问题

    一个12升牛奶杯子,装着12升牛奶,另外还有一个8升和5升杯子,求  用最少的步数倒出6升的牛奶???? 思路:这是一个汉诺塔变异问题,考察的就是对状态的理解. 我的解题:  将12,8,5各看做一个 ...

  7. 不一样的技术人工作、面试指南

    最近面试了很多人.可我今天并不想以面试官,或者求职者的角度来说工作和换工作这件事.而是以一个 30 多岁过来人的身份,分享一些自己的经验和思想. 找工作之前,什么准备工作最重要 "不用等待下 ...

  8. 哪些书是技术人必看的?先推荐12本吧

    一直以来,有很多朋友会问我: 要提升某个方向,要看什么书? 你作为架构师,看过哪些书? ... 看书是技术人提升的核心渠道,世界读书日就在本月,这个周末我把自己的书架翻了一遍,准备后续把自己这10年读 ...

  9. 苹果x微信语音十秒就断_苹果解释iPhone 12设计初衷;微信回应语音进度条功能...

    Hello 大家好,这里是「科技V报」,我是@龙二Pro,昨晚9点之后,iPhone 12系列的媒体内容就正式解禁了,铺天盖地的开箱.上手.评测基本霸占了我们的社交圈,当然了,这主要还是因为大家对于今 ...

最新文章

  1. 产品图片无缝水平滚动效果代码
  2. 关于c语言中负数位移位操作的漫谈
  3. python创建线程_多种方法实现 python 线程池
  4. 【论文学习】RepVGG: Making VGG-style ConvNets Great Again及网络重参数化的用途及效果分析
  5. docker的安全管理与TLS/LLS加密通信
  6. 让程序间隔执行并可以停止
  7. 【ElasticSearch】es ResourceWatcherService 的 初始化 启动 源码解析
  8. java学习--基础知识阶段性总结--JDK5新特性
  9. inster into java_SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
  10. Wowza服务器系列(1):介绍
  11. 传智播客黑马程序员28期JavaEE基础及就业班视频教程
  12. vss跟tfs_从VSS 2005迁移到TFS 2010后,VS 2008出现“差异”错误
  13. 计算机怎么恢复初始设定模式,电脑的Edge浏览器怎么进行重置使其恢复出厂默认设置...
  14. 判断DataTable中否存在指定列
  15. caniuse-lite is outdated. Please run: npx browserslist@latest --update-db
  16. win10浏览器html乱码,win10系统浏览器字体乱码的解决方法
  17. 4.3.1 求绝对值
  18. 2020vue运行出现ESLint is disabled since its execution has not been approved or denied yet. Use the ligh
  19. 你肯定想学习的顶级Python项目(附代码)
  20. 日志组的状态:CURRENT、ACTIVE、INACTIVE

热门文章

  1. NYOJ -123 士兵杀敌(四)
  2. 关于c/c++/obj-c的混合使用 (2010-06-22 10:05:33)
  3. SUSE10下配置FTP服务
  4. 编译AjaxControlToolkit发生错误如何解决?
  5. .NET Core程序瘦身器发布,压缩程序尺寸到1/3
  6. 快速理解ASP.NET Core的认证与授权
  7. RabbitMQ 处理过慢,原来是一个 SQL 缓存框架导致的 GC 频繁触发
  8. 持续集成、持续交付(CI/CD)开篇,先来唠唠嗑
  9. 为啥 .NET 自带的 JsonSerializer 无法序列化 Field ?
  10. 运维小姐姐说这篇Consul集群和ACL配置超给力(保姆级)