对于程序员而言,技术过关当然是非常重要的,这是硬实力。然而只会技术也是不行的,毕竟大多数的程序员还是要与人打交道,软实力也是不可或缺的。怎样才能算合格,我认为有以下几点:

扎实的基础

  计算机领域是一个快速更新换代的领域,每隔一段时间都会有新的语言、框架、思想产生,追随每一个新技术很累。但仔细想想,事实上并没有那么多新东西。很多新东西只不过是已有技术的封装、或者借鉴的其他领域的技术。比如缓存数据库redis、memcached,其基本思想不就是操作系统中的缓存吗;分布式存储中的分片与复制集,不就是文件系统中RAID的扩展吗;还有Google的MapReduce框架,不就是来源于函数式编程语言的map reduce吗。掌握好计算机基础知识,能够更本质的看待新技术。

善用工具

  磨刀不误砍柴工,打造好自己的工具集非常重要。

  开发中会用到大量的工具,不管是编辑器、调试工具还是监控工具。大家都喜欢争论哪个IDE更好,然而这并没有多大意义,关键在于能够熟练的使用自己喜欢的工具,掌握各种快捷键,高度自定义,这样能够大大提高工作效率。而且对于日常中重复的操作,最好脚本自动化,这里推荐以下python,写小工具还是很快的。

  另外,强调程序员必备的两个工具,那就是浏览器和VPN。后者大家都懂的,不多说,主要是有了后者才能发挥浏览器的威力。浏览器大家天天都在用,但是如何高效的使用,比如在指定网站搜索、通过标题、url过滤、选择合适的关键字 还是值得研究一下,对于程序员,要使用好浏览器,那还得具备下一个能力:英语

过得去的英语

  不得不承认,在软件创新领域,国内还是落后于国外的,新的技术、一手的资料都是英文的。当新技术被广泛应用之前,我们在百度搜到翻译要么是machine translated,要么错误百出。看翻译的最大问题取决于翻译者本身的水平,即使翻译水平都很高,但同一个单次往往有不同的翻译,导致看文章的时候会有困惑,最好还是直接看英文原文。大多数原文,除去专业词汇、还是比较好理解的,而且,我发现很多牛逼的项目,都有非常通俗易懂的文档。

良好的编码习惯

  代码是写给机器执行的,同时也是给人阅读与维护的。维护者可能是别人、也可能是几个月后的样子。良好的代码规范,必要的、清晰的注释可以让自己少被问候祖宗十八代。

  

  对于代码风格,网上争议也很多,最重要的是保持项目内的统一。做为技术负责人,一定要在项目开启之初就顶号规范,当大量代码被堆出来之后就很难统一了,然后做好新人的review。

保持学习

   程序员这个职业,相比其他职业,可能还是要年轻许多。特别是在国内,最老的一批程序员好多都转管理了,再过10年20年,我们会怎么样呢,没人知道。前段时间华为35岁程序员被离职的事情,给我们敲响了警钟,悲哀之余,只有尽力学习了,拼不过体力就拼能力与经验吧

  学习这个事情说起来就复杂了,我觉得两点很重要:基础、学以致用。

独立思考

  合格的程序员解决的是问题,而不是实现某个解决方案。产品经理(特别是知道一点技术的产品经理)的某个需求可能只是某个问题的解决方案,他认为这个方法可以解决他的问题,于是把解决方案当成了需求,而不是真正的问题。程序员应该主动沟通,多问几个为什么,了解真正的问题,也许能有更好的解决方案。

  之前就有这么个例子,给到的需求:为每一个用户(用户有唯一的id标示)生成一个唯一的邀请码,同时也要为未来一段时间可能增加的用户预生成邀请码,保存到数据库。而真正的需求是老用户分享自己的邀请码,如果新用户使用了该邀请码,则老用户获得相应奖励。而我提出的方案很简单,直接用户的唯一id生成可逆的邀请码,这样就根本无无需数据库存储。

  

  产品经理经常改需求这是程序员最头疼的事情,作为程序员应该也站在PM的角度思考,帮助PM分析出本质的需求,这也许可以减少需求的变更。当然,前提是得干一行爱一行,需要对业务有一定的了解。

先思考后行动

  写代码的时候先想清楚了再下笔,而不是先写出一堆代码,然后在开始修bug。

  休bug的时候,多看看上下文,搞明白为什么出bug,修改这个bug可能带来的影响,然后再修改。反面教材有两种:第一种随便改改就把代码改好了,但自己心里并不清楚为什么这样修改就修好了,撞运气,也许还有其他同样的bug也发现不了。另一种就是,头痛医头脚痛医脚,不仔细评估修改的影响,这样往往会引入新的问题。

  

  程序员成长的一个办法就是修bug,修别人用不了的bug,但前提是搞清楚bug的缘由,这样才能避免类似的错误,有所收获。

顺畅沟通

  不是巧如舌簧、也不是忽悠达人。需要的只是耐心倾听,然后清晰表达自己的意见。

  现在的软件开发,已经不再是单打独斗的年代,大多数的软件、产品都需要多人、多部门的协作。而交流、沟通是非常耗时耗力的。沟通之前,先想好目标,组织好语言,尽量不要发散、不要跑题,对事不对人。对于重要的事情,保留沟通记录,最好有邮件,免得说不清。

   沟通是门复杂的艺术,最基本是听明白、说清楚。

管理好自己的暴脾气

  

  作为 一个程序员,要被PM怼、要被交互怼、要被QA怼,再变态的需求都可能有,QA给你提的BUG可能也不属于你。而且,还有猪一样的队友(自己在别人眼里何尝不是这样呢)和下属。不管谁是谁非,发脾气、吵架都一点用没有,吵完还是得解决问题。calm down,有怒火也得等个几秒再发作,也许这几秒理智思考一下,就能解决问题。

负责任

  能力(技术能力)与责任心谁更重要呢,都重要。如果一个新人有培养的潜力,那么责任心就更重要。两个人,第一个技术能力很强,但责任心很差,对项目的事情也不上心;第二个能力差些,但责任心强,是自己的问题一定负责到底,即使自己不能解决也能主动询求帮助。我觉得前者对项目的危害更大,特别是项目紧要时期,因为能力强的人一般负责的是比较复杂、困难的功能,别人上手也需要时间,这个时候如果摞担子,bug也不修,那么就很为难了。

  不负责任的典型表现就是扯皮、甩锅:这不是我的bug、不关我的事。有协作的地方更容易出现问题,比如前端与后端、各个部门之间。如果不清楚到时是谁的问题,不妨主动一点,帮助排查。

不要总是说不会

  作为程序员,总有一些工作是以前没有做过的,也许来自产品人员的需求,也许来自项目自发的优化。我见过一些程序员,在面临未知的问题、挑战时,总是习惯于说:不会、没办法、不可能,这样的程序员就算不上合格的程序员。事实上,这样的程序员是给自己过早地留好退路,事实上问题可能并没有想象得那么困难,也许经过一番探索就能解决。如果习惯于对未知说不,那么在别人看来就是能力不行,影响个人形象与声誉,而且总是待在自己的舒适区也不利于自我成长。如果大家对Python感兴趣的话,可以加一下我们的学习交流抠抠群哦:649825285,免费领取一套学习资料和视频课程哟~

  当然,也不是说要盲目自信,急于拍胸脯保证一定能解决,这样往往是坑自己。

  所以,面对新的需求,谨慎对待,既不轻易否决也不随意承诺,而是再理清需要先去研究一下,评估是否能完成,需要的资源与时间。

怎样才算得上合格的程序员,教你一招相关推荐

  1. 怎样才算得上合格的程序员

    转自:http://blog.csdn.net/B9Q8e64lO6mm/article/details/78829370 最近同一部门另一个项目组的一位程序员被"主动离职"了,虽 ...

  2. 如何禁止小孩玩游戏? 程序员教你一招!

    我们经常看到新闻上面报道熊孩子偷玩父母手机,玩游戏花光父母几十万积蓄,心酸又无奈,今天小编给各位家长带来最终解决方案. 此软件可以禁止小孩玩游戏,禁止手机安装游戏,帮助因沉迷游戏影响生活和学习的小孩的 ...

  3. 一个合格的程序员所具备的素质和修养

    程序员基本素质: 作一个真正合格的程序员,或者说就是可以真正合格完成一些代码工作的程序员,应该 具有的素质. 1:团队精神和协作能力 把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基 ...

  4. (转载)如何成为一个真正合格的程序员?

    转载地址不详,说的很好,所以转过来! 以下文章都是经典,看不看随你的便,我只希望知识掌握在更多中国人的手里! 中国有很多小朋友,他们18,9岁或21,2岁,通过自学也写了不少代码,他们有的代码写的很漂 ...

  5. 什么样的程序员才能算是一个合格的程序员呢?

    合格的程序员不是根据代码的行数来判断的,代码敲得飞一般的速度,只能说是个不错的打字员. 程序是为解决实际问题而存在的,要解决生活中的实际问题,掌握基本的语言知识是前提,敏捷的思维才是最有效的保障,思想 ...

  6. 世界上第一个程序员——诗人拜伦之女Ada,短暂而非凡的一生

    程序员中的女神--Ada,非她莫属.Ada是世界上第一个程序员,注意,不论男女,她都是第一,Ada是英国著名诗人拜伦之女.拜伦之女为什么是个程序员呢?龙生龙,凤生凤,这不科学啊.其实,Ada除了她爸是 ...

  7. 软件行业的崛起---------之合格的程序员

    原 1. 编程语言能力 不用多说,作为合格的程序员,精通一门语言是必须的.这种精通,不是说看了一本<24小时精通XXX>,抄了几个程序就能说精通的,要靠长时间的积累和浸淫. 2.编码能力 ...

  8. 一个男生走过多少路,才算得上一个男人

    今天或许是真的对人外有人,天外有天有一些切心的体会了. 一个男生走过多少路,才算得上一个男人. 一个coder写了多少行代码,才算得上一名programmer. 世界上最可悲的事就是无知,自大也是一种 ...

  9. 如何成为一个合格的程序员?

    想要成为一个合格的程序员,往往需要满足以下几点要求: 一.细心 对于很多程序员来说,写出来的代码可能这里因为不小心漏了什么,那里因为不小心没有测试出一个Bug,这里少个符号,哪里多个空格等等,因为马虎 ...

最新文章

  1. numpy中函数shape的用法
  2. JDBC的API与德鲁伊Druid连接池配置
  3. python 解决for读取文件出现的换行符
  4. 台服海岛纪元显示无法连接服务器,打开海岛纪元提示网络异常或者连接不上
  5. [CM311-1A]-全网最全 Android 用户管理及用户应用权限
  6. python爬取千图网高清图
  7. CC1310架构及工作原理
  8. 6.5 发散思维能力
  9. 武大地理信息科学本科生的专业相关网站总结分享(包括制图、专业课、自学复习等)
  10. 网络安全之内网信息收集
  11. 【书单】100部世界名著
  12. 这些潮汕美食你真的不来尝一尝?
  13. 品牌对比 | 特步 VS 李宁
  14. 电脑中设备管理器-声音、视频和游戏控制器突然不见了——解决方法
  15. 真实生活的记录:我三年的外企生涯(10) 出处:天涯虚拟社区
  16. 在 DataFrame 多列数据中模糊查找匹配数据
  17. Linux X11远程图形桌面显示
  18. 基于jsp+servler+css的登录界面
  19. PHP递归获取文件夹和文件
  20. 设计模式-02.经典设计原则-第一节-单一职责原则,开闭原则,里式替换,接口隔离【万字长文系列】

热门文章

  1. 详解中奖概率逻辑:为什么你中不了特等奖(附原件)
  2. 新时代培育新动能:2021年“专精特新”发展蓝皮书
  3. 数据分析之如何制作数据埋点文档(二)
  4. 虚拟专题:联邦学习 | 面向隐私保护的非聚合式数据共享综述
  5. 大数据与实体经济深度融合全国行首站将于7月10日在贵州举办
  6. 作者:熊赟,复旦大学计算机科学技术学院副教授。
  7. 作者:王文生,中国农业科学院农业信息研究所副所长、研究员。
  8. 2015中国大数据技术大会在北京隆重开幕
  9. 查找(洛谷P2249题题解,C++语言描述)
  10. 动态规划 NOIP经典问题 开心的金明(洛谷P1060题题解,Java语言描述)