测试是否适合做程序员 如何确定自己是否适合做程序员?

看完了大部分回答,不禁有一种药丸的赶脚,这么好的问题居然罕有很理性的讨论分析,看来已经是段子手和机灵鬼的天下了。

虽然我也觉得有些机灵抖得很精妙,但是作为一个还有点责任感的小V,还是要来点干货的。
----------------------------------干货分界线-----------------------------
身为创业者,带过技术团队,也曾经阅猿无数。 的答案给了我一些启发,来分享下。
程序猿最重要的能力是什么?
解决问题的能力!这个很多IT从业者都是赞同的,应该没有太大异议。
那么如何从“解决问题”的角度看自己是否适合做程序猿呢?
我认为有两大标准可以用来衡量——“探索精神”和“逻辑思维”

1 探索精神

探索精神从宏观角度上讲是人类文明不断进步的源泉;具体到每个个体,则是个人成长的动力。一个人从呱呱坠地起,对未知的世界总是充满好奇,从雨雪冰霜的物质转换到喜怒哀乐的情感变化,都会激发探索精神。而这其中,适合做程序猿的这一批人,是对“物体运行原理”具有探索精神的人。这里的“物体”既包括电子设备的软硬件,也包括机械、化工、生物等学科的研究对象。

在创业之初,我们没有那么多资金找更多技术大牛,甚至技术熟手,过来面试的大多数都是没有工作经验的应届生。所以我衡量的标准只能是潜力——是否值得培养。除了基础的编程知识外,我常会跟面试者们聊这些问题:
有没有自己搭过一个网站?
有没有学习过一些最新的技术?
你的电脑配置如何?cpu是哪个型号,内存多大?
有没有拆开过电脑?
手机是iOS还是Android?
iOS怎么删除应用,怎么禁止应用联网?
Android root过吗?root过之后为什么安全性会降低?

如果是机械相关行业的,我还会聊:
汽车是如何启动的?
公交车的折叠门是怎么实现的?
变速自行车是怎么变速的?

另外,游戏玩不玩,玩的好坏也可以作为参考哦~

如果面试者带了电脑,我也会看一下他常用的软件:
用IE的,呵呵~
有梯子的,不错~
github,有为~
百度全家桶,这个……

这种衡量方式,从我们的实践效果来看还是不错的。我们公司的技术骨干基本都是自己培养起来的,而且有一半并不是科班出身。

就像踢球有球感,说话有语感一样,我们公司称“程序猿”有一种神秘的力量——码感。
安装一个新软件,不需要看说明书,随便点点就会了。
电脑出问题了,google一下,随手点点就解决了。
面对黑漆漆的linux窗口,命令在手中滑出,根本停不下来。

对“物体运行原理”的探索精神让你有机会获取到“码感”这种神秘力量,编程自然不在话下。有了这种探索精神,你就有了成为一个程序猿的基础。

2 逻辑思维

逻辑思维是一种理性认知的思维方式。
有时候我们读一本书,洋洋洒洒不知所云,合上书后很难有条理地说出这本书的脉络;
我们读另一本书,读罢仍意犹未尽,书中所讲层次清晰,我们很容易在大脑中建立书中所讲的立体知识框架;
有时候我们听人讲话,滔滔不绝口若悬河,好像塞了满脑子词语,却没有重点。
我们听另一个人讲话,朴实无华,但是感觉始终围绕在一根主线,一旦偏离过远就会被拉回来。

这是我所理解的逻辑思维能力高低的表现。没有一定的逻辑思维,基本上只能做软件流水线上的装配工人。将各种开源、破解的软件组件集成起来实现一定的功能。而优秀的程序猿所用到的算法、架构知识,无一不是需要良好的逻辑思维能力的。逻辑思维能力可以是先天具备,也可以是后天培养。衡量逻辑思维能力的一个可靠参考便是数学思维。很多国外的计算机专家都有数学专业学位也就不足为奇了。

在面试技术岗位的时候,对于逻辑思维能力,我通常都是直接让面试者口述或者手写算法。举个最常用的例子——递归:
1 能举出面对面的两面镜子等例子,算是对递归的基本理解。
2 能从栈的角度理解递归,说明课程上学的还不错。
3 能从一个问题中提取出具有相似性的功能,并抽象出递归函数,说明逻辑思维能力优秀。

探索精神决定了你是否可以成为一名合格的程序猿,决定了程序猿门槛的高度。
逻辑思维决定了你是否可以成为一名优秀的程序猿,决定了程序猿天花板的高度。

说了这么多,最后我想说,像我这么有点责任感的小V不多了,赶紧点赞加关注,支持下呗!

---------------------关于评论--------------------------
虽然赞数还远远比不上抖机灵的几个回答,但是针对几个评论还是统一回复下:
1 数学不好,怎么当好程序猿。

数学的逻辑思维是成为一个优秀乃至顶尖程序猿的必备条件,但是并不是人人都有机会成为优秀程序猿的。可能80%的人都只是合格的程序猿,那么只要具备了探索的精神,肯花费时间去学习,也是可以成为合格的程序猿的,只是说这样的程序猿在发展到一定阶段会遇到瓶颈,而这个瓶颈需要数学基础来突破的。而且如果我们不涉及到人工智能等“数学密集”型编程领域,所用到的数学只是也不会特别高深,高中知识基本能满足大部分需求了。

2 对于一条评论的解释。

亲爱的小V同志, 你的答案很有意思, 也给了大家不少启发和感慨.

但这个问题毕竟是在讨论什么样的人才是好的程序员, 而不是在讨论什么样的人是一家创业中的科技公司的好员工. 如果是后者, 我会给你点赞同的. 但我们在讨论的是前者, 所以我不同意你说的探索精神那一部分.

程序员有很多种, 但能说得上好的, 总结起来无非就是两方面的能力出众: 分析问题的能力, 和解决问题的能力. 从这两点上出发, 并没有要求程序员一定要有出众的探索精神, 我认识有很多很不错的程序员, 他们不会翻墙, 还是用IE; 不懂电脑配置是什么鬼, 不知道自己的手机要怎么root. 他们就是那些对"事物的运行原理"漠不关心的哪一类人, 但是这不能说明他们不是一个合格的程序员. 他们有些人是只会专注一个方面的内容, 或者说白了, 程序员对他们来说, 仅仅只是一份工作而已, 在工作中他们可以做到认真敬业, 但和工作无关的东西, 他们并不想去了解. 或者他们不合适去你们这样的公司, 但我们不能否认他们也是优秀的程序员. 事实上, 我们很多台湾和欧美的同僚们, 即使成为了业界的大牛, 却依然不会修电脑, 每次都要IT部门的人帮忙, 没有那么多奇奇怪怪的理由, 只是因为没必要.而且, 这个世界很大, 不是只有计算机的那点事.

我在这里写的这样, 可能会引起你的反感, 对此我深感抱歉, 但我并没有任何恶意. 我只是觉得你的答案会让一部分人对我们这个行业有误解, 所以我要把一些事实说出来, 仅此而已.
这是本回答下的一次评论,我解释一下:解决问题的能力是非常重要的,我在回答的开始也提出了。但是只回答“解决问题的能力”在判断是否适合做程序员这个问题上并没有太多指导意义。不只程序员需要解决问题的能力,市场拓展、PR公关、医生很多职业都需要解决问题的能力。而我试图将“解决问题的能力”这种很抽象的说法具体化,找到可以判定“解决问题能力”大小的衡量标准。

一般来说,对于程序员,解决问题的能力指的是把实际问题进行计算机建模和抽象的能力。

建模和抽象的前提是对问题有充分的理解。这需要一定的探索精神去挖掘问题的运行原理。老板对程序员说我要开发一个电商网站,程序员总要去探索一个电商网站的运行原理并把运行逻辑研究清楚,否则代码漏洞很多,网站千疮百孔,这就是不合格的程序员的作品。探索精神还体现在语言、工具的选择运用上,python是会用了,但是不懂其基本运行原理不懂其性能限制,我认为作为程序员也是不合格的。

建模和抽象的过程需要有一定的数学基础和逻辑思维。堆栈的数据结构搞不清楚、逻辑判断的时候或且非的组合搞不明白,在写过的代码中会藏有很多隐患。一些很难调的bug很容易产生。

所以,我用探索精神和逻辑思维来作为”解决问题的能力“的衡量标准。

对于只是把编程当成工作的程序员,可以对编程没有兴趣,也可以不去研究框架的架构,但是同样需要去深入探索需要解决的问题,探索寻找最佳的解决方案。程序员也不必要都会翻墙、会root、懂电脑配置……但是这些都表现了一个人不怕接触陌生事物,是一个人具有探索精神的表现。对陌生事物的恐惧是程序员的天敌。

3 公司招人问题
有很多评论提到我们公司的招人问题,有兴趣的可以私信我~


看了我的答案,大家觉得能有点启发,我就心满意足了;
如果能点个赞,我就万分感激了;
如果还能加个关注,我就有动力不断输出高质量的内容了~   2/2   首页 上一页 1 2

爱华网本文地址 » http://www.413yy.cn/a/81280103/4564.html

更多阅读

创业测试:看看你是否适合做包包生意?

 越来越多的朋友都似乎厌倦了打工的生活,都想出来创业了。  可是很多人创业的盲目性很强,心里就是有个想法--我就是要创业,我自己要当老板。可是究竟你如何创业?什么行业又适合你去做呢?包是不是你最佳的选择呢?  别的行业我现在不

服装生意 看看你是否适合做服装生意?

     越来越多的朋友都似乎厌倦了打工的生活,都想出来创业了。可是很多人创业的盲目性很强,心里就是有个想法--我就是要创业,我自己要当老板。可是究竟你如何创业?什么行业又适合你去做呢?     别的行业我现在不去多说,但是你在想

程序员如何创业 这样的程序员创业有戏

  这是我为12月4日开始的“2008软件开发2.0技术大会”准备的讲稿。到了现场,我发现这个讲稿对现场近千人的技术高手不适合,只好临时讲了移动互联网的趋势。    致刚入门的程序员五点建议    每个IT企业,尤其是初创企业,非常苦

适合做生意的题字 看看你是否适合做生意?

越来越多的朋友都似乎厌倦了打工的生活,都想出来创业了。可是很多人创业的盲目性很强,心里就是有个想法--我就是要创业,我自己要当老板。可是究竟你如何创业?什么行业又适合你去做呢?     别的行业我现在不去多说,但是你在想要做服装

c 程序员创业 程序员如何创业

对于立志创业的程序员,至少应该突破三关。  第一是模式关。你的创业计划,也许起源于灵机一动。可惜的是,好点子并不能保证你创业成功。我相信多数程序员的点子,尚不至于低级到靠软色情、盗版、恶性seo等等下作手段去骗取广告费的地步,

声明:《测试是否适合做程序员 如何确定自己是否适合做程序员?》为网友勇敢一点分享!如侵犯到您的合法权益请联系我们删除