什么样的人当不好程序员?

2016-01-21 程序员之家

来源:36Kr

译文:http://36kr.com/p/5042433.html

原文:https://goo.gl/jLfUFq

软件蚕食一切。未来属于程序员。所以人人都想当程序员。但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。可是什么样的人不适合当程序员呢?不要喝鸡汤,我们看看 Quora 上面是如何回答的。

在全栈开发者 Adam Leffert 看来,最重要的是态度:

我认为编程要想成功最重要的是态度。当然,最低水平的智力还是要的。以我这么久的经验来看,还没见过蠢到不会做的。

但是好坏程序员之间的差别几乎永远是态度。

耐心:对我来说这是最重要的一条。写代码和调试极其令人沮丧。要想做好,你得保持冷静,至少冷静到能够保持清晰的头脑。

精力:处理棘手问题,编写大量代码容易使得身心俱疲。最重要的是要有我朋友 Joshua Wachs 所谓的 “坐能量(tushie power)”。也就是屁股不离座直到工作完成的能力。

逻辑思维:这条看似明显,其实不然。一般的程序员在碰到棘手问题的时候一般是靠猜来解决的。运气好可能猜得中。但运气不好就难搞了。问题是猜并不能有效缩小可能原因的范围。好的程序员会提出猜想然后进行测试,从而排除掉一堆的可能性。比方说,屏蔽一段代码,看看问题是不是还出现。

自负:编程不是你自己的事。这跟你的团队、代码、客户、利益攸关者等等都有关系。(eShare CEO Henry Ward 说自己永远都不会要自负的人。)

曾写过不成功 OS 的 Peter Nierop 则总结出了当不好程序员的 3 个迹象:

讨厌用 Google:

在 github、google 和在线网站上面有大多数现成的解决方案。买本老教授的书学编程的日子已经过去了。现在的代码来得快去得也快。而至关重要的事情是把你的东西尽快推向市场。任何不愿每天至少使用搜索引擎 1 小时的人都应该另寻高就(编者注 1:Google 自己的研究也发现,开发者搜代码越来越频繁 注 2:有人可能会说自己不是讨厌用而是用不了。好吧如果是这样的话,我要加最重要的一条:不懂用 google 的想都不要想当程序员了)。注意,这某种程度上可能是因为你什么都想自己来,想成为全世界唯一的那个纯粹的 coder。

朝九晚五的心态:

再强调一遍:及时发布很重要。普通的程序员往往每天工作不到 8 小时,好吧这就是你平庸的原因所在。不平庸的程序员连续 22 小时冲刺以后才能打个盹隔 4 天才洗次澡并在接下来的 2 周时间里每天要用 2 小时写一些报告。不能或者不愿在必要时加班的人最好打住。

极其糟糕的记忆:

编程就是开很多的会,做各种各样的变更,可能脑子里面要装 100 页的代码。未必是每一行都要记得清清楚楚,但起码在管理层又折腾出一个变更或客户突然又冒出一个想法时要知道你的程序是干什么用的,什么地方可能会失败,怎样才能很快修好。如果你的记忆力实在是太糟糕的话,最好还是找份其他的工作。

我在这个行当干了这么久,碰到过各种各样的程序员,不变的一点是一旦有上面的问题这些人基本都干不久。

CaveOfProgramming.com 开发者 JohnPurcell:

由于开发界总是渴望有新鲜血液进来,所以除非你实在是太差(或者你原来基本都不用工作)否则想不成功都很难。我喜欢 Peter Nierop 的回答,不过说到正式的付费工作,我本人总是严格遵守朝九晚五的习惯,所以那个说法应该看工作情况而定。

如果你发现编程很乏味,学习又总是繁琐无趣的话,那你想做好就很难了。因为你要跟已经编程上瘾的人竞争。不过我也见过几个人虽然不喜欢编程,业余时间基本也不编程,虽然称不上出色的程序员,但是的确能够借此谋生。

要记住的是,编程不是什么精英才能干的事情。这个行业永远都缺人。所以除非你一点都不喜欢编程,或者也没有准备好看在钱的份上忍住这种不喜欢,否则都可以来编程。

而享受编程乐趣的 Prince Pranav 提供了 3 个不适合编程的迹象:

因为错误而过早放弃:

永不放弃。哪怕是简单的错误也不要放弃。这会让你的代码和心态大不同。好的程序员,在写一长串代码的时候会把代码分解出来,分段测试。如果你因为前面 1 个小时总是碰到同样的问题就把电脑给关掉了事,可以认为这是迹象 1。最后你总会找到问题的,但一定不要放弃。

只对输出而不是质量感兴趣:

开发出好应用是你的责任。如果你为了赶时间而牺牲应用的质量,你可以成为程序员,但不会是伟大的程序员。

乐趣不是找来的:

你开始写代码前看了看表,13:02,然后你再看的时候变成 13:09 了。有的人再看表的时候已经是 15:37 了。真的,除非你是因为有趣才干这个时间才不会流逝(注:不得不说,这又绕到了做你所爱还是爱你所做这个问题。)

究竟什么样的人当不好程序员,你觉得呢?

什么样的人当不好程序员?相关推荐

  1. 程序员工作压力大,为什么还这么多人想做程序员?是因为喜欢吗?

    最近过年遇到很多亲戚和朋友,不知道大家的身边是怎样的,阿粉身边的亲戚朋友从事计算机相关的还是挺少的,很多还是从事一些传统行业. 最近跟一个亲戚聊天的时候就聊到网上对程序员的一些刻板影响,什么格子衫呀, ...

  2. 数学不好的人可以学python吗_理解能力差、数学很差的人可以做程序员吗

    我觉得可以,只要你坚持下去.但是理解能力(为了和大牛沟通和看书本.看文档等)和数学能力(为了算法等等)需要培养,除非你只想当简单堆砌代码的人. 编程或者数学.其他知识,都是靠锲而不舍地学习.人是越学越 ...

  3. 英雄莫问出处!什么样的人会做程序员?

    谁能想到,上面这个浓眉大眼的人,曾经也是个程序员- 2011年他参与开发并设计游戏软件<熊猫屁王>,在亚洲乃至美洲都拿下下载排行榜冠军,在香港及内地下载率打入三甲,获众多明星好友力赞才华! ...

  4. 如果有天,全世界的人都变成程序员......

    如果没有程序员,整个虚拟世界都会消失不见.全中国7亿多网民,再也不能愉快滴发自拍,看视频,打游戏,甚至连打电话都成了一种幻想.绝大部分电子设备都会变成废铁,人类的生活将完全倒退到70多年以前. 程序员 ...

  5. 大学四年看了这18般书籍,我成了别人眼中的程序员大神!

    <计算机网络><操作系统>< 组成原理>计算机知识该怎么个学习顺序? 今天分享一系列书籍,为大家学习计算机铺平道路,废话不多说,我们来一一看下. 第一本,计算机组成 ...

  6. 漫画 | 什么智商的人才能当程序员?

    某一天,上帝俯视芸芸众生,看到了很多职业,他总觉得缺少了什么. 上帝决定创造一个新的职业出来 上帝创造了一个新的职业,非常满意,他休息了. 转眼间,20年过去了...... 上帝决定实地巡查一番. 很 ...

  7. iOS自制火柴人动画CC_Sprite程序员自己做动画 轻量级iOS动画引擎 游戏引擎

    CC_Sprite 面向的主要用户群体 CC_Sprite 主要面向: 没有ps.美术基础又想做小动画.小游戏的iOS开发. 你不想学习ps或其他动画软件,也不想安装其他软件,你只想做一个单纯的.天真 ...

  8. 如何做个让人喜欢的程序员

    读书多.编程能力强并不意味着有水平和让人喜欢,关键是要自我修炼以期达到良好性情, 俗话说"做事先学做人",我总结了日常工作.学习中的十个有益的做法,供大家参考: 争取做到: 一.守 ...

  9. 什么样的人适合当程序员?挺有意思的一篇文章

    http://www.cocoachina.com/programmer/20160720/17125.html

最新文章

  1. 参与2011年7月13日举行的Azure国际猜拳锦标赛,赢取5,000美元大奖
  2. 一致性哈希算法——算法解决的核心问题是当slot数发生变化时,能够尽量少的移动数据...
  3. 前端一HTML:十八:元素的显示方式
  4. 1031 Hello World for U (20 分)【难度: 一般 / 知识点: 找规律】
  5. Atomic Integer 原理分析-getAndIncrement
  6. spark太基础了,今天聊下阿里 2 面必问的数据中台
  7. 剑指offer:22-25记录
  8. linux后台启动脚本nohup,linux下后台执行shell脚本nohup
  9. linux修改密码最短生存时间,Linux基础命令---修改用户密码
  10. 2016年4月计算机组成原理试题答案,2019年4月成人自考计算机组成原理真题及答案解析...
  11. python 3.5.2页面_笔者操作win10系统搭建Python 3.5.2开发环境的详细方案
  12. AS3多线程快速入门(一):Hello World[
  13. bcrypt java maven_BCrypt.checkpw()无效的盐版本异常
  14. Cping (cmd shell )版本
  15. C++中vector的用法
  16. MVC中使用Tuple完成匿名类数据存储
  17. python截屏截图
  18. Netty实战《原理》
  19. 人工智能(4)发展现状及未来趋势
  20. 由边际成本引发的思考

热门文章

  1. Git 必知必会《上》
  2. RGB 565格式的256色颜色表代码表
  3. QT开发和MFC开发的经典案例
  4. 前端性能优化-对图片进行后压缩发向后端
  5. c语言:已知斐波那契数列定义:f(0) = 0; f(1) = 1;f(n) = f(n-1) + f(n-2);请计算并输出数列的前n(n<=30)项。
  6. 数据库系统原理--------层次模型
  7. 理解超键、候选键、主键概念及关系
  8. 星环科技StellarDB4.0正式发布:性能数倍提升,万亿级图数据库挖掘海量数据互联价值
  9. 解决Error: ENOENT: no such file or directory, scandir
  10. 设置IE文档模式解决IE浏览器兼容性