不要以为 Bug 写的好就是好程序员,其实这只占不到 15%

用户头像
小Q
关注
发布于: 2020 年 09 月 11 日





最近和一位从事多年架构工作的技术哥们见面,聊到了近期面试程序员的一些经历,谈到了“如何判断程序员水平高低”这个话题,颇有些感触,觉得有价值,因此花了些时间整理、分享给大家。



正文

程序员的水平高低,不是靠语言或外在表现就能看出来的,不是看他会多少技术、参加过多少项目、写了多少博客,而是看他在实际业务场景中解决问题的能力,尤其是面对一些特别复杂的问题,或在高强度、高压工作状态下解决问题的能力与态度。



技术可以通过学习掌握,但是解决问题、定位问题的能力却不是一蹴而就。大家可能会说,“解决问题的能力”这个太宽泛了吧,可以更具象化吗,有具体的测量方法吗?简单整理了以下几点供参考。



代码质量

会写出满足需求的代码,早就不是评判程序员水平的标准了。代码编写既要满足业务需求,同时还要考虑后续的软件维护,说得通俗些,既要自己爽,也要别人爽。一个优秀的程序员,会致力于写出更简单、更效率、可读性强、扩展性强的程序代码。





逻辑思维

程序员在日常工作中,需要理解各式各样的业务需求,所以这就需要程序员具备一定的逻辑思维能力。可以说,逻辑思维是程序员的灵魂,因为每一行代码都是程序员逻辑的体现。



debug能力

项目着急上线,发布时出现问题?



业务高峰时段,系统宕机了?



业务催、运营催、用户催、老板催!



各种形态的bug,各种着急的心情,背后无数双眼睛盯得内心慌慌......



这些都是程序员需要面对的日常。但不同的程序员,在解决问题的方法、效率、质量等方面,却各有千秋。一个经验丰富的程序员,能够扛住各方压力,在复杂条件下找到核心问题,通过抽丝剥茧的分析来找到产生问题的原因,并快速进行应对处理,事后及时复盘总结,减少同类问题出现的概率。





学习能力

随之互联网的发展,越来越多的人涌入程序员这个赛道,竞争日益激烈,加之新技术层出不穷,更新迭代快,程序员所使用的语言、框架、模式都会发生天翻地覆的变化。如果不主动学习,有可能很快就会被落伍淘汰。



沟通能力

在日常工作中,程序员经常要与业务、产品、运营甚至老板等多方对接交流需求,技术内部项目衔接配合交流等,流畅的沟通能让事情推进起来更加顺利高效,沟通不畅或信息不对称,可能导致项目上线时出现南辕北辙(别不信,这种事情还真发生过)。



责任心

线上出bug了,第一时间响应、处理;团队项目进度紧张、人手紧缺,主动补位。



又或者,在项目推进过程中如果只是关心自己模块内容,对于整个项目置之不理,只守着自己的一亩三分地。



随着时间轴的拉长,你会发现,有此技术能力不是最好的,甚至不如你的小伙伴,最后做到了技术主管或经理、甚至更高职位,这里面除了技术实力,还有一个叫“责任心”的东西。



结束语

判断一个程序员的水平高低,核心是其解决问题的能力,而解决问题的能力养成,需要扎实的底层基础来支撑,要综合其代码质量、项目经验、框架能力、逻辑思维等等多方面,不能单看某一方面。



对于1-6岁的程序员来说,想要成为一个高级程序员,变得越来越优秀,唯有持之以恒去学习、积累、实践、修炼。



如果觉得有用,请点赞支持下~



-----end-----



免费福利大放送。



还没有领取的童鞋,速度点击下面链接前往领取哦:

相应的文章已经整理形成文档,git扫码获取资料看这里

https://gitee.com/biwangsheng/personal.git



发布于: 2020 年 09 月 11 日 阅读数: 24
用户头像

小Q

关注

还未添加个人签名 2020.06.30 加入

小Q 公众号:Java架构师联盟 作者多年从事一线互联网Java开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。如果能为您提供帮助,请给予支持(关注、点赞、分享)!

评论

发布
暂无评论
不要以为Bug写的好就是好程序员,其实这只占不到15%