Team Leader你会带团队吗?你懂合作吗?你好像都不会啊!(下)

Team Leader你会带团队吗?你懂合作吗?你好像都不会啊!(下篇)
                                                  ------
打好你手中的牌

导读:

  这是接着上一篇《Team Leader你会带团队吗?你懂合作吗?你好像都不会啊!(上)》写的。上一篇,我着重写了什么是团队,并比较深入的去解释团队和其组成。团队管理不是什么新鲜玩意,有很多好的案例和经验给我们学习;但是如何运用,则需要我们很好的去深入理解团队开发的每一个细节。在下篇,就会涉及到一些人提出的疑问,并比较偏应用了。但是整篇对整个团队管理涉及还不是很完整,因为团队管理的全部内容不是就靠两篇文章可以写完的。有机会我会再深入的写一篇团队管理的进阶篇,但是对读者的能力要求就会比较高。

 

  我看了下关于上一篇的评论,有些人不屑于去深入理解什么是团队,我只能说你将来在团队管理上的进步是会很渺小和漫长的。如同在我们做软件开发时,有些人根本就不理解操作系统原理、编译器原理、托管代码运行的原理,但这影响他们编程吗?不影响,他一样可以编写出程序,还会出来叫嚣;但是对于懂编程和懂原理的,你会发现代码质量是差别很大的,而且以后的成长也是看得出差距的。

 

招聘和培训:

  只要你明确好你到底需要什么技能的程序员,招聘其实是一件相对容易做的事情。既然很容易,可为什么有时候却又老招不到人,结果却变成了招人难。对于这个问题,在我的实践当中,可以归纳为以下几个方面。

1)  需要超人。

2)  需要超人。

3)  需要超人。

  对于招人难,我不断总结、反复总结,能总结出的就是“需要超人”。对于超人这个东东,可以看我的另一篇文章《不是HR,Leader你到底需要招什么样的程序员(变形金刚?超人?可能吗!)》。

 

  在这里我以一个小团队的创建来举例说明下如何招聘和招到你需要的人。其中的核心思想就是明确你需要什么技能的程序员。

 

  招聘前,你要对你的项目需求有正确的理解。你才能了解你需要哪方面技能的人。假如这里我要做的是一个.Net的Web网站的项目。首先可以把程序员分为两级,初级和高级。如果我想把Web网站的前台和后台独立开来,那么我们就需要两个高级程序员(一个负责前台,一个负责后台);如果你觉得没有必要独立开来,一个高级程序员就可以了。接着你就要明确高级程序员在项目中的职责。我希望高级程序员在项目中负责架构设计和前端后端核心代码的编写。到这里其实就可以完了,可以开始写招聘需求了。至于要几年工作经验和有没有相关项目的经验,看你自己的把握,毕竟是你的团队。按照普遍高级程序员3-5年的工作经验来算,我们就可以大致写个如下的招聘需求。

1.3-5年工作经验

2.熟练使用C#开发语言(语言看你们项目使用来定),熟悉网络开发

3.能够完成项目中的框架代码的编写和主要功能开发

4.掌握Javascript 和 Html

其实这就可以了,如果你有明确的更细的要求,自己再列出。如:

5.理解MVC开发原理

6.熟练使用Jquery

等,具体要什么,看你的实践需求。切记,不要写出来的招聘需求是在招超人。写完后Leader你自己好好读读你写的招聘需求,看是不是在招超人。要是是,那么就需要修改需求,直到合适。其实在每次修改需求时,也是在加深你对你们需求的真正理解。 

 

  下面我们就要开始进行初级程序员的招聘了。首先我们要确定总工作量和高级程序员的工作量。这样我们就可以计算剩余的工作量。工作量的计算在很大程度上取决于你个人经验的计算。当我们确定了剩余工作量,我们就可以细分我们需要几个初级程序员来完成和需要什么技能。如需要完成接口的开发和前端网页的编写。这样我们也可以写出招聘需求了。

1.1-3年工作经验

2.能够使用C#进行指定功能开发,对接口开发有一定了解

3.能够使用Javascript进行网页交互操作

4.能够使用Html和Css制作网页

 

有时我们还需要带美工性质的前端

1.1-3年工作经验

2.熟练使用Html和CSS制作网页

3.能够使用Photoshop切图和绘图

4.会Javascript和Visual Studio的优先考虑 

  先说到这里。你也许会说,实际比这复杂的多。这里我要说,我只是通过例子让你去了解一个流程和理解它。如果你真正理解了,其实整个流程也就是很简单;没有你想象的那么复杂。如果你觉得很复杂,可以从一个方面说明你目前能力还不够。

 

  在我实际的经历中。刚开始,我写的招聘需求内容很多,要会这要会那。在我现在的观点,我就是在招超人。但是当时我觉得,我就是要会这么多技能的人,要不然没法做。现在看来,其实不用会这么多,也能做。因为在开发的过程中还涉及有学习和培训的一个过程(我下面在讲)。当你写出的招聘需求是在招超人时,你就要开始简化,尽量简化到单一且核心的需求。但是有个情况,你的实际需求确实需要会很多很多。那我们怎么办?你可能也是程序员过来的,以你自己的经验和你身边人的经验。会这么多的人,你身边多吗?既然很少,那么你肯定招不到合适的人。这时你就需要把一个人的任务拆分成两个人或三个人的任务,招两个人或三个人来做。这里可能还有一个情况,就是你的老板说要招一个人,可是按照拆分下来的算,你需要两个人。这时的你,需要和老板好好谈谈,因为这时不是你的能力可以及的。不要钻牛角尖,那样只会让你招超人。问问老板,看老板有什么建议和指点的。有时你可能会觉得你的老板某些观念过时了、是错的、不如你。虽然我也有过,但是在实际的经历当中,这些有着老程序员经历的老板确实比你想象中的厉害很多。

 

  还有一种情况,就是我要涉及到的培训了。当你把招聘需求提炼到很简洁了,对能力要求也按照经验做了调整。可是,你还是会发现前来应聘的人达不到你想要的要求。怎么办?有时你会觉得在降低需求就真的没有需求了。在这里也许会有人要来抨击我了,觉得我把程序员说的太那个了。这里我来表达一下我个人的观点。人才确实有,但很多优秀人才不可否认的都集中在了大型企业和公司;还有一些人则在老程序员前辈的创业公司为了理想而奋斗。还有一个现状就是,现在软件公司真的是越来越多(当然倒闭的也多)。一些中流砥柱基本上都已经被瓜分完了,有时还略显不足,最后摊下来的其实没有多少了。我个人的看法是,以现在软件公司的数量和环境,中高级的软件人才确实还是一个严重不足的情况。那么这就造成了中小企业招人难的一个问题。虽然投简历的人很多,来面试也是一批一批的,但是却往往很难招到合适的人。这个时候,我们就要对应聘者放宽点要求,并提供内部培训。

 

  当你经过数次招聘后,发现应聘者的整体水平没有达到你的需求。这时你就要调整一下你的要求,适当降低一些技能。因为我们得接受事实;虽然你觉得你的要求不高,但是来的人却都没有达到你的要求。这时我们的重点就不应该放在是否达到了你的所有需求,而是只要满足你某些需求(你自己觉得比较重要的几个需求)。我们就可以把他暂时列为一个合格的候选人。当我们有了数个这样的候选人时,我们就可以从中筛选我们所要的人。这时筛选的依据是什么呢?就是学习能力。这里又涉及到怎么去考察一个人的学习能力了,这就要看Leader你的能力了。这个也属于你该会的一个技能。我个人使用的是,通过深入谈话来对候选人进行了解。通过一个具体的问题,让候选者给出个设计方案或者思想。通过候选者对问题的回答和阐述,其实就很容易找出哪一个具有比较好的学习能力。那么,你要招的人就是他了。你接下来要做的就是对他进行内部培训,让他达到你所需要的技能。这里又涉及到一个问题,如何去做内部培训。在这篇里面,我不打算涉及具体的怎么去做内部培训,因为这又是一个大的话题。你可以自己去琢磨琢磨怎么弄,不是很难。我们不是要搞个培训学校什么的,只要可能达到你需要的技能。我想说:对于应聘者,其实只要可以做事并且有一定学习能力,他就是符合你的。什么要这要那的,都是浮云。

 

  对于初级程序员的招聘,我们可以采取笔试题+面试的方法。一般招聘初级程序员的人数相对较多,而且有时会安排集体来考核。笔试的作用就是节省时间,快速的过滤掉不合格的人。再在筛选出剩下的几个人中进行面谈。

 

  对于高级程序员的招聘,我们直接采取面试。这里我是极度反感使用笔试的。不是不能用笔试,只是你往往出不了很好的笔试试卷来考核高级程序员的水平。而且高级程序员的数量要求比较少,也不需要用笔试进行快速筛选。通过深入的谈话,就可以了解到很多你从试卷当中了解不到的。有时我们要结合一下公司自身实力来考虑是否需要大量的笔试题。要不然你会发现很难招到人,且不合适。如果,你是世界500强、你的工资开的非常高;那么,你想怎么样都行。

 

  最后提醒下你,如果你需要特定的人时,或者招不到合适的时候。我们还有一个选择,可以通过猎头来帮你寻找。

 

  其实,我只列出了些比较基本和重要的一些因素。当往后发展,你还会涉及到实习生的招聘。等层级结构变复杂后,还会涉及到架构师等很多细分的职位。但是只要我们明确,到底我需要他来做什么。明确需求后,其实招聘的过程都是大同小异。

 

团队关系:

  团队关系我不会讲很细,只是会稍微提下,因为这话题本身就很复杂和深奥。想完全击破它需要花费长时间经验累积。不是说2,3年的管理经验就可以理解透彻。你要不断学习,不断去思考,才可能引导你进步。我就把我遇到的和理解的做个分享,以便于提供一个方向。最后,其中的对于错,还需大家结合实际去分析。

 

  团队关系涉及到管理学里面的内容了,大家这时需要去读一些管理书籍,最好是西方管理和中式管理的都要涉及。西方的管理体制很完善和健全,但是很多地方不适合中国国情,特别是对人性的管理。学习西方的管理理念在结合中式管理是你需要掌握的技能。

 

  团队关系的处理,分下来可以为两个方面:员工对员工的问题和员工对领导的问题。如当某个员工知道另一个员工和自己级别一样、能力差不多且工资却比自己高时或有员工工作态度比较随意和散漫,都会产生一个员工对员工的问题。当领导给一个员工加工资时,就会产生其他没有加工资员工对领导的问题;有可能还会产生其他员工对加工资员工的问题。产生这些问题都是人性管理当中的问题,每个人的性格不同,会产生很多你无法预计的问题出来。想要处理它,你需要长时间的经验摸索。一旦产生问题,就会影响团队和谐。当团队不和谐时,虽然不会怎么严重的影响到每个人手上的开发任务,但是会影响团队之间的合作效率。团队的合作效率一旦受到影响,开发的时间周期就会延长,并产生风险。所以Leader,你要好好照看你的团队成员。其实通过控制风险的一些方法,也可以看出团队之间是否有不和谐的端倪,我放在后面在讲。

 

  团队关系的处理虽然复杂多变,但他始终是一个对人性管理的过程。我们只要满足了员工的基本需求,员工也会自我去调整和团队的关系。大的需求集中在:工资、工作环境和发展空上。当有员工开始出现问题,这时我们就需要了解是什么影响力他,让他产生了问题。普遍不会逃出这三个大方向。你在看是否需要满足他其中的一个要求。如果不在这三个之内,基本上都是些不太合理的需求,我个人认为是无理取闹。但是我们还是要细心去了解是什么其他原因。如很长见的是员工家庭的原因,这时你就需要进一步了解。如果是,可以给予帮助或合适的便利。

 

  还有员工的跳槽啊等等都会产生员工的问题。这里不会再去讨论和解说了。只要你掌握了原理和深刻理解了,当出现问题时,你都会有方法来解决它。

 

风险管理:

  对于刚开始做Leader的人来说,风险控制是很头疼的一件事情。有时心里会祈祷不要出现风险或对自己说应该不会出问题的。当有这种想法时是万万要不得的。一旦风险出来,你可能会慌乱和不知所措,最后导致项目的失败。那么风险管理的难点在哪里呢?其实就是在于你对团队理解深不深刻。只要你理解了团队,使用些晓得方法就可以控制住风险。最后你会发现风险控制很简单嘛,那是因为你对整个团队的流程和细节都了解清楚了。这时的你,也开始走上团队管理的正确道路上了。

 

  在项目开发当中,最主要的风险就是时间。那么我就在这里击破它。首先我要说:如果你项目的复杂度所需的真正时间确实超过了老板所给的时间或者超过了你估计的时间,那么神仙也救不了你。因为一个是你老板的问题,一个是你自身的问题。如果是这样,你自己找墙去撞。除了这个之外,我们使用些小方法,就可以解决掉时间的问题。在分配任务时,我们都会明确的给予一个功能的具体时间。如果一个单个功能需要4个工作日以上的,就需要写报告来汇报功能进度(每3天一个报告或你自己定)。这样你可以很好的了解功能的进度,一旦发现可能会超期完成,你就要介入进去了解和分析是什么原因造成的。如果是你们确实低估了该功能的难度,那么马上进行调整,是重新分配工作时间还是降低该功能的要求。如果是员工个人原因造成的,那么你需要了解是什么原因造成的。看看这个功能是否需要与人合作开发。如果需要与人合作,那么很可能是产生了团队关系的员工问题。这时你需要去调解和解决问题。通过风险的管理,我们也可以找出一些团队关系的潜在问题出来。如果是个人能力不够开发该功能,那么马上更换人员进行开发。对于4个工作日以下的不需要发送报告,只用在功能完结时发个报告,以便进行下一个功能。因为这种功能时间需求短,一旦超期,是有时间来调换人员来做的。如果某人长期超期,你就要进一步去了解了。有公司强行每个员工每周写周报,有的是2个星期一写。我只能说,周报这玩意真的很稀烂。别跟我说是方便管理方便考核,这就是Cao蛋。这里还有一个问题,就是每个工作日的有效工作时间。有Leader是控制在一个工作日80%时间都在进行开发,有的甚至是90%。我个人喜欢控制在70%左右,因为一天能高效编写代码的时间也没有多少。而且一旦遇到有超期的功能,你就有人手和足够的时间来进行处理。我们要留出风险处理的时间。

 

  当项目完成后,发现有Bug。这时可能已经接近项目尾声了,你没有多余的时间去处理Bug了,这时产生了一个风险。为了能把Bug在开发中就消灭掉,我们需要开发和测试并行执行。在项目开发的时候,测试组就根据功能接口开始编写测试代码。当有开发人员提交一个完成功能时,就可以马上开始测试,并当有Bug时可以马上进行修复。这也是为什么在一个工作日当中留多一点时间,因为你还有Bug要修复的。当Bug提交时,每天早上花30分钟(30分钟就够,不要花太多时间)集中程序员和测试人员快速开个会,把Bug全部过一遍。有些Bug是不用修复的,我们可以标出。有些Bug是需要排出优先级的,这时需要你来分配。通过每天对Bug的审查,当项目交收时,你会发现Bug都被你控制了。

 

  还有一些突发事件引起的风险。如:程序员离职和项目中提出要求加工资。一般这两个因素会打扰你的整个计划。当出现这两个因素时,处理的优先级是最高的,要马上解决掉。如果是有人离职,就放他走吧。就算你强留下来,可人家心已经飞了。这对于功能完成和时间上的风险已经不好控制了。你要做的是赶快重新分配人手和调整时间,并马上进行招人。有人可能会说这哪里来的急。这里就要回到我前面招人所说的,明确你需要的每个人的职责和所需要的技能;当有复杂的招聘需求时,就进行拆分,使需求尽量比较单一。这样当出现问题时我们可以很容易招到合适的人。如果你招的是超人,那么到这里你就没法处理风险了。还有一个我们需要做的就是平时储备人才,遇到合适的就先招之。对于临时要求加工资的,分两个情况:公司没有一个明确的加工资制度和有正规的考核加工资制度。如果你们公司属于前者,你不要怪别人,你们自己都很Cao蛋;如果是后者,那么对于要加工资的杀无赦,并准备开始换人吧。

 

总结:

  这是一篇初级的文章,我没有讲的很多,但尽量讲全。从文中我们可以知道,从团队开始的每一个环节都会和后面的风险处理紧紧相扣。这也是我为什么强调一定要理解什么是团队这个基础概念。要不然到后面,你会发现风险越来越不受你控制。就算你找到办法补救了一个,却还有很多未知的风险。你就等于在亡羊补牢。亡羊补牢我们都知道,晚了嘛。

转载于:https://www.cnblogs.com/bruceli/archive/2012/06/25/2560142.html

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。程序主要针对0xc000007b问题设计,可以完美修复该问题。本程序中包含了最新版的DirectX redist(Jun2010),并且全部DX文件都有Microsoft的数字签名,安全放心。 本程序为了应对一般电脑用户的使用,采用了易用的一键式设计,只要点击主界面上的“检测并修复”按钮,程序就自动完成校验、检测、下载、修复以及注册的全部功能,无需用户的介入,大大降低了使用难度。在常规修复过程中,程序还自动检测DirectX加速状态,在异常时给予用户相应提示。 本程序适用于多个操作系统,如Windows XP(需先安装.NET 2.0,详情请参阅“致Windows XP用户.txt”文件)、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 8.1 Update、Windows 10,同时兼容32位操作系统和64位操作系统。本程序根据系统的不同,自动调整任务模式,无需用户进行设置。 本程序的V4.0版分为标准版、增强版以及在线修复版。所有版本都支持修复DirectX的功能,而增强版则额外支持修复c++的功能。在线修复版功能与标准版相同,但其所需的数据包需要在修复时自动下载。各个版本之间,主程序完全相同,只是其配套使用的数据包不同。因此,标准版和在线修复版可以通过补全扩展包的形式成为增强版。本程序自V3.5版起,自带扩展功能。只要在主界面的“工具”菜单下打开“选项”对话框,找到“扩展”标签,点击其中的“开始扩展”按钮即可。扩展过程需要Internet连接,扩展成功后新的数据包可自动生效。扩展用时根据网络速度不同而不同,最快仅需数秒,最慢需要数分钟,烦请耐心等待。如扩展失败,可点击“扩展”界面左上角小锁图标切换为加密连接,即可很大程度上避免因防火墙或其他原因导致的连接失败。 本程序自V2.0版起采用全新的底层程序架构,使用了异步多线程编程技术,使得检测、下载、修复单独进行,互不干扰,快速如飞。新程序更改了自我校验方式,因此使用新版本的程序时不会再出现自我校验失败的错误;但并非取消自我校验,因此程序安全性与之前版本相同,并未降低。 程序有更新系统c++功能。由于绝大多数软件运行时需要c++的支持,并且c++的异常也导致0xc000007b错误,因此程序在检测修复的同时,也根据需要更新系统中的c++组件。自V3.2版本开始使用了全新的c++扩展包,可以大幅提高工业软件修复成功的概率。修复c++的功能仅限于增强版,标准版及在线修复版在系统c++异常时(非丢失时)提示用户使用增强版进行修复。除常规修复外,新版程序还支持C++强力修复功能。当常规修复无效时,可以到本程序的选项界面内开启强力修复功能,可大幅提高修复成功率。请注意,请仅在常规修复无效时再使用此功能。 程序有两种窗口样式。正常模式即默认样式,适合绝大多数用户使用。另有一种简约模式,此时窗口将只显示最基本的内容,修复自动进行,修复完成10秒钟后自动退出。该窗口样式可以使修复工作变得更加简单快速,同时方便其他软件、游戏将本程序内嵌,即可进行无需人工参与的快速修复。开启简约模式的方法是:打开程序所在目录下的“Settings.ini”文件(如果没有可以自己创建),将其中的“FormStyle”一项的值改为“Simple”并保存即可。 新版程序支持命令行运行模式。在命令行中调用本程序,可以在路径后直接添加命令进行相应的设置。常见的命令有7类,分别是设置语言的命令、设置窗口模式的命令,设置安全级别的命令、开启强力修复的命令、设置c++修复模式的命令、控制Direct加速的命令、显示版权信息的命令。具体命令名称可以通过“/help”或“/?”进行查询。 程序有高级筛选功能,开启该功能后用户可以自主选择要修复的文件,避免了其他不必要的修复工作。同时,也支持通过文件进行辅助筛选,只要在程序目录下建立“Filter.dat”文件,其中的每一行写一个需要修复文件的序号即可。该功能仅针对高级用户使用,并且必须在正常窗口模式下才有效(简约模式时无效)。 本程序有自动记录日志功能,可以记录每一次检测修复结果,方便在出现问题时,及时分析和查找原因,以便找到解决办法。 程序的“选项”对话框中包含了7项高级功能。点击"常规”选项卡可以调整程序的基本运行情况,包括日志记录、安全级别控制、调试模式开启等。只有开启调试模式后才能在C
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页