初入职场的程序员,遇到“以身作则,身体力行”的领导就偷着乐吧
半个月前发生了一件事,让我想起了很多很多,当我第一次来新浪的时候,接触最多的就是直属领导,包括领导的领导,他们就是我的学习和模仿标杆。他们的一言一行对我的提升有着直接的影响。有时候我在想,对于一个初入职场的程序员来说,第一份(真正意义上的)工作首先考虑的不一定是薪资,也不一定是岗位,更不一定是公司规模,更重要的是领导的表率作用,从他们身上学到的越多,对你后续的帮助就越大。
我自己也从初级程序员起步,工作十余年了,也做过小领导,对于如何做好一个技术领导深有体会,也深刻体会到员工需要什么样的技术领导,今天我就从一个初入职场程序员的角度谈谈相关话题,如果你的领导拥有下面讲解的特质,那就好好珍惜吧。
手把手指导
对于初级程序员来说,由于经验和技能的欠缺,在开发项目的时候总会遇到问题,如果长时间还没解决,就要寻求帮助了,寻求的对象一般情况下就是直属领导。
如果寻求的帮助对象不是直属领导,那么这个领导就要反思了,某种程度上说明领导并不合格,也许他已经脱离一线开发已经很久了,这就违背了一个技术领导「身体力行」的原则了,他很难和下属在技术层面打成以一片了,这是要警戒的。
如果寻求帮助的对象是领导,但他并没有太在意下属提出的问题,只是根据自己的经验概括性的回复,比如是不是「性能有问题」、「你这代码写的太散了」、「看看服务器日志」,如果回答的内容诸如此类,那么对程序员的帮助也不大,为什么?难道这些回答启发性不够?
原因就在于对于初级程序员来说,他们在思考很久后还没有解决办法,此时他们需要的就是领导能够帮助解决实际的困难,他们需要知道解决问题的具体方法,这样他们才能提高。
一个领导如果能够耐心的坐在他旁边,一起查看代码,互相讨论,领导可能时不时用一些工具,或者用一些技巧(都是积累出来的),一边操作一边讲解,不要小看这个过程,有心的程序员从中能够学到很多,会默默的记录领导用到的工具或技巧(事后可以自己实践),如果解决了问题,那么对于双方来说非常有益。对于程序员来说,体会到高手的解决思路和解决方式,积累的经验;对于领导来说,拉近了双方的关系,在技术领域有了进一步的交流。
所以「手把手原则」真的很重要,有些领导就是高高在上,不反思自己,总是以自己的标准要求每个人,我最近在「朋友圈」看到一个消息,意思就是说「一个下属鼓足了勇气,才向自己的领导提出请假的需求,而领导觉得这个下属太墨迹,不直接说,认为这不是高效沟通的方式」,我觉得这个挺搞笑的,这明显是领导缺乏和下属的技术交流,下属根本和你没有交谈的愿望,这应该是领导需要反思的,根本不是下属的问题。
信任和挖掘
对于初级程序员来说,完成项目的上线是最重要的,但从技术提升的角度来看,完成上线并不是终点。很多程序员觉得自己也开发了很多项目,但总感觉在进行重复的工作,技术上很难提高,根本原因就在于缺乏总结和分析。对于初级程序员来说,他意识不到这个问题,如果此时领导能够做一些表率作用,对于程序员的提高非常有益。
如果项目上线后,领导做了下面的一些事情,那么你就偷着乐吧:
查看代码,遇到有疑问的时候,会问你当时是怎么思考的,也会提供自己更优的解决思路。
查看一些业务和技术数据,如果没有,领导就会提示你应该加一些日志,日志对于分析问题非常重要,如果没有数据,无法挖掘潜在的问题。
从性能的角度做一些评估,尤其是一些关键代码,代码的优劣和解决方案的优劣对于性能影响是比较大的,通过领导讲解,程序员能够认识到性能的重要性,也能够学习领导的架构思路。
查看该项目的设计方案和Wiki,会和你讨论项目技术方案的优劣,也让你意识到Wiki的重要性,这些对于技术设计能力的提高非常有帮助。
有心的领导还会做很多类似的事情,从这些事情上,程序员能够提升自己的技术设计能力,也能够提高技术经验,也会意识到代码对于系统的重要性,甚至感知到日志、Wiki对于技术分析、梳理的重要性。
有些人可能有疑问了,领导为什么不在项目开始之处就列一些开发标准呢?为啥事后做这些事情呢?
根本原因就来源于信任,想想看,以开始罗列这些原则,可初级程序员根本不能理解,也意识不到为啥要这样做,列这么多要求和标准,会扼杀他们的思路,也会感到莫名其妙。
对于初级程序员来说,起初开发的项目一般不是非常重要,应该给他们自由发挥的机会,事后分析总结比前期硬性要求重要的多,也有用的多,在实践中学习和提高。
一个优秀的领导应该通过各种方法逐步提升程序员的技能,应该「以身作则,身体力行」,不断的指导程序员,这样对双方都有好处。在这个过程中,程序员耳濡目染,能够学习到很多,相信不用2年,就能成长为一个更优秀的程序员。
盘根问底,精益求精
如果一个领导能够做到「盘根问底,精益求精」,那么就能够展示出一个优秀特质「专研和极致」,如果程序员能够学到这个特质,任何事情都能轻松解决,也会比别人更优秀。
如果观察到领导有以下的一些行为,那么恭喜你了,可以好好学习了:
你遇到一个问题,咨询了领导,当时领导协助解决了,但是并没有找到真正的原因,对于大部分人来说,对于这样很细节的问题,过去了就过去了(潜意识就是问题解决了啊)。但优秀的领导不是这样的,他们可能花上数天、数月模拟当时的场景,寻找问题的根源,有的时候还可能进入忘我的阶段,找到原因后,可能还会和你分享。这种身体力行的作风会极大震撼你,想想看,这么难的问题都解决了,还有什么问题不能解决,所以这种品质一定要掌握。
有的时候线上的服务遇到一个性能瓶颈,大部人觉得历史包袱太多,不敢轻易改造,优秀的领导会如何做呢?第二天他就会拿出一份数据,指出目前核心存在的问题,如果解决了,性能问题可能就基本上解决了,难道他是天才吗?居然如此厉害?根本原因在于他的韧性,有的时候不要被困难迷惑了双眼,要按照方法论,分析问题,找出问题。我们为什么会害怕,并不是偷懒,而在于缺乏方法,无法找到问题。那么如何提高?,就是沉下心来,不断的探索,这样一步步就会提高,对于程序员来说,我们一定要学习这种方法。
领导也许不是全才,他可能也是一个学习者,我曾经看到一个做系统的领导在完整的看RIA前端代码,当时给我的震撼还是非常大的,有的时候我们需要这样的学习能力,并不是为了掌握多少的知识,而是不断的处于学习状态,通过持续性的学习,即使有一天不做程序员了,在其他岗位也必然能够做的非常好。
很多同学可能会问,你遇到这样的领导了吗?很可惜,遇到的比较少,但是也发现不少领导做的非常好,现在我依然记得那些有些品质,自己也在不断的模仿。
本文转载自异步社区
原文链接:https://www.epubit.com/articleDetails?id=N4ce43f23-3daf-4a64-b4ea-f83e13e36676
- 点赞
- 收藏
- 关注作者
评论(0)