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

正文

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

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

代码质量

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

 

逻辑思维

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

debug能力

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

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

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

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

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

 

学习能力

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

沟通能力

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

责任心

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

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

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

结束语

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

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

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

看到这里是不是有很多感悟呢~

如果你也很想学会编程,那么小编推荐我的C语言/C++编程学习基地【点击进入】!

 

都是学编程小伙伴们,带你入个门还是简简单单啦,一起学习,一起加油~

涉及:编程入门、游戏编程、windows编程、Linux编程、Qt、黑客等等......

不要以为Bug写的好就是好程序员,其实这只占不到15%!的更多相关文章

  1. 写给自己的Java程序员学习路线图

    恩,做开发的工作已经三年多了,说起来实在是惭愧,自己的知识树还像一棵小草一样,工作中使用到了许多的知识和技术,不过系统性不够.根基不牢.并且不够深入!当然,慢慢的我也更加的清楚,我需要学习一些什么样的 ...

  2. 写给自己的Java程序员学习路线图_转载

    如下是我做开发这三年经常使用一些技术和工具,当然这些技术也都是需要加强的(有些是我一直使用的,不过不深入,有些内部的原理等等不是很清楚) 前端部分: 1)HTML:网页的核心语言,构成网页的基础 2) ...

  3. 为什么不用C++写游戏(聪明的程序员不用C++折磨自己)(这些工作,QT都替开发者解决了,C++没有根类导致太多的问题,也没有字符串类)

    当今世界上绝大多数游戏都是C++写的,为什么要说不呢? 要做什么?写游戏. 写游戏首先要考虑些什么?做什么样的游戏,图形.音效.游戏逻辑如何实现. 用C++要先考虑什么?定义跨平台数据类型抽象,实现常 ...

  4. 程序员奇谈之我写的程序不可能有bug篇

    程序员在普通人的印象里是一份严(ku)谨(bi)的职业,也是一个被搞怪吐槽乐此不疲的职业,程序员们面对复杂的代码敲打电脑时连眉头都不会皱一下,但是有一个词却是他们痛苦的根源,它就是Bug. 有不少的新 ...

  5. 为什么程序员老在改 Bug,就不能一次改好吗?

    程序员的日常三件事:写Bug.改Bug.背锅.连程序员都自我调侃道,为什么每天都在加班?因为我的眼里常含Bug. 但是真的有这么多Bug要改吗?就不能一次改完吗? 程序员听这问题后要拍键盘了,还!真! ...

  6. 一个bug程序员的入园

    大家好,我叫dg是一个只写bug的程序员.当然只写bug也是有好处的,那就是踩过的坑多了,摔的跟斗多了,并且没有被摔死,勇敢的活了下来,练就了一身钢筋铁骨.哈哈,开个玩笑.但是猜的坑多了就知道了哪里有 ...

  7. 因写太多 BUG!程序员遭公司颁奖羞辱,做的一个比一个绝​

    刚入职的程序员新人,办公桌上,基本上也就一电脑.一键盘.一鼠标,再配个被杯子.然而混迹职场多年的猿老们,办公桌上都有一些彰显身份地位的“好东西”. 这张图两点颇多,最显眼的,是办公桌上那个黄黄的东西, ...

  8. 程序员生存之道,多写bug!

    1.代码写得好,bug少,看起来就像闲人. 2.注释多,代码清晰,任何人接手非常方便,看起来谁都都可以替代. 3.代码写得烂,每天风风火火改bug,各种救火,解决各种线上重大问题,于是顺理成章为公司亮 ...

  9. 程序员写的东西出了bug,造成了损失谁来承担?

    这是个持续多年的话题了,很多大公司,尤其是牛逼的独立分包公司(开发公司)都会有代码审核和严格QA程序,一般的公司就很难说咯,在法律上目前还没有完全支持处罚程序员bug经济损失的判例(国内如此),国外也 ...

随机推荐

  1. LAMP 和 LNMP

    #0x01 组成: LAMP==Linux+Apache+Mysql+PHP LNMP==Linux+Nginx+Mysql+PHP LANMP==linux + nginx + apache + m ...

  2. Java Web制作登录 验证码

    具体操作如下: 新建一个servlet,代码如下:标记一个WebServlet, @WebServlet(urlPatterns = {"/checkCode"}) //验证码Se ...

  3. .NET Core原理(不知道怎么命名合适)

    作者:cmliu:.NET Core启动都做了什么 .NET Core默认启动时的流程,您可以将图片另存为,在本地放大查看 .NET Core默认模板都做了些什么,首先贴出模板里面的Program.c ...

  4. Fiddler无法抓取web项目中的http请求解决方案

    问题:webform项目中对接API使用Fiddler无法获取该API的请求,该webform比较老的一个项目, 同一个API写在控制台可以抓取到请求,用web项目放在本地IIS却不行,使用IIS E ...

  5. 深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)请自取

    最近在读,附上网盘链接 复制这段内容后打开百度网盘手机App,操作更方便哦 链接:https://pan.baidu.com/s/1U6yFeZxz9uD6sSiu-Br06g 提取码:3Wt4

  6. vue中父子组件传值问题 通过props 和 $emit()方法

    (代码在最后) 1.父组件给子组件传值直接通过props,听着很简单,但是对于初学者来说还是比较难以理解的,今天小白通过自己的实践操作结合代码分析一下 案例  把模态框单独的抽离出来,当作一个组件 第 ...

  7. 从 LRU Cache 带你看面试的本质

    前言 大家好,这里是<齐姐聊算法>系列之 LRU 问题. 在讲这道题之前,我想先聊聊「技术面试究竟是在考什么」这个问题. 技术面试究竟在考什么 在人人都知道刷题的今天,面试官也都知道大家会 ...

  8. Vue中computed分析

    Vue中computed分析 在Vue中computed是计算属性,其会根据所依赖的数据动态显示新的计算结果,虽然使用{{}}模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的,在模板中放入太 ...

  9. MySQL手注之盲注(布尔)

    布尔注入: 当我们在注入的过程中输入的语句在页面没有数据返回点,这就需要利用布尔型盲注一步步来猜取想要的数据.(盲注分为布尔盲注和时间盲注) 盲注常用函数: length()  返回字符串的长度, 可 ...

  10. VMware虚拟机ubuntu下安装VMware Tools步骤

    双击VMware Tools进入 找到后缀.tar.gz的压缩文件 将压缩文件复制到home目录下,home目录即左侧的主目录文件夹 打开命令行终端,默认应该就是home目录,如果不是home目录,在 ...