如何判断自己适不适合做程序员?

科技 2020-01-11 13:50 阅读:78

某日,老师在课堂上想考考学生们的智商,就问一个男孩:

“树上有十只鸟,开枪打死一只,还剩几只?”

男孩反问:

“是无声手枪,还是其他没有声音的枪么?”

“不是。”

“枪声有多大?”

“80~100分贝。”

“那就是说会震的耳朵疼?”

“是。”

“您确定那只鸟真的被打死啦?”

“确定。”

老师已经不耐烦了:

“拜托,你告诉我还剩几只就行了,OK?”

“OK.鸟里有没有聋子?”

“没有。”

“有没有关在笼子里的?”

“没有。”

“有没有或饿的飞不动的鸟?”

“没有,都身体倍棒。”

“算不算怀孕肚子里的小鸟?”

“都是公的。”

下课铃响起,但男孩仍继续问:

“它们受到惊吓起飞时会不会慌失措而互相撞上?”

“不会。”

“恩,如果您的回答没有骗人,”

学生满怀信心的回答:

“打死的鸟要是挂在树上没掉下来,那么就剩一只,如果掉下来,就一只不剩。”

老师推推眼镜,强忍着要昏倒的感觉,颤抖地说道:

“你可以去当程序员了…”

问题来了:为什么老师说男孩适合做程序员?

其实是因为男孩针对一开始的问题,将每一个会影响最终结果的因素都考虑进来,并且以更有逻辑的方式去提出疑问,层层递进,最终得出答案。

而这样一种思考方式,可不就是身为一名程序员必须具备的素质?

上述段子,生动而形象的从侧面反应了程序员是一个较高智商、有逻辑并且思维较为敏捷的一个职业群体。

那么,是不是每个人都适合做程序员?

不一定!

经常看到有程序员反映,自己在做了几年程序员后,突然就发现自己不适合程序员了,比如下面这个网友:

而对于初学者最慌的一个问题,同样是“我适不适合做一名程序员?”

所以,到底什么样的人才适合做程序员呢?

本文由此总结了适合做程序员的几个特点:

1、喜欢计算机

喜欢计算机,认为code is beautiful ,每天都与计算机为伴,愿与计算机长相厮守。喜欢写程序,做程序员就是上天堂;不喜欢写程序,做程序员就是下地狱。只有喜欢,只有热爱,才能把程序写好。

2、数学好

计算机的核心是数学,因为编程语言是程序设计的工具,程序设计的核心是算法,算法的核心是数学。会写代码不难,难的是将生活抽象成数学模型,使用算法解决生活中的实际问题。

3、逻辑思维能力强

编程不是谈恋爱,可以感性的自由发挥,他需要严谨的逻辑思维能力,1就是1,2就是2,任何一个看似不起眼的问题,都有可能导致整个软件发生故障。

4、好强

编程是一项聪明者的游戏,是一场之旅,他需要程序员具备争强好胜的冲劲,能够不断的去克服各种,去解决各种看似很奇怪、看似不可能解决的问题。

5、强烈的好奇心与求知欲

在这样一个信息大的时代,与其他行业相比,IT行业的经验比书本知识价值更小,如果长期满足于已有知识,闭门造车,墨守成规,不去学习新的技术,那么,必然会造成个人思维局限,创意“生锈”跟不上时代的步伐。

6、细心

编程过程处处是细节。程序设计语言不是人的自然语言,本身就是严格的计算机语言,来不得半点马虎。即使少了一个句号,忘了对变量进行初始化,也会让原本很完美的程序产生随机错误,而这些错误足以导致计算机死机甚至崩溃,让程序员抓耳挠腮花费很长时间去解决。

7、坚持不懈

IT行业与其他行业不一样,程序员遇到困难就可能让程序无法进行下去,他们必须要把问题解决了程序才能完成。所以程序员在追求最优的解决方案时,无论遇到千难万难,他们都不能轻言放弃,哪怕是屡战屡败,他们仍然屡败屡战,迎难而上。

8、自学能力强

这可能是做一名程序员最最重要的素质了。因为这个行业发展太快的原因,很多技术,平台,语言都在不断的迭代更新,所以一个程序员永远都在不停的学习,学习新的平台,学习新的语言(编程语言)学习新的架构等等。

本文相关词条概念解析:

程序员

程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。程序员需要理解一个模块的需求,很多程序员写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。