秘密:从程序员到领导者的微妙之处

读到一篇关于程序员、领导力和领导者的好文章,翻译过来分享下。借用一句文中的话:“好吧,我只是个程序员,为什么需要领导?” ,读完你就知道了。


做一个优秀的领导者可能不是大部分程序员会立即认同的东西。许多人的脑海里立即浮现出这样一种形象:宏大的讲台与高昂的演讲。

然而,让我们看看塞斯·高汀(Seth Godin)对领导力的定义:

领导力的秘密很简单:做相信的事,画出一幅未来的图像。去那里,人们自会跟随。

突然之间,领导力似乎唾手可得,就像是每个人都能做的事情。领导力并不是仅保留给那些被授予权力的人,比如 CEO,CTO 或公司的创始人。

领导力可能是你缺失的一块,它能让你的职业生涯跨越一大步;领导力也可以是一种工具,它能解决你代码库中遍布的大隐患。

也许我们想要成为一位优秀的领导者,然而领导者们为了获得他们的影响力与尊重,所做的事情比表面上看起来更微妙。优秀的领导者具有一些微妙的习惯和行为,他们把这些习惯融入了日常的互动与关系之中。

好吧,但我只是个程序员,为什么我需要领导?

领导力发生在所有的层级上,不仅仅是 CTO 或创始人他们才能领导,领导力可以来自组织架构树的任何层级。由于大多数程序员都处在执行层面的核心位置,所以他们有绝佳的机会注意到效率问题,并带头创新。

领导力让你与众不同。那种 “我只是一个程序员” 的心态会严重妨碍你的职业生涯发展,一个技术熟练又善于领导的人将会脱颖而出。

你可以一边领导一边写代码,变成一个领导者并不意味着放弃你作为程序员的日常工作。领导者是一个有想法的人,他有足够的勇气来描绘一个愿景,并坚持不懈地追求它。你甚至可以带领你的团队走向一个技术愿景,这个愿景将你与你所热爱的开发工作更紧密地联系在一起,而不是让你远离它。

领导力是永恒的。你使用 Java、C 或 Ruby 编写代码的能力可能会随着时间的推移或语言、平台与需求的变化而减弱。然而,领导一个团队走向成功的能力是永恒的,而且永远是人们所需要的。

领导力需要时间,培育领导力需要时间。也许,当下领导团队不是你的优先事项,但在未来,你很可能发现自己要么处在一个领导位置,要么想要成为一个领导者 —— 那么现在做好准备可能是个好主意。

领导力将给予你在团队中的影响力。对如何改进代码库有一个很好的主意?想要使用一种新的编程语言或框架?对新产品有一个好主意?棒极了,然而,严酷的现实是,每个人都有想法。问题是:你能实现它们吗?领导者是这样的人,他们的想法才会被倾听并且推动其前行。

那些推动变化的人才会获得奖励。你的头衔可能是 “软件开发工程师” 并且容易陷入这种身份认知。然而,你不仅仅是你的头衔。你被雇佣来解决问题(诚然,主要是用代码解决问题),为了解决问题,你要能够利用他人的力量和经验 —— 这就是领导力。当你实现了改变并产生了影响,你就会得到回报。不要坐等改变 —— 让它发生。

英雄般的传奇程序员一直是个神话,没有程序员能够单独完成任何事情,软件开发如今成了一项团队运动。为了取得成功,你需要能够让周围的人支持你或你的团队。如果你能证明你能激励一个团队,让他们行动起来,你就会变得无价。

并不存在十倍效能于他人的程序员,但的确有让 5 个队友技能倍增的程序员。

成为一个领导者不是那么简单的任务

做为一个初级程序员,当我第一次尝试成为领导者时,我犯了一个巨大的错误:我模仿周围的人。我痛苦的发现我的作法是多么的天真,并了解到领导力比我最初想象的要微妙的多。

事实上,我是在健身房学会了领导力课程。我持续健身有七年多了,我观察到在每个健身房都存在一种新手现象,让人想笑,他们都在做一样的动作,无论我走到哪个健身房都一样。

这些新手到底有什么共同点?他们直接复制与模仿他人。

想象一下:你正在完成你的第一次锻炼,然后走开,开始你的第二次锻炼。一旦你离开,回头看,你就会发现一些健身新手就在你身后,像影子一样模仿你的一举一动!

当你对一个领域知之甚少,照搬别人似乎是有意义的。但是,以我的经验来看,这是一个巨大的错误。

在健身训练中,实质发生在表象之后。高级健身会员可能会通过做一些你看不到的事情来获得你想要的成果。

作为一名新手,我没有意识到高级健身会员训练中的以下几点:

  • 他们已经策略性的分析了自己的弱点

  • 他们在用不同的方式加固他们的核心

  • 他们专注于建立 “思维-肌肉” 的联系

所有这些都无法被明显地观察到 —— 这些就是其中的微妙之处,就像高效领导者的行为一样。

当你观察你的资深程序员或团队领导时,你可能没有意识到他们在幕后投入了多少基础工作来支持和鼓励团队。

一个资深程序员在弹指间驱动团队的强大能力,可不是朝夕之间建立起来的 —— 并且这无关乎他们有多好的编码能力。多年来,他们的影响力被持续精心打磨,并在其所加入的所有团队中被精心实现。

我在我的第一个领导角色中犯下的 “复制错误” —— 我模仿其他人看上去是如何领导的 —— 创造了一种不真实,机械且虚假的风格。我没能观察到领导力的微妙之处。我当时以为领导是这样的:

  • 委派任务!

  • 发布命令!

  • 表现权威!

好尴尬!(如今想来)

我错过了什么?一个简单的事实:好的领导是支持与说服的大师。

仅仅观察一个领导者的行为,只会给你全貌的一半。

作为一名程序员,当你想让你的想法获得通过时,你需要能够理解他人,理解他们的动机和他们的需求,以便得到你想要的行动与改变。

领导者的微妙习惯

好吧,我想你已经确信成为一个领导者对你做为软件开发工程师的职业生涯来说是很重要的,但你该如何去做呢?

1. 领导者基于同理心控制自己的情绪

当我们对批评或困难作出情绪化反应时,结果可能很难接受。领导者需要保持平易近人的态度,这样他们的队友就会觉得可以对他们保持开放与诚实。做为一个领导者,你想要诚实的信息而非糖衣包裹的美化物。

为了实现这种情绪稳定,领导者们一直在努力理解他人的感受。

在对情况作出反应之前,好的领导者会作出如下思考:

  • 为什么其他人是以这样的方式感觉的

  • 为什么其他人是以这样的方式行为的

  • 为什么其他人会说这些话

例如:你可能评审了其他程序员的代码,而他们对你的反馈感到不快。一种未经考虑的情绪反应可能会对你们的关系产生负面影响。

你可能会想:“但我写下这些评价,是因为我想帮助他们啊!”。

尽管有这样的想法,一个好的领导者还是会花一点时间去理解他们同事的观点,并意识到批评有时是很难接受的。考虑到这种更有同理心的反应,你可能会平静地解释所要求的改变的目的,甚至可能会主动提出结对编程。

2. 领导者建立个人关系

非正式且个人化的探讨建立信任。

成组的 “团队建设” 有它的作用。优秀的领导者不仅要花时间在团队环境中,而且要寻求与团队成员进行一对一的高质量的交流。个人与个人相处的时间让你有机会在更有意义和更个人的层面上与某人建立联系,这会建立你们之间的信任。

结对编程是建立这种一对一信任的另一个重要机会。与其他团队成员坐在一起,帮助他们一起完成工作。与他们分享你的知识,保持耐心与理解。

编码可能是个相当孤独的游戏。尽量找到机会,花一点时间与队友远离键盘。一起吃午餐,或者在他们戴上耳机潜心代码之前,激发起一些关于周末安排的交谈。这些对建立关系的小投资将会获得长期的回报。

3. 领导者不做评价(Don't Judge)

领导者期望深思熟虑的冒险者为自己工作,他们希望围绕在自己身边的人能够自我驱动。

为了更好地给予帮助,领导者不去做评价或嘲笑周围人的决策,这样做会削弱领导者的权力与影响力。

当你的队友意外提交了一些他们不该提交的代码时,会发生什么?你会谴责他们吗?当众说他们是笨蛋?还是帮他们私下清理干净,甚至承认你曾经也犯过很多次类似同样的错误?

谦卑一点,行将至远。

4. 领导者给予反馈

领导者优先考虑他人。

领导者以建设性的方式向同事提供反馈,以支持他们的成长。他们把团队的最大利益放在心上。

作为一个程序员,到处都有提供反馈的机会:最困难的部分是有勇气以建设性的方式表达自己的感受。

当一个团队成员主持一次正式会议,一次敏捷站立会,一次复盘等等,抓住机会,提供一些你认为哪里是好的和哪里还可以改进的洞察。

记住,一个好反馈的核心在于意愿 —— 你希望其他队友或程序员知道你提供反馈是因为你想帮助他们。

5. 领导者慷慨而公开的赞扬

领导者表现得正面积极时会更有力量。假如你是一个充满活力的人,当你离开后也会被想念。当你看见某人做了一件了不起的事情时,要特别强调它,并且公开地这样做。

赞扬能在团队中产生最大的影响。好的,公开的赞扬建立起了那些被你赞扬的人的信心,并让别人有机会模仿这样的行为,从而获得同样的赞扬。

赞扬的好时机 —— 包括敏捷计划会,每日站立会和复盘回顾。

总结

这就是,成为一个领导者的一些更微妙的方面。

记住:如果你想成为团队中的领导者,它不需要浮夸的演讲或者骑着马走进办公室。

要成为领导者,你可以通过每天建立这些小的行为习惯来投资自己,通过花时间有意识地自我反思,并提醒自己想要展示的行为以及你希望如何被你的团队看到。

很快,可能在你意识到之前,你将会展现出这些微妙的习惯,并会发现其他人蜂拥向你寻求建议、支持与机会。很快,你将发现你的职业生涯实现了一大步的跨越。


作者:Lou Bichard
日期:2017-06-07
原文:5 Subtle Secrets Of Effective Leaders

原文:https://www.cnblogs.com/mindwind/p/8570942.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/321932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

老衣的微服务实践简要指引2017版

这是老衣在2017年5月份总结的,适用于中小团队跨平台微服务开发的实践指引(简化版)。若有有不当之处,欢迎指点更正因本文涉及到大量第三方库或工具,详细学习和了解需要参考相关官方文档。若您在使用Mac电脑,…

Entity Framework Core 之数据库迁移

前言最近打算用.NET Core写一份开源的简易CMS系统,来练练手所以又去深入研究了一下Entity Framework Core 发现其实有些细节园子里还是很少讲到.特意整理了几个细节.正文1.数据库迁移先了解一下什么是"数据库迁移",它提供了一种方法,可以逐步将Code First…

随机挑战#4记录

正题 van♂van♂van♂成记录 题目 P2052−[NOI2011]P2052-[NOI2011]P2052−[NOI2011]道路修建【树】 博客链接:https://blog.csdn.net/Mr_wuyongcong/article/details/102249021 P2796−FacerP2796-FacerP2796−Facer的程序【dpdpdp】 博客链接:https://blog.csdn.net/Mr_wuy…

Visual Studio 2017 15.7 Preview 1 发布

上周 Visual Studio 2017 15.6 版和 Visual Studio for Mac 7.4 版已发布,今天 VS 发布了下一个次要更新的第一个预览:Visual Studio 2017 15.7。本预览的主要亮点包括:提高生产率更好的诊断额外的C 开发改进更好的Android和iOS环境管理通用 …

部署用于生产的Exceptionlees(一个强大易用的日志收集服务)

Exceptionless简介Exceptionless从翻译来看是无异常的意思,其实它收集了很多异常信息。大家可以把他看做事一个非常好用的日志收集服务。还提供了,多组织、多项目。它是一个开源项目,作者也非常的热心,项目地址https://github.com…

ASP.NET Core Web API下事件驱动型架构的实现(四):CQRS架构中聚合与聚合根的实现

在前面两篇文章中,我详细介绍了基本事件系统的实现,包括事件派发和订阅、通过事件处理器执行上下文来解决对象生命周期问题,以及一个基于RabbitMQ的事件总线的实现。接下来对于事件驱动型架构的讨论,就需要结合一个实际的架构案例…

如何看待微软新开源的Service Fabric?

本人曾在Service Fabric (SF)项目中做了几年,这次很兴奋能看到它的开源。短短两天已经有1300多个关注了。我看了一下开源的代码,真是满满的干货,200多万行C代码,所有最核心的协议算法都在里面。但是,不得不承认&#x…

RabbitMQ教程C#版 “Hello World”

先决条件 本教程假定RabbitMQ已经安装,并运行在localhost标准端口(5672)。如果你使用不同的主机、端口或证书,则需要调整连接设置。从哪里获得帮助 如果您在阅读本教程时遇到困难,可以通过邮件列表联系我们。1.介绍Rab…

牛客小白月赛18-记录

正题 比赛链接:https://ac.nowcoder.com/acm/contest/1221 成绩 总结 好难,就拿了一些水题分 T1:Forsaken喜欢数论\texttt{T1:Forsaken喜欢数论}T1:Forsaken喜欢数论 题目大意 f(i)f(i)f(i)表示iii的最小质因子,求∑i2nf(i)\sum_{i2}^nf(i)∑i2n​f(i…

.NET Core开源API网关 – Ocelot中文文档

Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Service Fabric、Butterfly Tracing集成。这些功能只都只需要简单的配置即可完成,下面我…

ABP前端使用阿里云angular2 UI框架NG-ZORRO分享

一、前言前段时间写博客分享和介绍了阿里云的UI框架NG-ZORRO(博客请查看:http://www.cnblogs.com/donaldtdz/p/7892960.html),结合近段时间对.Net开源框架ABP的学习。完成将ABP前端框架替换成阿里云的NG-ZORRO。二、替换说明ABP版…

Prufer序列 生成树定理

Description 在图论中,树的定义是连通且无环的无向图。对于一棵有 nn 个节点且节点从 11 到 nn 编号的树,它的 Prufer 序列是一个唯一的长为 n−2n−2 的标号序列。 Prufer 序列的构造方法:每次删除树中标号最小的叶子节点(即度为…

NOI.AC-积木【堆】

正题 题目链接:http://noi.ac/contest/266/problem/794 题目大意 无限多个1∗21*21∗2的砖块交替着 一个砖块会掉落仅当下方两个砖块都掉落,现在抽出nnn个砖块,求掉落多少个砖块。 解题思路 开一个优先队列,若两个连在一起的就把上面那个…

大规模开发团队如何实现DevOps转型? 来自微软全球开发平台工程团队的实践经验

微软全球开发平台工程团队从敏捷到DevOps的转型2013年11月13日,我们宣布了Visual Studio2013,以及微软研发云Visual Studio Online (VSO)的正式商用。紧接着我们经历了一次长达七小时的服务中断。我们的服务运行在一个“弹性扩展单元”中,为大…

野鸡NOI.AC模拟赛【2019.10.26】

前言 截止至2019.10.2614:222019.10.26\ \ \ \ 14:222019.10.26 14:22 成绩 正题 T1:NOI.AC−T1:NOI.AC-T1:NOI.AC−序列【堆】 https://blog.csdn.net/Mr_wuyongcong/article/details/102755906 T2:NOI.AC−T2:NOI.AC-T2:NOI.AC−积木【堆】 https://blog.csdn.net/Mr_wu…

Golang的CSP很酷?其实.NET也可以轻松完成

CSP(Communicating sequential processes)这东西我一开始以为很简单,后面差了资料发现它独树一帜,自己是一门语言,也是一套理论。这边我不深入的对它做过多的见解,我怕耽误大家_,大家可以看看wi…

SignalR Core尝鲜

要点SignalR Core改用Microsoft.AspNetCore.Sockets,不再依赖HTTP。使用MessagePack序列化格式,支持二进制协议。TypeScript客户端移除了第三方依赖包。支持WebSocket原生客户端,可以使用自己构建的客户端连接到SignalR服务器。伸缩方式更灵活…

2016陕西省ACM 热身体B 种类并查集

Energy 发布时间: 2017年3月27日 11:31 最后更新: 2017年3月27日 18:30 时间限制: 1000ms 内存限制: 256M 描述 人类准备发射载人飞船前往火星。 飞船使用了一种特殊的反物质燃料来作为动力,在飞船的制造期间,同时人类也在从宇宙 的各个地方收集这…

kubernetes实践之运行aspnetcore webapi微服务

1、预备工作unbuntu 16.04 or abovedocker for linuxkubernetes for linux 集群环境2、使用vs2017创建一个web api应用程序,并打包镜像到本地。3、推送本地镜像到docker hub4、编写k8s资源配置文件(yml)hello-world-deployment.yml如下上面replicas部署两个副本实例…

使用.NET Core快速开发一个较正规的命令行应用程序

一般命令行程序包含什么?使用方式帮助信息子命令参数选项帮助信息帮助信息如上,介绍了命令的作用和参数、选项作用。这个是必不可少的。子命令一个应用程序打包了多个功能,这时候就可以使用子命令,比如 dotnet ef migrations&…