成为核心程序员或技术榜样既是一项巨大的责任,也是一个巨大的职业机会,但介于两者之间的过程是艰巨的。为自己和自己的工作承担责任,与尽可能将责任从团队中转移开,这两者之间有很大的区别。很多程序员在工作中是很惬意的,但是当他们被提拔到***开发的领导岗位时,却不知所措,因为他们没有为所涉及的额外职责做好准备。作为一名拥有多年专业经验的专业开发人员,我想和大家分享一些我觉得有用的东西。你为什么想成为一名***开发者?在处理成为顶级开发人员的问题之前,您必须首先成为顶级开发人员。在你成为顶级开发人员之前,首先你需要回答为什么。你为什么想成为顶级开发者?这就是自我的追求吗?是因为你认为你可以赚更多的钱,或者更有声望吗?还是因为您想关心、领导和激励人们更好地完成工作?你可以为了自我而这样做,或者因为你想赚更多的钱或爬到更高的位置,但如果你想成功——并留在那个位置——那么你的动机应该基于帮助他人,带领他们走向胜利并激励他们尽可能做到最好。如果你的目标只是金钱和权力,那么你不仅会成为一个糟糕的开发人员,而且你也不会喜欢这份工作,因为额外的工作和责任会压倒你对新职位的喜悦。我说这话不是要打倒你,有野心没有错,关键是适度和正确的方向。成为最有效的开发人员的方法是让你的团队变得更好,回报也会随之而来。将奖励和声望放在首位只会对您的团队造成严重影响。成为一名顶级开发人员没问题,那么你真的想成为一名顶级开发人员吗——即使这可能是一份吃力不讨好的工作,甚至可能得不到加薪?如果您的回答是肯定的,那么让我们谈谈如何去做。首先,您必须意识到,即使没有官方指定,您也可以成为顶级开发人员。领导力不仅仅是一个头衔。***是***因为有人会跟随他们,而不是因为他们被任命到某个职位。权力可以下放,但领导只能靠自己。你可以是没有领导的权威,也可以是未经授权的黑客。事实上,一些最有效的警官实际上并没有得到上级的授权,因为他们不需要他们。根据这个说法,成为顶级开发人员更多的是赢得团队的尊重和信任,而不是其他任何事情。为了成为一名顶级开发人员,您需要证明您不仅拥有技术技能,而且还具备培养人际关系、鼓励、建立协同意识和激励他人的能力。一个真正的领导者,不管是什么形式,都能把大家团结起来,把大家拧成一个共同的方向。以下特征是我认为一个好的技术领导者应该具备的:ResponsibleDriven擅长技术谦虚有坚定的信念良好的沟通能力Reliable如果你想成为顶尖的开发者,那么你需要重点培养这些特征,你还需要提高你的软技能。而最优秀的***开发者,不仅能给我们指明正确的技术方向,还能激励我们成长,让我们把工作做得更好,把团队的利益放在心上,不偏不倚,让我们信任你。最成功的***可以帮助大家更加成功。如果你想做开发者,首先你可以想象你想要***一个什么样的团队,然后作为那个人自己去做。忘掉政治,努力为他人提供有用的服务,现在就开始行动,不要四处张扬或自以为是,以谦逊和真诚的态度帮助团队中的其他成员。成为顶级开发者意味着什么Howtobeatopdeveloper和howtobecomeatopdeveloper其实是一回事,所以下面的建议不仅适用于已经成为顶级开发者的人,也适用于想要攀登的人成为顶级开发者。现在让我们谈谈***开发人员最重要的工作……让他或她的团队取得成功。不仅团队必须成功,团队中的每个人都必须尽可能地成功。如果你想成为一名优秀的开发人员,你的主要工作——也是你最重要的事情——就是让尽可能多的人在你身边取得成功。如果你能做到这一点,那么你就成功了。但是怎么做呢?以身作则确保首先以身作则。不要告诉别人该做什么,而是告诉他们该做什么。你想让别人做什么,你自己先去做,然后让他们明白为什么这样做是有益的。不威逼利诱,不争红脸。如果你真的想激励大家,那你就应该先为大家做,用实际行动和结果向大家证明你的方法是最好的。如果你想让你团队的开发人员写出更好的代码,首先你自己的代码必须写得更好,你付出的努力应该是有形的。只有这样,你的编码标准才有说服力。因为他们看到了你的代码,他们会受到鼓舞,他们会心甘情愿地写出和你一样质量和可理解的代码。如果您希望团队中的开发人员编写单元测试或实践测试驱动开发,那么您不仅要以身作则,还要用具体的结果证明您推荐的方法是最好的。这就需要言出必行,脚踏实地,光说所谓的***是行不通的。如果您希望团队中的开发人员发展他们的技能和个人发展,那么您必须成为榜样。你应该比别人花更多的时间学习新事物,并与他人分享你学到的东西。你应该写一些博客来分享你的学习进度,鼓励大家一起学习。关键是,如果你想让人们跟随你,那么你必须以身作则。敢于承担责任当***犯错时,谁来承担责任?是的***。当团队成员犯错时,谁来承担责任?是的,还是***。如果你想成为一名伟大的开发人员,那么你不仅要为自己的错误负责,还要为团队中其他人所犯的错误负责。我知道很多人心里并不认同这一点。我也知道,当我建议你为别人的错误承担责任时,大多数人都会嗤之以鼻,但我还是要说实话。如果你不愿意为你团队的错误承担责任——我的意思是承担全部责任,那么你就不应该成为一名开发人员。但这并不意味着你不能成为一名优秀的团队合作者。这也不意味着你不能为团队的成功做出贡献并帮助其他人提高。我只是说,如果你想成为一名优秀的开发人员,那么你必须做好准备——心甘情愿地——为你团队的失败承担责任。一个好医生会欣然接受这个责任。一个好老板会承担责任并保护团队免受指责,这样团队成员就可以自由冒险,这样团队成员就不会浪费额外的时间去擦别人的屁股。正如我之前所说,领导职位并不适合所有人。哦,现在又要承担责任了。猜猜团队的成功归功于谁?***?不,这是一个传统的单边协议。是的,***对团队的成功负有主要责任,但他或她从不以此为功。相反,一个好的领导者会将成功归功于团队。还记得我说过成为顶级开发人员是一份吃力不讨好的工作吗?促进沟通优秀的顶级开发人员不仅要对团队的行为负责,还要为其他团队、管理层、业务人员以及任何其他需要互动的人充当倡导者。这并不意味着顶级开发人员是唯一与团队外部人员交流的人,但顶级开发人员通常是负责将团队的愿景和想法传达给其他人的人,尤其是非技术人员。作为顶级开发人员,您需要能够清晰有效地向非技术人员传达技术解决方案,同时避免冲突。这并不容易,尤其是当你有坏消息要说的时候。人们往往喜欢把怒火发泄在信使身上。与“业务”沟通的最佳方式是,首先确保你能清楚地了解你正在构建的软件的具体进展,以及你面临的技术挑战。你越了解正在发生的事情,就越容易与他人交流。这意味着你需要不断地了解每个人在做什么,他们面临的挑战是什么,并且在解释时需要将其翻译成非技术术语。这需要实践,但却是顶级开发人员的基本技能,因为正在构建的大部分软件都需要与利益相关者和客户进行沟通。尤其是当你需要弄清楚为什么某个“商业”想法行不通或者不是解决手头问题的正确方法时,这就变得更加困难了。向权威低头很容易——然后要么承诺无法兑现的东西,要么同意你不同意的解决方案——当然,有些人敢于站出来反对任何反对你的技术优势的人,但你必须坚守阵地,无所畏惧。一个好的***开发人员了解业务需求,可以理解决策或立场背后的非技术推理,然后提出清晰、理性的论点,从而得出解决方案。优秀的最佳开发人员知道何时妥协——也许不是最好的,但可以避免不必要的冲突,以及何时坚定立场以免压垮团队或不承诺某些无法交付的任务。好的高级开发人员可以促进团队与其他部门的沟通。帮助人们做到这一点****开发人员对团队的最有益影响是他们的存在提高了其他开发人员的绩效。如果你想成为一名优秀的开发者,那么你不仅需要不断推动自己的个人发展,还必须激励他人与你一起进步。作为开发人员,您应该每天花时间学习和阅读最新的技术和趋势,以便尽可能地跟上当前技术技能的发展。你应该确保你对你的团队正在使用的技术有最好的了解——如果可能的话——这样你就可以成为你团队的可靠倡导者,并且你可以自信地引导他们朝着更好的技术方向发展。同样,您应该鼓励您的团队成员发展和提高自己的技能。你应该给他们资源来做到这一点。您应该分享您正在学习的内容并指导团队成员,以帮助鼓励他们的专业发展。你应该尽一切可能确保你的团队具备成功所需的条件,同时表明你非常关心他们个人的成功和自己的成长。你的关心会让他们认真对待,你更有可能在更高的水平上表现。成为顶级开发者并不是一件容易的事情,我在本文开头提到过,你要问问自己,你是否真的知道成为顶级开发者意味着什么,或者你是否真的想成为一名顶级开发者。这不是一件容易的工作,甚至可能吃力不讨好,而且可能涉及很多牺牲,但如果你关心别人的成功,并愿意投入时间和精力帮助大家做到这一点,那么你就有潜力取得巨大成功。一个伟大的黑客开发者。但是,如果您只是追求更高的职位,或者想要告诉别人该做什么的权力,或者如果您的动机纯粹是基于成为顶级开发人员后获得加薪,那么您会发现自己在这个职位上举步维艰。所以,想一想,你真的想成为一名顶尖的开发者吗,如果你已经下定决心,那就谦虚一点,承担起责任,尽你最大的努力,让你的团队——以及团队成员——尽可能地成功可能的翻译链接:http://www.codeceo.com/article/tips-for-leader-programmer.html英文原文:SomeAdviceOnBecomingaLeadDeveloper
