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

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


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

然而,让我们看看塞斯·高汀(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,一经查实,立即删除!

相关文章

牛客国庆集训派对day6TJ-DefenseTower【贪心】

正题 题目链接:https://ac.nowcoder.com/acm/contest/1111/J 题目大意 一棵树,每个点有一个威力值,每次破坏一个点会受到与它相连没有破坏的点的威力值之和的伤害。求破坏所有点的最小伤害。 解题思路 因为是一棵树,所有我们可以看为每条边…

K8S Learning(1)——简介

一、Kubernetes kubernetes,是一个全新的基于容器技术的分布式架构领先方案,是谷歌严格保密十几年的秘密武器——Borg系统的一个开源版本,于2014年9月发布第一个版本,2015年7月发布第一个正式版本。 kubernetes的本质是一组服务…

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

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

P2052-[NOI2011]道路修建【树】

正题 题目链接:https://www.luogu.org/problem/P2052 题目大意 一棵树&#xff0c;一条边的价值是长度乘上两端点的数量差。求所有边的边权之和。 解题思路 统计子树大小就可以知道两端的数量差了。 codecodecode #include<cstdio> #include<cstring> #include…

K8S Learning(2)——集群环境搭建

一、部署Kubernetes 集群 有两种方式&#xff1a; &#xff08;1&#xff09;kubeadm Kubeadm 是一个K8s 部署工具&#xff0c;提供kubeadm init 和kubeadm join&#xff0c;用于快速部署Kubernetes 集群。 官方地址&#xff1a;Kubeadm | Kubernetes &#xff08;2&#…

P2796-Facer的程序【dp】

正题 题目大意:https://www.luogu.org/problem/P2796 题目大意 求一棵树中有多少个子树。 解题思路 考虑dpdpdp。 fif_ifi​表示已iii这个点为根的子树个数。 动态转移方程fx∏x−>y(fy1)f_x\prod_{x->y}(f_y1)fx​x−>y∏​(fy​1) 答案就是∑i1nfi\sum_{i1}^nf_…

K8S Learning(3)——资源管理

一、资源 在kubernetes中&#xff0c;所有的内容都抽象为资源&#xff0c;用户需要通过操作资源来管理kubernetes。 kubernetes的本质上就是一个集群系统&#xff0c;用户可以在集群中部署各种服务&#xff0c;所谓的部署服务&#xff0c;其实就是在kubernetes集群中运行一个个…

Entity Framework Core 之数据库迁移

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

A Boring Game

题面&#xff1a;Jeff has got 2n2n real numbers a1,a2,…,a2na1, a2, …, a2n. He decides to adjust the numbers. Namely, Jeff consecutively executes nn operations, each of them goes as follows:choose indexes ii and jj (i≠ji ≠ j) that havent been chosen…

随机挑战#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…

K8S Learning(4)——Namespace

一、Namespace简介 Namespace是kubernetes系统中的一种非常重要资源&#xff0c;它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 默认情况下&#xff0c;kubernetes集群中的所有的Pod都是可以相互访问的。但是在实际中&#xff0c;可能不想让两个Pod之间进…

Visual Studio 2017 15.7 Preview 1 发布

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

P4395-[BOI2003]Gem气垫车【树形dp,四色定理】

正题 题目链接:https://www.luogu.org/problem/P4395 题目大意 一棵树&#xff0c;每个节点填一个正整数&#xff0c;要求相邻的节点数字不同&#xff0c;求所有节点的和最小。 解题思路 根据四色定理&#xff0c;我们可以知道用四个数字一定可以填完&#xff0c;所有填的数…

等差区间 线段树+GCD

Description 已知一个长度为 nn 的数组 a[1],a[2],…,a[n]a[1],a[2],…,a[n]&#xff0c;我们进行 qq 次询问&#xff0c;每次询问区间 a[l],a[l1],…,a[r−1],a[r]a[l],a[l1],…,a[r−1],a[r]&#xff0c;数字从小到大排列后&#xff0c;是否会形成等差数列。等差数列的定义为…

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

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

K8S Learning(5)——Pod

一、Pod简介 Pod是kubernetes集群进行管理的最小单元&#xff0c;程序要运行必须部署在容器中&#xff0c;而容器必须存在于Pod中。Pod可以认为是容器的封装&#xff0c;一个Pod中可以存在一个或者多个容器。 kubernetes在集群启动之后&#xff0c;集群中的各个组件也都是以Po…

P4880-抓住czx【最短路】

正题 题目大意:https://www.luogu.org/problem/P4880 题目大意 一个无向图&#xff0c;从bbb点出发&#xff0c;目标在eee点&#xff0c;TTT次移动在第aia_iai​时移动到点xix_ixi​。求最早多少能到。 解题思路 若一个点我们到不了我们就不用管它了&#xff0c;所以我们只要…

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

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

K8S Learning(6)——Label

一、Label简介 Label是kubernetes系统中的一个重要概念。它的作用就是在资源上添加标识&#xff0c;用来对它们进行区分和选择。 Label的特点&#xff1a; 一个Label会以key/value键值对的形式附加到各种对象上&#xff0c;如Node、Pod、Service等等 一个资源对象可以定义任…

P3531-[POI2012]LIT-Letters【逆序对,树状数组】

正题 题目大意:https://www.luogu.org/problem/P3531 题目大意 两个由相同字符组成的字符串&#xff0c;每次可以交换相邻的两个字符&#xff0c;求最少交换次数使这两个字符串相同。 解题思路 我们拿第二个字符在第一个字符串对应的位置作为值求逆序对数量即可。 注意的是…