[转]你有成为一名优秀程序员的潜质吗?

不少像这样的日子,当地上积起厚厚的雪时,我一般会燃起铁炉,把马蹄跌烧的通红,搓搓温暖的手,开始打造特制手工马蹄铁。程序员

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

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

本文的做者Joshua Kemp学习

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

1)注意细节,尤为是最小的细节。图片

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

若是你讨厌细节,你就别去作程序员。文档

2) 学无止境工作流

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

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

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

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

你面对时间限制和工做压力会怎样?若是你想回避这些压力,那你将没法成为一名程序员。

4) 有组织能力

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

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

5)好奇心

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

不明白的事情会引发你的好奇心吗?新事物会让你兴奋的想搞清楚它的原理吗?若是你不具备某种程度天生的好奇心,那么你就极可能不喜欢作一名程序员。

6)自学

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

若是你须要有人教你,或者等着参加热门的课程去学知识,那你极可能不会成为一名程序员。

7)人际交往能力

这在程序员中不是一个广泛的特征。真正优秀的程序员善于与人交往,但大多数程序员缺少这些能力。若是你善于沟通,你的老板、你的公司会很是喜欢你。并且,不要由于他们不会编码就瞧不起他们。

若是你不喜欢与人接触,跟别人在一块儿时以为很难受,那你也许就不该该成为一名程序员。

相关文章
相关标签/搜索