首页
社区
课程
招聘
[转帖]什么样的人不适合当程序员呢?
发表于: 2016-1-25 16:01 19320

[转帖]什么样的人不适合当程序员呢?

2016-1-25 16:01
19320
原文出处: Quora   译文出处:36kr   欢迎分享原创到伯乐头条

软件蚕食一切。未来属于程序员。所以人人都想当程序员。但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。可是什么样的人不适合当程序员呢?不要喝鸡汤,我们看看 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 了。真的,除非你是因为有趣才干这个时间才不会流逝(注:不得不说,这又绕到了做你所爱还是爱你所做这个问题。)

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

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 76
活跃值: (114)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
有钱人。
2016-1-25 16:38
0
雪    币: 995
活跃值: (669)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
除了记忆力其他都满足..............
2016-1-25 22:24
0
雪    币: 135
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
"不平庸的程序员连续 22 小时冲刺以后才能打个盹隔 4 天才洗次澡并在接下来的 2 周时间里每天要用 2 小时写一些报告。不能或者不愿在必要时加班的人最好打住" --------------------这如果算做程序员工作时间标准 , 那么还是算了吧 , 没有充足的休息和其他调节  , 就会过度开发 ,导致极大可能出现类似之前国内最出名的通讯软件公司某个开发团队核心人物提前进入仙界,得以有幸拜会各位神仙的境界。。。。。。。

还是那句话 , 劳逸结合,才是开发者的王道 。。。。。
2016-2-4 22:52
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不是很认同,可能我不是一个优秀的程序员吧
2016-2-22 20:34
0
雪    币: 202
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
我的看法是,要成为一个好的程序员,必须具备两个条件:
1、要具备编程的基础知识。比如熟悉的语言、熟悉的数据结构知识、熟悉的应用背景知识(这个要看你编程的目的是啥了);
2、要具备坚定的钻研精神。就是说遇到一个问题(可能是程序的一个错误),要能竭尽全力去找问题,解决问题,可以是寻求帮助、可以是自己调试、可以是网络搜索,反正是要积极去应对;
3、必须具有相当程度的整体思维能力,遇到问题的时候,要知道如何分解和问题和合并结果(编程就是如何搭积木,而积木的组件就是由你自己通过基本语言来来定义,因此必须要把问题拆解成多个组件,并能很好工作)。
要成为一个好的软件工程师,还要添加两个个条件:
1、要能理解客户的需要变更其实并不是变更,而是你事先没有搞清楚客户的需要到底是什么;
2、要能理解团队工作中,协调和接口定义并不是一件容易的事,有时候存在大幅度调整的可能性;
2016-3-10 17:43
0
雪    币: 15
活跃值: (765)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
沉浸在自己的代码里不愿沟通,别人都不不懂我可咋整
2017-2-14 08:40
0
雪    币: 4560
活跃值: (1002)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
好的程序员应该是知己知彼的人,知道客户需求,知道机器怎样运作缺一不可
2017-2-14 09:27
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
坐能量不可取,腰受不了
2017-3-13 09:51
0
游客
登录 | 注册 方可回帖
返回
//