如何判断自己是否具有成为一名优秀程序员的潜质

标签: 心得体会 品质 自学 | 发表时间:2014-02-24 00:03 | 作者:Aqee
出处:http://www.vaikan.com

header

很多像这样的日子,当地上积起厚厚的雪时,我通常会燃起铁炉,把马蹄跌烧的通红,搓搓温暖的手,开始打造特制手工马蹄铁。

经过了5年多的专职钉马掌生活后,我开始问自己一个问题:我要一直这样干下去吗?能不能干点儿别的?我的性格跟其他乡下那些叼着雪茄、喝着小酒的铁匠不一样,我从来没有戴过牛仔帽或骑过公牛。我渴望的是知道更多的事情,琢磨更多的事情,做更多的事情。

成功的从事开发工作7个月后,我已经给几百人回复了邮件,他们问我如何成为一个程序员的,寻求我的建议,他们想知道如何判断自己是否适合去做一名程序员。

本文的作者  Joshua Kemp

本文的作者 Joshua Kemp

下面罗列了7种特征,是我从同事中最有效的程序员身上观察到的,我知道,优秀的程序员都有很多共同之处:

1) 注意细节,尤其是最小的细节。

“差不多”、“很接近”是只能在做马蹄铁时用的词,在软件开发中,95%的正确仍然是不能用,一个“差不多”能用方法或一个使图片很“接近”居中的CSS样式都是不合格、不能用的。这剩下的5%对于整个软件的有效性十分重要,能造成完全相反的结果。

«««  如果你讨厌细节,你就别去做程序员。

2)  学无止境

起初这句话听起来会很迷人,你会很喜欢!我喜欢学习新事物!尤其是当你来自于一个无聊的工作或像钉马掌这样永远不变的事情时 =-)。然而,经过了一段时间后,你会发现,这变成了一条永不停息的知识河流,如果你不喜欢水,你会感觉困在了无尽无边的知识瀑布前,无法停止,也无法穷尽。我每天大概有学到10-20种新的东西,我喜欢这些!我的弟弟却希望事情永远不会变化,始终如一,他对我说他永远都不愿意去学编程。

«««  如果你不喜欢坚持不懈的去学习新事物,而喜欢待在一个永不变化的环境中,那你很可能成为不了一名程序员。

3)  面对压力、紧张和限定期限

没错,每个人都喜欢使用软件,但你喜欢面对任务的最后期限和最终目标吗?需要什么时候完成?做完这些要花多少时间?我们能在这段时间里完成更多的任务吗?是否还记得要注意细节?你怎么办?急匆匆的完成?加班加点希望能多完成一些?在理想世界里,编程是一个很有趣的活动,我们写出代码,让它们完成很酷的事情,吃着批萨,喝着可乐。而在现实生活中,有的是压力,虽然不是时刻都这样,但事情会比那种做一个30分钟的简单在线辅导要不同的多。我喜欢挑战我的极限,我渴望成长,变成一个更棒的程序员,所以我不介意。

««« 你面对时间限制和工作压力会怎样?如果你想回避这些压力,那你将无法成为一名程序员。

4)  有组织能力

我知道有些程序员的生活一塌糊涂,看起来他们似乎没自我组织能力,但我说的不是这些,我是说管理好工作流程的能力。比如,能否迅速容易的在你的计算机里找到一个东西?我认识的优秀的程序员通常能迅速的定位一个需要的文件,能够用工具或脚本帮他们处理繁杂的事物,这些都是高效的工作。

««« 当你学到了一个新东西时,你是否把它写下来?你是否喜欢想出办法来替你完成那些重复的工作?你能很好的安排各种不同的任务吗?如果不能,那你就不适合去当一名程序员。

5) 好奇心

当我还是十几岁时,教堂里的一位夫人几乎每月都会对我说一次,她说我应该停止问那么多为什么,她说这让人讨厌。虽然受了批评,最终我还是清楚的认识到,优秀的程序员总是在问“为什么?”这个应用的工作原理是什么?那个横跨街道的建筑是怎么建起来的?程序员之间的对话听起来总是像这样开始的:“很奇怪他们为什么要这样做…?”以前我以为问这么多为什么是很奇怪的表现,但现在我明白,至少是在软件开发中,这是一个好的品质。

««« 不明白的事情会引起你的好奇心吗?新事物会让你兴奋的想搞清楚它的原理吗?如果你不具有某种程度天生的好奇心,那么你就很可能不喜欢做一名程序员。

6) 自学

我知道,很多的程序员都上过大学,出自高校的,但这不是我要说的。优秀的程序员总是在钻研程序代码和文档,来弄清楚东西的工作原理,他们不会敲开老板办公室的们说:“我需要上培训课,学习这款新软件”。优秀的程序员在不断的学习,不断的靠自己研究出事情的原委——不论是有高学历还是没有学历。

««« 如果你需要有人教你,或者等着参加热门的课程去学知识,那你很可能不会成为一名程序员。

7) 人际交往能力

这在程序员中不是一个普遍的特征。真正优秀的程序员善于与人交往,但大多数程序员缺乏这些能力。如果你善于沟通,你的老板、你的公司会非常喜欢你。而且,不要因为他们不会编码就瞧不起他们。

««« 如果你不喜欢与人接触,跟别人在一起时觉得很难受,那你也许就不应该成为一名程序员。

本文由 外刊IT评论网( www.vaikan.com)原创发表,文章地址: 如何判断自己是否具有成为一名优秀程序员的潜质,[英文原文: How to know if you are cut out to be a developer ]

你也许会喜欢这些文章:

  1. 所有的程序员都是自学成才
  2. 如何成为一名程序员:我的道路
  3. 程序员101:如何自学编程
  4. 我学编程时犯的最大两个错误
  5. 同时学习多种编程语言其实很容易




相关 [程序员] 推荐:

普通程序员、文艺程序员、2B程序员

- 可可 - 宇宙的心弦
希望能引起广大苦逼的正在学或者已经学过c++人的共鸣和会心一笑吧. 如何辨别自己在现实还是虚拟世界.

如何面试程序员?

- bluesnail - 阮一峰的网络日志
你要面试一个程序员,应该问他什么问题. 有人在Hacker News的讨论区里,请求指点,怎么才能在面试中发现合格的人. 众人纷纷出主意,有很多高质量的回帖,我觉得挺有启发,就整理出了下面这篇文章. 首先,最重要的是,你自己一开始就应该想清楚:. 哪些途径和方法可以发现这样的人. 只有明确这些根本性的问题,才能正确高效地完成面试.

程序员的本质

- Allen - 译言-电脑/网络/数码科技
来源What do programmers really do?.   很多人(包括我岳母)认为计算机变得如此智能,所以在不久的未来将不再需要程序员. 另外一些人认为程序员是天才,他们在电脑前能不断地解决复杂的数学难题. 甚至不少程序员对他们是做什么的都没有清晰的概念.   在这篇文章中,我想给不知情的人解释一下程序员到底是做什么的:.

程序员人生之路

- myartings - 博客园-首页原创精华区
   程序员人生之路(强烈推荐,分析的透彻. ),某程序达人的人生感悟,估计没有半个甲子的时间,是绝对不可能感悟出来的.    相对同时刚出校门同学从事其它行业而言优厚的薪水,以及不断学习更新的专业知识不仅仅让你感到生活的充实,更满足了你那不让外人知的虚荣心. 在刚出校门的几年中,你经常回头看看被你落在后面的同学们,在内心怜悯他们的同时,你也会对自已天天加班的努力工作感到心里平衡:“有付出才会有回报”这句话在那几年中你说的最多,不管是对自已的朋友们还是自已的爱人.

程序员装B指南

- Qing-Run - 博客园-首页原创精华区
1.电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好. 一个用来查资料,一个用来写代码. 总之要显得信息量很大,效率很高. 2.椅子不一定要舒服,但是一定要可以半躺着. 3.大量的便签,各种的颜色的,用来记录每天要完成的事务,多多益善. 沿着电脑屏幕的边框,尽量贴满,显出有很多事情的样子.

程序员收入报告

- diaoxsh - cnBeta.COM
最近,波兰的程序员Chris(也叫KreCi)公布了他的第十四期程序员收入报告. 数据显示,上月是目前为止他收入最多的一个月. Chris的收入并不是指他的工资或薪水,Chris是一个自由职业者. 他的收入也不是来自个人承包软件工程的收入,他更像是一个果农,种了优良的果树,只要不断的给这些果树施肥浇水,这些果树会给他带来源源不断的财富.

程序员的利器-SourceInsight

- Alex - 博客园-首页原创精华区
作为程序员,大部分时间是在已有的代码上代码工作. 要对已有的代码进行调整,首先就要搞清楚当前代码中蕴含的逻辑关系. 所以常常有程序员调侃说花了大半天时间看代码,最后写代码的时间只有几分钟. 所以,对已有代码的分析质量将影响(甚至会决定)最终代码修改的质量. SourceInsight在代码分析上给予程序员极大的帮助.

程序员?还是小丑?

- Vingel - cnBeta.COM
和你从不认识的人坐在一起,试图弄清楚他是个程序员还是个小丑. 我没有想侮辱任何人的意思,而且,我是第一个要感谢这么多年的教育和努力终于把我变成一个专业小丑的人. 对于程序员新手,我充满怜悯,为了和缓的帮他热热身,我给了他一道温和的问题来消解我们之间的陌生. 我让Ada写一段程序,在纸上,打印出“hello“这个词10次.

程序员必读经典

- - 搜索引擎技术博客
你面试微软前必须要读的十本书:. Code: The Hidden Language of Computer Hardware and Software (《编码的奥秘》). Computer System: A Programmer’s Perspective (《深入理解计算机系统》) /Windows via C/C++ (《Windows核心编程》 / 《程序员的自我修养》.