如何锻炼独当一面的能力

5141.png

    《5分钟从学生到程序员》第14课。

    我们先来统一一下独当一面的概念,这里讲的独当一面是指在项目范围内,不是指在公司范围内。在公司内独当一面,那是研发总监、产品总监、运营总监这一帮人,他们可以独立负责公司的某个业务板块,是企业正常运营的基石。工程师的独当一面,是在项目中,能独立承担一块业务或一个模块,是项目正常进行的基石。

    这里讲的独当一面,是讲独立负责模块,不是讲怎么当研发总监,如果对刚入行的程序员讲怎么当研发总监,我一定是疯了。

    程序员的独当一面,主要是两个方面的能力:

    1)负责模块的能力;

    2)独立解决问题的能力;

1. 负责模块的能力

    这个能力我们在前面讲的比较多,就是增加对产品的理解能力和分析能力,拿到一个模块之后,懂得把它分解成一个个功能,懂得模块化思维,懂得代码模块化等。模块化能力把前面章节分享的内容,在工作中多实践,基本上很快就能掌握。

    这节课我们主要讲第二个能力,独立解决问题的能力。

2. 独立解决问题的能力

    前面课程,我一直在讲,有问题就问,这个是成长最快的方法。到中级工程师,有问题还是可以问,但不是什么问题都问,除非搞不定的事。所以你要锻炼解决问题的能力,有一套解决问题的方法。这个能力练久了,就能独立解决问题了。

3. 什么是独立解决问题的能力

    它包括三个方面:解决问题的能力,解决问题的意愿,不解决不罢休的韧性。

    1)解决问题的能力

    并不是每个人都有解决问题的能力,比如中级工程师,遇到框架的问题就搞不定,因为框架问题是高级工程师及以上次第解决的。比如高级工程师,遇到项目的问题就搞不定,因为项目问题是主管工程师以上次第才能解决的。

5143.jpg

    我用一个通俗的例子,你就大概知道每个次第的程序员的能力范围了。现在做的项目就是盖大楼。

    初级程序员:可以给一间房间砌墙、铺地坂、给墙壁上水泥等;

    中级程序员:能搞定一层,懂得把一层楼格成一套套房,一间间房,懂得处理内外墙,懂得处理楼层之间的衔接;

    高级程序员:能搞定从地基到楼顶所有的工作;

    主管程序员:除了能搞定楼体之外,还能搞定大楼的景观工程、地下车库等完整的建筑项目;

    项目经理:项目经理除了把大楼搞定,还能搞定前期的选地、找建筑队、采购物料,还要能搞定后期的装修、招商、及日常的维护。

    我为什么用建大厦的例子来说明呢?我们做软件项目,不就是建代码的大厦吗?我们用对等的实物来比较,就很清楚自己的位置在哪里。

    前面讲框架问题,就是从地基到楼顶的工作,中级工程师搞不定;项目问题,就是搞景观工程,或者采购物料,高级工程师搞不定。

5144.jpg


    前面罗里吧嗦的讲这么多,就是帮大家认清自己的位置,能解决的问题是什么。不然跟你讲说要独当一面,好了,你什么问题都要自己搞定,那就把你搞死了。很多鸡汤,比如“只要你努力,就能成功”、“只要你足够强大,全世界都会给你让路!”,只要你次第不对,再怎么努力也搞不定,所以不要被这种毒鸡汤害了。

    我们在公司,能看到很多成功的案例,和很多失败的案例。我们去分析成功的案例,就会发现他们在做自己能力层次的事,或者比能力层次稍微高一点的,也就是垫垫脚就够的着的;而那些失败的案例,会发现他们都是心比天高,每天很努力,很忙的人,也就是“人有多大胆,地有多大产”的案例。


    综上,解决问题的能力,是解决本次第的问题和比能力层次稍微高一点的问题的能力。这点非常非常重要,一定要记的。

2)解决问题的意愿

    并不是每个人都有解决问题的意愿,我们经常会看见,在公司里有些人都在推责任,把问题推给别人。你仔细的去看,这种人都是工作好多年,大家都觉得他能搞定这种问题,让他来解决最合适,但是他就是不愿意。

    所以这种人,经常工作十来年,还在高级工程师上混,就是没有解决问题的意愿,也就没有成长的机会。

    我讲的课,都是主动承担责任,若要如何,全凭自己,我们讲的都是有意识的成长。如果无意识会怎么样?我前面也讲过,初级工程师,对别人能帮就帮,责任范围不断扩大,不知不觉就成长为中级工程师;中级工程师,做好本职的工作,操心项目,到处解决问题,到处给意见,无意识的成长到高级工程师。高级工程师中总有人被莫名其妙的推到主管工程师,这些都是有意愿解决问题的结果。

5142.jpg


    3)不解决不罢休的韧性

    我们经常会听到:“我尽力了,这个问题我就是搞不定。”,这种就是没有不解决不罢休的韧性。

    真正的能力是能贯彻到底,解决问题的能力。所以遇到问题不要怕,能搞定一定搞定,如果不是自己能力范围内的问题,寻求更高层次的人的支持,最终把问题处理掉。这个也是不解决不罢休的韧劲,因为问题最终因你而解决。

4. 总结

    这节课带大家认识不同次第的程序员的责任范围和能力范围,知道哪类问题是自己可以解决的,哪类问题是需要寻求帮助的。并和大家分享什么是独立解决问题的能力,它包括三个方面,有解决问题的能力,有解决问题的意愿和有解决问题的韧劲。当你有这三方面的能力之后,在本次第上锻炼解决问题能力,形成一套自己的方法论,以后你就可以用这套方法论在职业拼杀,打造自己的职业生涯。


    这个系列14节课,到这里全部分享完毕,希望你看了这个课程,能找到好工作,在工作中能适应岗位要求,锻炼解bug、开发功能的能力,以及锻炼独立解决问题的能力,增加对产品、代码框架、开发方法的理解,在岗位上快速成长。


猜你喜欢

转载自blog.51cto.com/14472495/2456123