程序员犯的非技术错误(Top 5)

对于程序开发者来说,有两种技术需要我们掌握,一个是技术上的能力,另一个是非技术上的能力。不幸的是,许多程序员过多地关注了技术上的能力,而忽略了非技术上的能力的培养,因此,我们的程序员们经常会有一些很不好的习惯,这里我们例举了程序员们最常犯的5个非技术的错误,与大家共勉。

1.- 缺乏团队纪律

“Discipline is the bridge between goals and accomplishment.” Jim Rohn.

纪律是一个最有价值的技能,不仅仅只是在软件开发领域,同样在其它领域也是一样的。但对于现实来说,我们很难找到即有才华又有纪律的人。这正如足球队一样,非洲的球员们才华相当的出众,可惜他们总是独自为阵,团队纪律性不足,所以可以有好的成绩,但却无法赢得最后的胜利;而德国队的队员个人技能平平,但其有很强大的团队纪律性,所以,总是能打入最后的决赛并获得冠军。有人说过,个人英雄并不可怕,而有强大纪律性的团队才让人可怕。这正是日本这个民族的可怕之处。况且,软件开发从来都不是一个人可以完成的事情,所以团队工作中的纪律性会是非常重要的。

Steve Pavlina 强调了自律中5个因素:“承担, 毅力, 努力, 勤奋, 和坚持” 这里,我们强烈推荐你读一读Steve的 关于自律的文章。

下面是我们觉得程序应该有的比较良好的习惯。

  • 每天都有自己的to do list
  • 在一个时间内只做一个事
  • 把事情做对了
  • 事情没有完全完成时不要轻易结束
  • 慢点总比道歉好,道歉总比不做好

2.- 过度自负

我们的经验告诉我们,过度的自负的人一般是意识不到自己的自负,下面是一些过度自负的特征,希望你可以从中检测一下自己是否过度自负了。

  • 觉得自己是最牛的程序员
  • 总是打断谈话
  • 你要求Code Reivew不是要检查代码,而是向大家炫耀你的代码

在网上有太多的文章关于程序员的自负的问题,这里有两篇,你可以看看:一篇是Mike Bernat的 Egoless programming(无自负编程) 还有一个是stackoverflow.com 上的一个贴子。

3.- 沟通不畅

“如果我要说十分钟,我需要一周做准备;如果说15分钟,我需要3天做准备;半个小时,我需要两天;如果说一个小时,我现在就准备好了。” Woodrow Wilson

人类的沟通是我们最主要的活动。成为一个好的沟通者是一件很难的事情,我们不断地和别人交换关于设计,编码,文章的意见,并且我们每天都在试图说服别人我们自己的设计和想法会更好,更有道理……

然后,好的沟通者是那些当他们正在解释一些事情的时候,他们的解释是下面这个样子的:

  • 专注。不跑题,没有废话。
  • 清晰. 很容易听懂。
  • 简明. 加一点就觉得多,少一点都觉得不够。

要有一个好的沟通技巧,我们的建议如下:

  • 如果你觉得你沟通方面不够好的话,请事先准备你要表达的东西,努力做到专注,清晰和简明。
  • 在交谈中,先听,后想,最后再说。
  • 永远从对方的角度思考问题。

4.- 忘了用户

“如果我们不关心我们的用户……那么别人会”

你的存在,你工作的意思只有一个原因——你的用户。我们在很多时间都会忘了这个事情。经常,我们在工作当中,技术会取代用户而占据了主要的位置,我们可以花费数月的时间来创建一个程序框架,但一个程序框架不会给用户代来任何的价值,我们不是说程序框架不重要,而是说,对于用户的需求来说,这是其次重要的东西。如果离开了用户的需求,我们所有的技术,算法或是精妙的设计将会变得什么也不是。

5.- 不懂工作的轻重缓急

程序员总是喜欢去研究一些新的或自己感兴趣的东西,但对于软件工程来说,我们更需要知道所有事情的轻重缓急,要学会如何了解事情的优先级,这样才会让我们的工作事半功倍,而我们的工作也会更有效。比如,当用户的站点出现问题的时候,有些时候,我们的程序员过试地关注于问题的重现和原因,而忘记了用户的站点正在流血,无法进行生产。所以,一般来说,最重要的事情首先是恢复用户站点,然后才是去重现和调查问题。在我们的日常工作中,我们要处理很多事情,只有了解到了所有事情的轻重缓急,处理最重要最紧急的事情,我们才能够更好的安排自己的工作,才能够更好的完成我们的事情。不要以为这是一件很简单的事情,这需要我们不断地和别人沟通来了解事情的轻重缓急,事实证明,如果我们不懂工作中的轻重缓急,本来只有一件紧急的事情,如果处理不当,最后可能会演变成多件紧急事情,其它本来不紧急的事,后来也会变得很紧急,最终程序员们顾此失彼,苦不堪言。希望大家切记。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452478.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS下添加Root权限用户‘超级用户’方法(xxx is not in the sudoers file.This incident will be reported.的解决方法)

文章目录1.添加普通用户2.添加sudo文件的写权限3.编辑sudoers文件4.撤销sudoers文件写权限1.添加普通用户 [rootserver ~]# useradd fxd //添加一个名为fxd的用户 [rootserver ~]# passwd fxd //修改密码 Changing password for user chenjiafa. New UNIX password: //在这里输…

android打印intent flag,Android flag详解

Android flag详解Android flag详解一.Flag标志位在阅读源码的时候经常发现有一些标志属性使用一些位操作来判断是否具有该标志,增加标志或者去除标志。如:二.addFlags (int flags)和setFlags (int flags)区别Public Intent addFlags (int flags)增加额外…

人机界面设计

1.系统响应时间 系统响应时间指从用户完成某个控制动作(例如,按回车键或单击鼠标),到软件给出预期的响应(输出信息或做动作)之间的这段时间。 系统响应时间有两个重要属性,分别是长度和易变性。 1)长度:时间过长&#…

GeoHash资料

geohash基本原理 转载于:https://www.cnblogs.com/hyl8218/p/9111410.html

开启市场新格局 且看新华三计算与存储新品发布会

全球领先的新IT解决方案领导者新华三将于8月31日在北京钓鱼台国宾馆举办“新IT 新动能 新格局 新华三下一代计算与存储发布会”,重磅发布服务器和存储的全线新品。 2017年初,新华三集团正式推出了“应用驱动 云领未来”的新IT战略。在这一战略指引下&…

Centos7更新 SQLite3至版本3.29.0

文章目录1.创建 src 目录并进到这个目录2.下载 sqlite3 源码并解压安装3.替换系统低版本 sqlite31.创建 src 目录并进到这个目录 fxd用户下: mkdir -p ~/src cd ~/src 2.下载 sqlite3 源码并解压安装 fxd用户下: wget https://sqlite.org/2019/sqlite…

开发人员必学的5门课程

越来越多的Web开发人员通常都会问一些同样的问题。比如:哪一种开发语言最重要?初级开发人员的薪金会是多少?公司提供的免费培训有用吗?如何评估一个新的项目?尽管这些问题都很重要,但是开发人员往往对其他人…

android 响应类型,android – Retrofit 2 RxJava – Gson – “全局”反序列化,更改响应类型...

正如Than所说,使用拦截器的解决方案并不是那么好.我已经设法用一个Rx变压器来解决这个问题.我还添加了自定义api异常,当出现问题时我可以抛出它并在onError中轻松处理它.我认为它更强大.响应包装器:public class ApiResponse {private boolean success;private T da…

龟兔赛跑问题

题目 乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟&#x…

过程设计的工具

描述程序处理过程的工具称为过程设计工具,它可以分为图形、表格和语言3类。不论是那类工具,对他们的基本要求都是提供对设计 无歧义的描述,也就是应该能够指明控制流程、处理功能、数据组织以及其他方面的实现细节。从而在编码阶段能够把对应…

Centos7中安装python3.7、pip3以及pipenv(亲测有效)

文章目录1.安装python3.7以及pip32.使用pip3安装pipenv时pip报错3.使用pip3安装pipenv时出现ReadTimeoutError4.查看pipenv版本报错1.安装python3.7以及pip3 1)首先来安装依赖 yum -y install gcc gcc-c yum -y groupinstall “Development tools” yum install openssl-deve…

成功人士都是这样逼出来的

研究过很多很多成功人士的成才之路,发现这些人和我们普通人其实没有什么区别,不过,这些人用老祖宗的话说是“天将降大任于斯人也,必将苦其心志,劳其筋骨,饿其体肤,空乏其身,所以动心…

Linux下网卡绑定模式

Linux bonding驱动一共提供了7种模式,它们分别是:balance-rr 、active-backup、balance-xor、broadcast、802.3ad、balance-tlb、balance-alb。 balance-rr or 0:轮询模式,提供负载平衡和容错。该模式下两个网口都工作 active-…

Unity4.6证书激活问题

第一次运行的激活问题安装好Unity4.6之后首次启动会自动连网,但是会出现error loading page错误,SSL peer certificate or SSH remote key was not OK。如下图所示: 点OK就退出了。再启动一遍也是一样的。 这时可以先暂时断一下网&#xff0c…

Readhat中挂载yum源

文章目录1.链接物理镜像2.查看原始挂载目录3.挂载4.新建iso.repo5.查看挂载目录1.链接物理镜像 vmware控制台中,勾选设备状态成“已连接”,会在桌面生成镜像图标。 2.查看原始挂载目录 输入以下指令: [rootlocalhost ~]# df -h Filesystem…

面向数据结构设计的基本思想

Jackson 方法的软件设计过程是从数据结构入手,由数据结构之间的关系导出程序结构,这使软件系统的开发“有章可循”。尤其这一方法特别适合于以数据为主,“计算”较简单的数据处理系统。因此可称其为“面向数据的方法”。由于这一技术未提供对…

html图片分四面切割播,CSS3切割轮播图

* {margin:0;padding:0;}.view {width:560px;height:300px;margin:200px auto;position:relative;}.box {width:100%;height:100%;list-style:none;background-color:black;position:absolute;/* 开启3d效果 */transform-style:preserve-3d;}.box li {width:25%;height:100%;po…

知其所以然地学习(以算法学习为例)

其实下文的绝大部分内容对所有学习都是同理的。只不过最近在正儿巴经地学算法,而后者又不是好啃的骨头,所以平时思考总结得就自然要比学其它东西要多一些。 问题:目前几乎所有的算法书的讲解方式都是欧几里德式的、瀑布式的、自上而下的、每…

Win10安全特性之执行流保护

腾讯电脑管家 2015/02/04 15:070x00 背景微软在2015年1月22日公布了windows10技术预览版,Build号:9926。电脑管家反病毒实验室第一时间对其引入的新安全特性进行了深入分析。众所周知,漏洞利用过程中攻击者若要执行恶意代码,需要…

【Java】 大话数据结构(1) 线性表之顺序存储结构

本文根据《大话数据结构》一书,实现了Java版的顺序存储结构。 顺序存储结构指的是用一段地址连续的存储单元一次存储线性表的数据元素,一般用一维数组来实现。 书中的线性表抽象数据类型定义如下(第45页): 实现程序&am…