高效程序员的8个特质!

软件工程师的10种特质     谁是完美程序员?着名博客作家Alex Iskold在《明星软件工程师的10种特质》一文中给出这个问题的答案:    1. 热爱编程    2. 完成事情    3. 持续重构代码    4. 使用设计模式    5. 编写测试    6. 善用现有代码    7. 专注可用性    8. 编写可维护的代码    9. 能用任何语言编程    10. 阅读详情

阅读本文大概需要2min

文/ 强哥;未经授权禁止转载

工作这么多年,和应届生、初级程序员、高级工程师、CTO都有过不同程度的合作,发现一个情况:年龄和工龄的增长与工作效率并不是完全正相关。

 

那些工作效率高的程序员,都有以下几个特质:

 

1、不写“垃圾代码”

 

很多产品经理和开发都有这么一个习惯:考虑业务和产品后续的拓展性,前期会把功能做得尽量全,后续可以快速支持业务和产品发展。

这么思考没有错,但一个高效的程序员对于这种想法会很谨慎,因为面向未来的不确定性编程,也意味着这些预留的功能可能压根不会被用到。

也就是说,前期你可能写了一些“垃圾代码”。这还会造成一个问题:其他人也不敢删除这些多余的代码,怕引发其他的bug。

所以为了高效利用自己的时间,少写点“垃圾代码”!多向产品经理提出你的问题。

 

2、避免过早优化

 

有些程序员有强迫症,产品性能不符合自己的理想情况,就老想着优化,觉得这样特别极客。做难的事情。

但现实是,提高一点代码速度,带来的业务和产品价值或许微乎其微,可能你还要花很多时间在这种没有太大价值的优化上面。

而且新的优化可能会引发新的问题,产生的问题可能对产品产生很大的影响。

这么一想,很多不必要的优化,真的不要太过执着!

 

3、避免“小聪明”

 

很多人有各种各样的“小聪明”,却缺少“大智慧”。

何谓“小聪明”?比如在程序员看来特别炫酷的编程技巧,却让接手你的代码的人看得不明所以。

何谓“大智慧”?用一位技术大佬的话来说:


“可维护的代码比聪明的代码更重要。”

 

4、保持简单

真正有能力的人,善于把复杂的事情简单化。而那些喜欢提高他人理解门槛的人,往往爱把事情复杂化。

面对复杂的编程问题,提出简单有效的解决方案,是每个高效程序员应该具备的技能之一。

作为计算机科学的先驱之一,Dijkstra曾说过:“简单是可靠性的先决条件。” 

你的解决方案越简单,就越难引入错误。就这么简单。

剩下4个特质,下篇再跟大家仔细讲讲。喜欢文章的可以点个关注,加强哥微信交流!

- END -

今日留言区话题讨论

你见过的高效程序员都有哪些特质呢?

大家好我是强哥,一线互联网大厂技术leader,团队负责人。欢迎扫码加入读者群,共享技术干货/行业信息/求职内推等,进群方式见下图

QComboBox stylesheet样式表 阅读详情

相关推荐

使用强化学习快速让AI学会玩贪食蛇游戏(轻量级二十分钟训练+代码)

如何让AI玩会贪食蛇,甚至比你厉害概述构建问题(强化学习求解的一般步骤)环境动作定义状态定义奖励设计训练奖励值收敛图效果代码 概述 所用技术:强化学习(Deep Reinforcement Learning),属于一种无监督学习,利用奖励rewardrewardreward教会智能体AgentAgentAgent在合适的场景做合适的决策。 采用算法:试过两种算法D3QN和离散版本的PPO算法,最终采用离散版本PPO算法+GAE(PPO是我用过的性能最好的算法之一) 编程语言与深度学习框架:Python3.

ZYunfei的博客 2万+

高效程序员的修炼(中文版)pdf part2

高效程序员的修炼(中文版)pdf part2,Jeff Atwood著,很清晰哦

IEC 61400-1:2019 中的 Vref ——从分类基准到极端风模型的应用

IEC 61400-1:2019 中的 Vref ——从分类基准到极端风模型的应用

weixin_46713695的博客 1222

优秀程序员的6个共同特质

如果你在一家IT公司,与周边的程序员接触时间越长,对他们的可爱之处了解地就越多:或呆或萌,或正派或猥琐。如果你恰好是一个程序员,你会发现身边优秀的同事也总是有一些共同点。原文作者ROYVANRIJN总结了他身边优秀程序员同事拥有的6个共同特质:  具有好奇心热爱分享具有社区意识以身为程序员而自豪有点懒代码可视化 1. 具有好奇心 他们总是保持一颗好奇心,凡是遇到问题,首先就是:Goo

itmyhome的专栏 2970

程序员的五种不同寻常的特质

程序员身上有很多特质,用通俗点的话说,是“易黑体质”,但同时优秀程序员也有很多体质。因此,如果你认为自己缺少下面的某些品质,千万别往心里去。不是一时兴起才来探讨这些,其中的很多迹象来自于对其他程序猿的观察或阅读他们的代码。1. 先试试是本能反应编译器和运行环境通常能比人更快地解释一个问题。一个优秀的程序猿在拿着问题去向别人寻求帮助之前,会自己试试看并判断方法是否有用,而不是直接找一个高级程序员问“

code小生 1039

程序员的十个特征

1. 好奇心  程序员是永远不会接受现成的东西的,他们必须亲自解开内心深处的迷惑和渴望。  2. 清晰的思维技巧  编程是一件需要严密逻辑和清晰思维的事情,有强大的数学或者科学背景的程序员通常更加成功。  3. 快速的阅读速度和理解能力  相当大一部分程序员的一天都花在阅读上,阅读设计文档,或者其他人的代码,API,注释等等,有些程序员读的快,能很快理解,并且开始行动,另外一些

瞎掰大数据-- 世界的本质是数据,胡侃瞎掰,专注微软大数据解决方案 1975

优秀程序员的十大特征

1)立足于大道,知其然也知其所以然,一窍通而百窍通;   2)涉猎广,活到老、学到老;   3)不迷信权威,具体问题具体分析,敢于突破常规、灵活应用,想他人之不敢想;   4)善于总结,能从别人和自己的错误中学习; 百不足一,混迹江湖,游刃而有余。   5)洞悉和把握细节,于细微处见真章;   6)勤于动手,正所谓实践出真知,真正优秀的程序员是从不纸上谈兵的; 万里挑一,

晴月浩雪站 1010

程序员八大特点,看看你符合多少?

       作为一个北漂在北京将近10年的java程序员,到了该成家的时候,难免会有所感概,现在将这几年对程序员的一些认识跟大家分享一下。为什么每次跟一个初次见面的人,他能够第一眼就看出,‘你是做it的吧?',当时的我一听,很是感到诧异,难免会上下打量自己一番,然后扭扭捏捏的跟人家说’是的,你怎么知道?‘。当然会有人说,我不是程序员,我的头衔叫‘工程师’,呵呵,其实同在中国做研发的大家应该都知...

benben 537

杰出程序员的十大特质

关于如何才能成为一名优秀的程序员,最近又一次成为了我们关注的焦点。下面是我认为我们最需要具备的特质:   1.善于解决问题——希望大家都能认识到这一点。大多数优秀的程序员能够找到别人发现不了的解决方案。   2.既发奋又懒惰——这一点让很多人都感到吃惊。程序员之所以喜欢提出质疑,往往是因为“懒得”走冤枉路。在这种想法的驱使下,他们会孜孜不倦地简化问题,简化任务。也就是说,他们会迫切地完

wblobin的博客 556

程序员应该拥有的7个特质

一个好的程序员应该拥有的10大特质,你符合哪些呢? 1、喜欢研究无论你怎么称呼它,你可能遇到的大多数编程问题几乎在一定形式上都已经被解决了。传道书早就记录在案,阳光底下无新事。在GitHub上的库文件列表中,在互联网上的博客中,或者恰好与某个人经验交流中,好的程序员知道要在解决一个问题之前先做研究。 2、读错误信息这包括...

IT技术分享社区 386

伟大程序员的十大特质

 关于如何才能成为一名优秀的程序员,最近又一次成为了我们关注的焦点。下面是我认为我们最需要具备的特质: 善于解决问题。既发奋又懒惰。能理解别人的代码。对编程充满热情。为了学习而爱上学习。擅长数学。具有良好的沟通技巧。强大的辩论技巧。极端乐观。极度悲观。 1.善于解决问题——希望大家都能认识到这一点。大多数优秀的程序员能够找到别人发现不了的解决方案。 2.既发奋又懒惰——这一点让

MeAmI的专栏 627

完美程序员的十种特质(转)

这是在我刚毕业时收藏的一篇文章,自己一直把它放在我的电脑桌面上,曾有段时间几乎每天都会看一篇,以此来激励自己,最近打开老电脑,再次看到这些文字,已经在这个行业摸打滚爬了7年 多了,感慨了许多,不知道自己做到了多少,这次发出来,与你我共勉。 完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质:   1. 才智非凡 - 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力

iOS开发笔记 5166

优秀程序员的10种特质

如今,每家公司都似乎成了科技公司。从软件创业公司到投机性投资公司、制药巨头和媒体巨头,它们都越来越多地加入到软件业务行列。     代码质量不仅成为了一个必需品,更成为了一个竞争优势。因为众多公司围绕软件而竞争,开发软件的人——软件工程师正显得越发重要。但是,你该如何发现那种百里挑一的程序员呢?在本文中,我们简明扼要地列出了明星开发人员的10种特质。   1. 热爱编程   2. 完成事情

不只是写代码的程序员 1662

程序员的三大优点:懒惰、急躁和傲慢

1987 年的今天,Perl 1.0 发布。今天是 Perl 语言诞生 35 周年。忽略一下这张图的时间Perl 语言发明人 Larry Wall 是一位传奇的黑客、一个风趣幽默的人。他的传世名言——程序员的三大优点是:懒惰、急躁和傲慢。在编程圈子的普及程度大概仅次于——林纳斯大神的 “Talk is cheap. Show me the code.”但是,很多人还不太了解大神这句话背后的整套...

图灵教育 2258

程序人生:优秀程序员特征—聪明,懒惰,善假于物也!

程序员从心理上讲都是喜爱自己的代码的。 正确的软件开发应该是懒惰式开发,也被称作忍耐式开发;这种开发方式的表现是,在真正动手写代码前,程序员要花大量的时间通盘考虑所有可能的解决方案和途径。 这可以看作是延缓写代码,在没有完全理解问题前绝不动手写代码。 先把问题理解清楚,确保将要写的代码能真正的解决问题,这将会避免之后写出大量无用的代码。 这里说的先把问题弄清楚,表现有: 真正的理解需求,让产品部门(业务分析部门)弄清楚他们真正需求的是什么。 这些部门通常不给足够的时间来整理需求。 他们经常

C语言C++学习俱乐部:765860056 832

程序员的自我修养

1、喜欢帮助他人,照顾比自己差的程序员   程序员的脾气通常很大,常常会和客户、同事,甚至老板在程序问题上发生争执。优秀的程序员能够站在对方的立场上想问题,能理解客户的无知、初级程序员的无能、老板的无奈,他总能用最大耐心来帮助他人,帮助同事,帮助新来的员工,使他们能快速成长。 2、对编程有激情   很多程序员干这一行只是为了挣钱,如果有更好的职业,他们会毫不犹豫的辞掉程序员的工作。而

lz0426001的专栏 1276

总结二:程序员的个性特点

每个程序员都有自己鲜明的个性、特质和习惯。 关于个性理论,现在有名的是MBTI(迈尔斯-布里格斯类型指标)。 心理学认为,“性格”是一种个体内部的行为倾向,它具有整体性、结构性、持久稳定性等特点,是每个人特有的,可以对个人外显的行为、态度提供统一的、内在的解释。 MBTI把性格分析4个维度,每个维度上的包含相互对立的2种偏好: 其中,“外向E——内向I”代表着各人不同的精力(Energ...

沛哥儿的专栏 4万+

佳博小票打印机安卓SDK-V3.3.1及示例代码

佳博小票打印机Android端SDK-V3.3.1-20230327及示例代码

上一篇: 技术大佬和普通程序员改bug的区别!
下一篇: 程序员如何延长职业生涯?
程序员干货站
博客等级 码龄8年 114粉丝 85原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值