如何确定自己是否适合做程序员?
544个回答
展开全部
判断一个人是否适合做程序员的标准很多。最关键的几个是:
0. 理解力(或自学的能力):程序员的起点。具有这个能力的特点是,如卡马克说的:“给我一冰箱的汉堡和互联网,我就能解决所有问题。”。如果你从小养成了个习惯或思维定势——觉得没有老师教就学不会,那你不适合当程序员。如果你学了的东西只是为了过考试,比如学完高中物理还买个仙人掌放电脑前防辐射,你也不适合当程序员。
1. 逻辑思维力(或推衍的能力):这个是做称职程序员的底线。比如不能写的代码出个Exception就抓瞎不知道哪里出了问题,而是有能力从Exception顺藤摸瓜反推出哪里出了问题。Code即逻辑,Code有问题即逻辑有问题。没有逻辑的人是无法找到逻辑漏洞的,也写不出条理清晰的代码。
2. 抽象思维力:这个能力大体可以决定一个程序员的上限。没有这个能力是做不出一切皆文件这种抽象的,可以试试学习函数式编程,如果无法理解并使用高阶函数,你不适合做程序员。再来几个更初级的例子。如果你学写代码的过程中,理解指针这个东西的时间超过了一天,那你不适合当程序员。(强调一下,这里不适合是指你无法成为一个优秀的程序员,你想做当然肯定是可以做的。)
3. 专注力:我理解的专注力只是兴趣的衍生品,你打Dota打CS打个几个小时能越打越精神,为什么?因为你觉得有趣儿。如果也觉得写代码有意思,那专注自然就不是个事儿。
4. 想象力与记忆力:这个不是说过目不忘的那种,只是说你大概记得有什么类,都有什么函数,每个函数里的大体过程是什么样的。然后走路、坐地铁的时候就可以用想象力在脑子里做代码的重构啦,找Bug啦什么的,然后回到电脑前就噼里啪啦敲代码。我听说有人在梦里也能写代码,我还没有锻炼出这个技能。当然,这些能力不是必须的,你随身带个笔记本也行,就是效率低些,影响职业成长的上限。
5. 英语:很遗憾地,目前多数有价值的东西都是英文的。所以无障碍阅读Stackoverflow的回答是起码的。
6. 阅读速度:我想不出一个和合适的能力名与之对应。大体是指看书、看网页、看和理解代码的速度、如果有需要,能从一大堆Log中迅速找出关键信息(当然不是仅仅阅读速度的问题,还确定于你所能熟练使用的文本处理工具)、能抓到在屏幕上一闪而过的异常讯息(不是说能记住,而是说一眼就能感觉出有些不对劲,然后回去细看。)有不少人也不笨,但是聪明反被聪明误,从小不怎么看书,阅读速度上不去,一个Stackoverflow的回答,有人扫一眼几秒就抓到重点,有人要看3分钟。有人看代码速度,一目十行,再善用佳软,再加强大的理解力和扎实的基础知识,找个Bug几分钟的事儿,有人看代码瞪着屏幕一个单词一个字地看,文件一多就阅读障碍了,如果理解力再差些,找个同样的Bug找一上午。当然这个技能不是很核心,因为它无法独立带来价值(有人看小说快,但是看代码慢,就是由于别的核心能力不足,阅读速度快也没太大用)。但是这个技能很锦上添花、拉开差距(阅读速度+理解力=更快的学习能力)。好在这个技能算是可以锻炼的,只是如果你比别人晚了20年开始锻炼的话,怕是再努力也要几年才能追赶上。
7. 沟通:很多人都觉得程序员不需要沟通,其实只是板砖码农不太需要而已。你起码要能清楚地解释自己的方案,更好地沟通是能把自己的好想法推广出去。当然,如果你1-4都是非常NB的水平,你不沟通也没有问题。桃李不言,下自成蹊。你一个人把大家的代码都写了,你一句话不讲,大家也会把你当神的。
上几个能力,0-6应该在学校就获取到80%,7在学校获取到50%。能把上面几点全部做到很好的人是极少数,能把其中的2、3点做好大体就算“适合”做程序,能在软件行业找到合适的岗位了。只是如果只有2、3点能做好,在软件业的职业发展不会很理想。
如果实在分辨不出哪个适合自己,那就选自己最喜欢做的。
0. 理解力(或自学的能力):程序员的起点。具有这个能力的特点是,如卡马克说的:“给我一冰箱的汉堡和互联网,我就能解决所有问题。”。如果你从小养成了个习惯或思维定势——觉得没有老师教就学不会,那你不适合当程序员。如果你学了的东西只是为了过考试,比如学完高中物理还买个仙人掌放电脑前防辐射,你也不适合当程序员。
1. 逻辑思维力(或推衍的能力):这个是做称职程序员的底线。比如不能写的代码出个Exception就抓瞎不知道哪里出了问题,而是有能力从Exception顺藤摸瓜反推出哪里出了问题。Code即逻辑,Code有问题即逻辑有问题。没有逻辑的人是无法找到逻辑漏洞的,也写不出条理清晰的代码。
2. 抽象思维力:这个能力大体可以决定一个程序员的上限。没有这个能力是做不出一切皆文件这种抽象的,可以试试学习函数式编程,如果无法理解并使用高阶函数,你不适合做程序员。再来几个更初级的例子。如果你学写代码的过程中,理解指针这个东西的时间超过了一天,那你不适合当程序员。(强调一下,这里不适合是指你无法成为一个优秀的程序员,你想做当然肯定是可以做的。)
3. 专注力:我理解的专注力只是兴趣的衍生品,你打Dota打CS打个几个小时能越打越精神,为什么?因为你觉得有趣儿。如果也觉得写代码有意思,那专注自然就不是个事儿。
4. 想象力与记忆力:这个不是说过目不忘的那种,只是说你大概记得有什么类,都有什么函数,每个函数里的大体过程是什么样的。然后走路、坐地铁的时候就可以用想象力在脑子里做代码的重构啦,找Bug啦什么的,然后回到电脑前就噼里啪啦敲代码。我听说有人在梦里也能写代码,我还没有锻炼出这个技能。当然,这些能力不是必须的,你随身带个笔记本也行,就是效率低些,影响职业成长的上限。
5. 英语:很遗憾地,目前多数有价值的东西都是英文的。所以无障碍阅读Stackoverflow的回答是起码的。
6. 阅读速度:我想不出一个和合适的能力名与之对应。大体是指看书、看网页、看和理解代码的速度、如果有需要,能从一大堆Log中迅速找出关键信息(当然不是仅仅阅读速度的问题,还确定于你所能熟练使用的文本处理工具)、能抓到在屏幕上一闪而过的异常讯息(不是说能记住,而是说一眼就能感觉出有些不对劲,然后回去细看。)有不少人也不笨,但是聪明反被聪明误,从小不怎么看书,阅读速度上不去,一个Stackoverflow的回答,有人扫一眼几秒就抓到重点,有人要看3分钟。有人看代码速度,一目十行,再善用佳软,再加强大的理解力和扎实的基础知识,找个Bug几分钟的事儿,有人看代码瞪着屏幕一个单词一个字地看,文件一多就阅读障碍了,如果理解力再差些,找个同样的Bug找一上午。当然这个技能不是很核心,因为它无法独立带来价值(有人看小说快,但是看代码慢,就是由于别的核心能力不足,阅读速度快也没太大用)。但是这个技能很锦上添花、拉开差距(阅读速度+理解力=更快的学习能力)。好在这个技能算是可以锻炼的,只是如果你比别人晚了20年开始锻炼的话,怕是再努力也要几年才能追赶上。
7. 沟通:很多人都觉得程序员不需要沟通,其实只是板砖码农不太需要而已。你起码要能清楚地解释自己的方案,更好地沟通是能把自己的好想法推广出去。当然,如果你1-4都是非常NB的水平,你不沟通也没有问题。桃李不言,下自成蹊。你一个人把大家的代码都写了,你一句话不讲,大家也会把你当神的。
上几个能力,0-6应该在学校就获取到80%,7在学校获取到50%。能把上面几点全部做到很好的人是极少数,能把其中的2、3点做好大体就算“适合”做程序,能在软件行业找到合适的岗位了。只是如果只有2、3点能做好,在软件业的职业发展不会很理想。
如果实在分辨不出哪个适合自己,那就选自己最喜欢做的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2021-04-29
展开全部
1.理解力或自学能力
如果你从小就养成了一个习惯性思维定势,觉得没有老师手把手的教就学不会,那你不适合当程序员。如果你学了的东西只是为了应付考试,考试之后就再也不看了,那你也不适合当程序员。
在编程的过程中,像操作系统、IDE、环境、语言等经常会出现各种Bug,你能否不厌其烦地去解决它们?
2.一定的逻辑能力
想要学习编程要有一定的逻辑能力,缺乏逻辑能力的人,就不能很快地找到逻辑漏洞,写不出条理清晰的代码。耐心不够的小伙伴会越来越来烦。逻辑能力也决定了程序员天花板的高度。
3.抽象思维
这个能力大体可以决定一个程序员的上限。如果没有这个能力是做不到把世界万物皆对象的抽象能力。如果在学代码的过程中,理解指针这个东西的时间超过了一天,那你不适合当程序员。(强调一下,这里不适合是指你无法成为一个优秀的程序员,你想做当然肯定是可以做的。)
4.专注力
专注力是兴趣的衍生品,当你对一个东西非常感兴趣的时候,你就会有非常快的进步。打个比方:有一些喜欢玩“LOL”、“吃鸡”的小伙伴,就算你连续玩几个小时还能越打越精神,还会利用业余时间看视频、看攻略,为什么?因为你觉得有兴趣。如果也觉得写代码有意思,那专注自然就不是个事儿。
5.想象力与记忆力
记忆里并不是说过目不忘,只是说你大概记得有什么类,有什么函数,每个函数里的大体过程是什么样的。然后走路、坐地铁的时候就可以用想象力在脑子里做代码的重构啊。6.沟通能力
很多人都觉得程序员并不需要什么沟通能力,只要可以写好代码就可以。其实只有搬砖码农才不太需要沟通能力。
如果你从小就养成了一个习惯性思维定势,觉得没有老师手把手的教就学不会,那你不适合当程序员。如果你学了的东西只是为了应付考试,考试之后就再也不看了,那你也不适合当程序员。
在编程的过程中,像操作系统、IDE、环境、语言等经常会出现各种Bug,你能否不厌其烦地去解决它们?
2.一定的逻辑能力
想要学习编程要有一定的逻辑能力,缺乏逻辑能力的人,就不能很快地找到逻辑漏洞,写不出条理清晰的代码。耐心不够的小伙伴会越来越来烦。逻辑能力也决定了程序员天花板的高度。
3.抽象思维
这个能力大体可以决定一个程序员的上限。如果没有这个能力是做不到把世界万物皆对象的抽象能力。如果在学代码的过程中,理解指针这个东西的时间超过了一天,那你不适合当程序员。(强调一下,这里不适合是指你无法成为一个优秀的程序员,你想做当然肯定是可以做的。)
4.专注力
专注力是兴趣的衍生品,当你对一个东西非常感兴趣的时候,你就会有非常快的进步。打个比方:有一些喜欢玩“LOL”、“吃鸡”的小伙伴,就算你连续玩几个小时还能越打越精神,还会利用业余时间看视频、看攻略,为什么?因为你觉得有兴趣。如果也觉得写代码有意思,那专注自然就不是个事儿。
5.想象力与记忆力
记忆里并不是说过目不忘,只是说你大概记得有什么类,有什么函数,每个函数里的大体过程是什么样的。然后走路、坐地铁的时候就可以用想象力在脑子里做代码的重构啊。6.沟通能力
很多人都觉得程序员并不需要什么沟通能力,只要可以写好代码就可以。其实只有搬砖码农才不太需要沟通能力。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
抽象思维力:
这个能力大体可以决定一个程序员的上限,没有这个能力是做不出一切皆文件这种抽象的,可以试试学习函数式编程,如果无法理解并使用高阶函数,你不适合做程序员。再来几个更初级的例子。如果你学写代码的过程中,理解指针的指针的指针这个东西的时间超过了一天,那你不适合当程序员。(强调一下,这里不适合是指你无法成为一个优秀的程序员,你想做当然肯定是可以做的。)
专注力:
我理解的专注力只是兴趣的衍生品,你打Dota打CS打个几个小时能越打越精神,为什么?因为你觉得有趣儿。如果也觉得写代码有意思,那专注自然就不是个事儿。
想象力与记忆力:
这个不是说过目不忘的那种,只是说你大概记得有什么类,都有什么函数,每个函数里的大体过程是什么样的。然后走路、坐地铁的时候就可以用想象力在脑子里做代码的重构啦,找Bug啦什么的,然后回到电脑前就噼里啪啦敲代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
判断一个人是否适合做程序员的标准很多。最关键的几个是:
0. 理解力(或自学的能力):程序员的起点。具有这个能力的特点是,如卡马克说的:“给我一冰箱的汉堡和互联网,我就能解决所有问题。”。如果你从小养成了个习惯或思维定势——觉得没有老师教就学不会,那你不适合当程序员。如果你学了的东西只是为了过考试,比如学完高中物理还买个仙人掌放电脑前防辐射,你也不适合当程序员。
1、逻辑思维力(或推衍的能力):这个是做称职程序员的底线。比如不能写的代码出个Exception就抓瞎不知道哪里出了问题,而是有能力从Exception顺藤摸瓜反推出哪里出了问题。Code即逻辑,Code有问题即逻辑有问题。没有逻辑的人是无法找到逻辑漏洞的,也写不出条理清晰的代码。
2、抽象思维力:这个能力大体可以决定一个程序员的上限。没有这个能力是做不出一切皆文件这种抽象的,可以试试学习函数式编程,如果无法理解并使用高阶函数,你不适合做程序员。再来几个更初级的例子。如果你学写代码的过程中,理解指针的指针的指针这个东西的时间超过了一天,那你不适合当程序员。(强调一下,这里不适合是指你无法成为一个优秀的程序员,你想做当然肯定是可以做的。)
3、专注力:我理解的专注力只是兴趣的衍生品,你打Dota打CS打个几个小时能越打越精神,为什么?因为你觉得有趣儿。如果也觉得写代码有意思,那专注自然就不是个事儿。
4、想象力与记忆力:这个不是说过目不忘的那种,只是说你大概记得有什么类,都有什么函数,每个函数里的大体过程是什么样的。然后走路、坐地铁的时候就可以用想象力在脑子里做代码的重构啦,找Bug啦什么的,然后回到电脑前就噼里啪啦敲代码。我听说有人在梦里也能写代码,我还没有锻炼出这个技能。当然,这些能力不是必须的,你随身带个笔记本也行,就是效率低些,影响职业成长的上限。
5、英语:很遗憾地,目前多数有价值的东西都是英文的。所以无障碍阅读Stackoverflow的回答是起码的。
6、阅读速度:我想不出一个和合适的能力名与之对应。大体是指看书、看网页、看和理解代码的速度、如果有需要,能从一大堆Log中迅速找出关键信息(当然不是仅仅阅读速度的问题,还确定于你所能熟练使用的文本处理工具)、能抓到在屏幕上一闪而过的异常讯息(不是说能记住,而是说一眼就能感觉出有些不对劲,然后回去细看。)有不少人也不笨,但是聪明反被聪明误,从小不怎么看书,阅读速度上不去,一个Stackoverflow的回答,有人扫一眼几秒就抓到重点,有人要看3分钟。有人看代码速度,一目十行,再善用佳软,再加强大的理解力和扎实的基础知识,找个Bug几分钟的事儿,有人看代码瞪着屏幕一个单词一个字地看,文件一多就阅读障碍了,如果理解力再差些,找个同样的Bug找一上午。当然这个技能不是很核心,因为它无法独立带来价值(有人看小说快,但是看代码慢,就是由于别的核心能力不足,阅读速度快也没太大用)。但是这个技能很锦上添花、拉开差距(阅读速度+理解力=更快的学习能力)。好在这个技能算是可以锻炼的,只是如果你比别人晚了20年开始锻炼的话,怕是再努力也要几年才能追赶上。
7、沟通:很多人都觉得程序员不需要沟通,其实只是板砖码农不太需要而已。你起码要能清楚地解释自己的方案,更好地沟通是能把自己的好想法推广出去。当然,如果你1-4都是非常NB的水平,你不沟通也没有问题。桃李不言,下自成蹊。你一个人把大家的代码都写了,你一句话不讲,大家也会把你当神的。
0. 理解力(或自学的能力):程序员的起点。具有这个能力的特点是,如卡马克说的:“给我一冰箱的汉堡和互联网,我就能解决所有问题。”。如果你从小养成了个习惯或思维定势——觉得没有老师教就学不会,那你不适合当程序员。如果你学了的东西只是为了过考试,比如学完高中物理还买个仙人掌放电脑前防辐射,你也不适合当程序员。
1、逻辑思维力(或推衍的能力):这个是做称职程序员的底线。比如不能写的代码出个Exception就抓瞎不知道哪里出了问题,而是有能力从Exception顺藤摸瓜反推出哪里出了问题。Code即逻辑,Code有问题即逻辑有问题。没有逻辑的人是无法找到逻辑漏洞的,也写不出条理清晰的代码。
2、抽象思维力:这个能力大体可以决定一个程序员的上限。没有这个能力是做不出一切皆文件这种抽象的,可以试试学习函数式编程,如果无法理解并使用高阶函数,你不适合做程序员。再来几个更初级的例子。如果你学写代码的过程中,理解指针的指针的指针这个东西的时间超过了一天,那你不适合当程序员。(强调一下,这里不适合是指你无法成为一个优秀的程序员,你想做当然肯定是可以做的。)
3、专注力:我理解的专注力只是兴趣的衍生品,你打Dota打CS打个几个小时能越打越精神,为什么?因为你觉得有趣儿。如果也觉得写代码有意思,那专注自然就不是个事儿。
4、想象力与记忆力:这个不是说过目不忘的那种,只是说你大概记得有什么类,都有什么函数,每个函数里的大体过程是什么样的。然后走路、坐地铁的时候就可以用想象力在脑子里做代码的重构啦,找Bug啦什么的,然后回到电脑前就噼里啪啦敲代码。我听说有人在梦里也能写代码,我还没有锻炼出这个技能。当然,这些能力不是必须的,你随身带个笔记本也行,就是效率低些,影响职业成长的上限。
5、英语:很遗憾地,目前多数有价值的东西都是英文的。所以无障碍阅读Stackoverflow的回答是起码的。
6、阅读速度:我想不出一个和合适的能力名与之对应。大体是指看书、看网页、看和理解代码的速度、如果有需要,能从一大堆Log中迅速找出关键信息(当然不是仅仅阅读速度的问题,还确定于你所能熟练使用的文本处理工具)、能抓到在屏幕上一闪而过的异常讯息(不是说能记住,而是说一眼就能感觉出有些不对劲,然后回去细看。)有不少人也不笨,但是聪明反被聪明误,从小不怎么看书,阅读速度上不去,一个Stackoverflow的回答,有人扫一眼几秒就抓到重点,有人要看3分钟。有人看代码速度,一目十行,再善用佳软,再加强大的理解力和扎实的基础知识,找个Bug几分钟的事儿,有人看代码瞪着屏幕一个单词一个字地看,文件一多就阅读障碍了,如果理解力再差些,找个同样的Bug找一上午。当然这个技能不是很核心,因为它无法独立带来价值(有人看小说快,但是看代码慢,就是由于别的核心能力不足,阅读速度快也没太大用)。但是这个技能很锦上添花、拉开差距(阅读速度+理解力=更快的学习能力)。好在这个技能算是可以锻炼的,只是如果你比别人晚了20年开始锻炼的话,怕是再努力也要几年才能追赶上。
7、沟通:很多人都觉得程序员不需要沟通,其实只是板砖码农不太需要而已。你起码要能清楚地解释自己的方案,更好地沟通是能把自己的好想法推广出去。当然,如果你1-4都是非常NB的水平,你不沟通也没有问题。桃李不言,下自成蹊。你一个人把大家的代码都写了,你一句话不讲,大家也会把你当神的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询