您所在的位置:主页 > 行业资讯 >

程序员是不是人人都可以?

时间:2018-01-30 11:52来源:未知 作者:os 点击:

  程序员是不是人人都可以?

  :1:程序员是不是人人都可以? 2:程序员如何避免身体被掏空?

  软件蚕食一切。未来属于程序员。所以人人都想当程序员。但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。可是什么样的人不适合当程序员呢?不要喝鸡汤,我们看看 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 页的代码。未必是每一行都要记得清清楚楚,但起码在管理层又折腾出一个变更或客户突然又冒出一个想法时要知道你的程序是干什么用的,什么地方可能会失败,怎样才能很快修好。如果你的记忆力实在是太糟糕的话,最好还是找份其他的工作。

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

  

 

 

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

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

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

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

  因为错误而过早放弃:

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

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

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

  乐趣不是找来的:

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

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

  程序员如何避免身体被掏空?

  以下为译文:

  程序员生活又苦又累,结果往往身心俱疲。因为我自己有过类似的经历,所以我想更深入探究这个问题,希望能帮助其他人来处理这些问题或者阻止这样问题的发生。

  为什么身体会被掏空?

  看样子,这种情况在程序员中发生的频率比其他职业发生的频率要高。直到现在,我对为什么会出现这样的问题也没有一个明确的答案,但总结下来主要有四点因素:

  第一,环境因素。每天坐在桌子的电脑面前是很不健康的,让你感觉更想嗜睡。嗜睡同样也会带来其他一些不好的习惯,例如整天吃零食、熬夜等等。这最终会引起不好的后果。

  第二,编程工作本身就是一个认知高度紧张和充满压力的工作,心理疲劳也会带来伤害。

  第三,你正在做的工作实际上在消耗你的精力且没有回报,所以才会被掏空身体。对于这个的解决方案是,停下来,花些时间来思考,不要把金钱作为丈量下一个工作的选择。

  关于第四点因素,则是当我在做这个文章的研究时在 Hacker News 的评论里发现的。有一个人准确地描述了出来:“不断地付出,无谓的牺牲,甚至硬扛一些高风险挑战却没有成功,这统统将你的身体近乎掏空。”这对我来说十分感同身受,因为在搭建系统时的我经历了无数次的失败。

  我曾自己处理过几次身体被掏空的问题。这几次都没有让我放弃编程,即使有机会去寻找更好的工作,因为我很确定自己选择的是正确的职业。虽然长时间积极和高效的工作方式也会导致一些悲观情绪,但是我都努力去调整并建立起一些爱好,本文就来分享一些让我推迟或者忽略身体被掏空的技巧。

  有的意见和技巧比较基础,适用于所有人,当你读到他们时,你就会对你自己说“哦,原来这样”。其他的则更适用于程序员们。

  让我们从基础的开始

  吃好。细节做好才是正确的,比如喝苏打水、加入更多的碳水化合物到饮食中、有规律的进食、不要吃太多等等。这些基础的事情做好才能走得更远。

  睡好,包括获取高质量的睡眠和足够的睡眠,你可以为创造一个好的睡眠环境下点功夫。对于程序员来说,关于睡眠的一个技巧就是减少蓝色光的照射,避免晚上太过兴奋。这可以通过安装 Flux 来实现,可以让你的电脑显示的颜色随着时间的变化而改变。

  不要过度工作。太多的研究表明,生产效率和输出是相关的,专注工作 4 个小时后效率会开始急剧下降。高强度的工作下不可能保持高效输出,例如长时间编程、每天都用很长时间来编程等等。

  在工作中加入番茄工作技术。作为一个程序员,这是一个很简单且很高效的策略来保持高效,就是把工作任务分解成必要的部分。番茄工作法要求专注工作 25 分钟、然后休息 5 分钟。此外在每个番茄时间内有一个明确的目标也是很有必要的。理想情况下,休息时应该选择一些远离电脑的活动,比如一段快走、几个引体向上或者做一些健康的事情。同时,每三个番茄时间之后最好采取一个长一些的,例如 30 分钟的休息时间。我的目标是每天完成 10 组。

  保持活跃和积极。我说的是锻炼身体,很多人肯定都理解出错,认为锻炼都必须去体育场馆等等。实际上,选择楼梯而不是电梯就能保持活跃;购物的时候把车停到角落的停车位;骑自行车去工作,找到其他能给你每天生活带来运动的方式,这样就会让你感觉更好,而不是整天都待在电脑面前。

  对程序员更有针对性的建议

  小步快跑的工作节奏是最高效的,因为这种情况下你会尽全力做到最好。如果你以同样的方式无数次重复创建网站的工作,那么经过很多次后你会觉得十分无聊和煎熬。虽然编程一定程度上来说是一种工程,然后用已经验证过的技术来创造软件。但是它同时还关于快乐、实验和尝试新的技术。所以有目的性的将 20% 的时间用于专注在技术上,是避免被掏空的有效策略之一——可以用这 20% 的时间去尝试新的技术,创造一些有趣的、和工作不相关的东西,或者投资一些时间去学习一些你舒适区之外的技术,例如函数式编程。

  参加小型聚会、会议,收听行业广播。编程是很孤独的事情。和其他程序员一起聚会,或者在广播上收听他们的经验,这都有助于你保持原有的状态,同时对你的工作变得更细心。没人喜欢抱怨或者倾听其他程序员的痛苦经历,听听别人是如何克服的,相信会在一定程度上帮助你缓解并激励自己。

  投资好的工作环境。买一台能快速编译的、不会让你苦苦等待的电脑。你一定要有一个舒适的椅子、桌子和显示器。如果你在一个吵闹的环境下工作,买一些高质量的耳机能帮助你隔离噪音,而且还能让你保持安静的状态。

  熟练使用你的工具。虽然拥有好的工具能让编程变得更享受,但是熟练使用他们才会让工作变得更高效——比如知道开发工具的快捷键,例如编辑器、操作系统、命令行等等,这会为你节约大量的时间。即使普通的任务也能让你更快的取得进展,避免身体被快速掏空。

  培养其他的爱好。除了编程之外还应该培养一些其他的爱好,比如运动、参加文化活动、阅读、乐高游戏、钓鱼、摄影等等。如果你一直做一件事情,例如编程,终有一天会感觉身体被掏空。除此之外,做一些看起来与工作没有联系的事情,或许能给你带来激情和灵感,就像传奇的诺贝尔奖获得者 Richard Feynman 研究摆动的盘子一样。

  考虑换一个工作,或者换一个项目。整天调整现有的代码库也许会让你感到很无趣,或者当前的项目和你的兴趣爱好不一致。所以如果你发现编程不再让你变得兴奋,可以试着换一个工作或者换一个项目,例如知识架构、系统管理员等,或许跟你的激情更契合。

  把那些你能完成的工作分配到日常工作中去。这些任务包括有,代码测试、写注释、或者优化变量名称等等,这有助于恢复你的工作状态——这是一个很小的但是很有意义的建议。

  总结

  对付身体被掏空的问题,没有一套通用的解决方案,因为每个人的情况都是不同的。尽管如此,还是希望上边列出的办法能对你们有些帮助。

  当然,文中许多的建议需要花些时间才能建立起来,但是吃好、睡好、锻炼身体这些基础的方法,能够让你在工作上表现更出色,延长对于编程的喜爱,降低身体被掏空的程度。

  此外,不要强迫自己一周 6 天,每天工作 10 小时。科学的证明表示,专注时间超过了一定时长,输出就会降低。因此在使用番茄工作法时一定要专注且高效。最后要学会说不,做一些除了编程之外你喜欢做得事情——这才是第一位的建议。