如何成为优秀的程序员?

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

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

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

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

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

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

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

2) 学无止境

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

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

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

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

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

4) 有组织能力

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

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

5) 好奇心

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

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

6) 自学

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

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

7) 人际交往能力

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

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

转自:http://www.devstore.cn/essay/essayInfo/5500.html

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2016-02-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据钻研

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

很多像这样的日子,当地上积起厚厚的雪时,我通常会燃起铁炉,把马蹄跌烧的通红,搓搓温暖的手,开始打造特制手工马蹄铁。 经过了5年多的专职钉马掌生活后,我开始问自己...

2916
来自专栏华章科技

剧透人生!你什么时候结婚换工作甚至狗带,Facebook都知道

你关心的这些人生重大节点,有人希望比你提前知道它们何时发生,并基于此对你精准投放广告。

953
来自专栏VRPinea

VR演讲抢先看,GDC上的VR从业者们都在聊什么!

3748
来自专栏大数据文摘

除了A/B测试,你还需要搜集这些数据!

1221
来自专栏CDA数据分析师

【技术贴】物理学博士教你怎样分析微博数据,怎样涨粉

网上已经有太多关于怎么增加微博粉丝数,以及怎样让我们发的微博获得更多转发的建议了。我们并不知道这些建议是否有效,因为它们大都是建立在个人感觉上,而缺乏真正有说服...

1948
来自专栏牛客网

跨方向,阿里数据研发九面面经(内推转校招)+书籍推荐自我总结

说了九次面试感觉我是大神,拿了SP之类,其实并不是,内情就是内推转为了校招,内推五次面试,校招四次面试,在加校招的笔试。本帖子适用于跨专业的人士。sp勿喷,有错...

5209
来自专栏DevOps时代的专栏

台湾资深老专家:你实施敏捷的路子对吗?

作者简介: ? Ruddy Lee(李智桦)老师,DevOpsDays北京站金牌讲师,台湾著名精益布道师,敏捷专家,著有《精益开发与看板方法 》。 台湾敏捷大师...

2257
来自专栏吉浦迅科技

您的AI产品从设想到原型就差一个Jetson TX2模组的距离

在人工智能大热的当下,拥有强大计算能力的NVIDIA走上了发展的快车道,公司Slogan也变成了“引领人工智能计算”。 凭借着在GPU领域的深耕,NVI...

6687
来自专栏老九学堂

为什么人人都要学小程序编程?

在以前,如果你不是普通成年人(互联网人),在考虑学习编程编程的,那么可以学习的编程语言很多,我会推荐C语言。但从今天起,如果你对C语言不感兴趣,那还有个选择,就...

4198
来自专栏行者悟空

项目进度估算难题

1752

扫码关注云+社区

领取腾讯云代金券