如何确定自己是否适合做程序员?
syuanlei1987
·努力成为无所不知的最佳答题者
专注于
一份工作是否适合你至少有三个标准:你擅长什么,你喜欢什么,什么对你最有价值(也能赚钱)。从程序员职业的角度来看,有很多标准来判断一个人是否适合做程序员。
看看你是否符合以下几个核心标准:
1. 理解能力或自学能力
如果你在成长过程中一直认为没有老师的指导你就无法学习,那么你就不是做程序员的料。如果你只是为了测试而学习一些东西,然后再也不会去看它,那么你也不是程序员的材料。
在编程的过程中,遇到操作系统、IDE、环境、语言等bug,你能不辞辛苦的去解决吗?
2. 逻辑能力
如果你想学习编程,你需要有一定的逻辑能力。那些缺乏逻辑能力的人无法快速找到逻辑漏洞并写出清晰的代码。没有耐心的伴侣会变得越来越烦人。逻辑也决定了程序员天花板的高度。
3.抽象思维
这种能力大致决定了程序员的上限。如果你没有这种能力,你就不能抽象世界上的一切。如果你在学习代码的时候花了超过一天的时间来理解指针,那你就不是程序员的料。(同样,“不适合”意味着你不可能成为一名优秀的程序员,但你可以成为一名优秀的程序员。)
4. 浓度
专注是兴趣的衍生,当你对某件事非常感兴趣时,你就会进步很快。例如,有些人喜欢玩“LOL”或“吃狗”,即使你连续玩几个小时,你仍然可以得到刷新,但也利用他们的业余时间看视频和看人行道。为什么?因为你觉得它很有趣。如果编写代码很有趣,那么专注就不是问题。
5. 想象力和记忆力
记忆并不意味着照相式记忆,它只是意味着你能记住有哪些类,有哪些函数,以及每个函数的一般过程是什么样的。然后,当你走路或乘坐地铁时,你可以运用你的想象力在脑海中重建代码。我听说人们有时可以在梦中编写代码,但我还没有开发出这种技能。当然,这些能力不是必需的。你需要锻炼。
6. 沟通技巧
许多人认为程序员不需要能够沟通,只要他们能写好代码。事实上,唯一不需要沟通技巧的人是砖瓦工人。如果您想成为一名架构师,您至少需要能够清楚地解释您的计划,并更好地传达您的计划。当然,如果你已经是一个伟大的神,你不交流也没关系。桃李不言,下溪不言。你独自编写每个人的代码,你什么都不说,人们就会把你当上帝看待。
事实上,很少有人能做到以上几点。如果他们能做好其中的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点能做好,在软件业的职业发展不会很理想。
作者:天机大师姐
链接:https://www.jianshu.com/p/33e46c2dd8a3
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
如何判断自己是否适合做程序员?
1、是否喜欢编程是成为一名优秀程序员的必要条件
什么被认为是喜欢?
就像当你无聊的时候,拿起一本编程书,像读小说一样阅读。
喜欢坐在马桶上突然想到一个技术问题。坐了一个小时后,别人几乎认为你有问题。
就像编程一样,从早上到深夜,忘记吃午饭和晚饭,甚至忘记上厕所。
我喜欢它来完成项目。 72小时不适合我的眼睛,完成后我睡了20小时。
当然,喜欢的前提是你要明白什么是编程,努力学习编程,并对它产生兴趣!
2、你愿意以终身学习的态度对待编程吗?
说起来,除了兴趣,程序员这个职业更需要从业者终身保持学习的能力!
因为IT技术更新迭代的速度非常快,如果不继续学习,很容易跟不上时代的步伐。
因此,对于IT技术岗位,对从业者的基础知识、学习能力、严谨态度都有要求。如果仅仅因为【简单】【容易入职】【高薪就业】而进入程序员岗位,往往也是难以长期坚持的!
但是,毫无疑问,技术过硬的程序员的薪水是高的!
3. 那么,从事IT技术岗位的程序员需要具备哪些能力?
1.你能不能专注于代码
在工作中,程序员不仅每天至少要坐在电脑前 8 小时处理复杂枯燥的代码,还要整理和组合各种代码;当他们遇到问题时,他们需要冷静地思考如何解决。 .
没有一定的专注力,很容易造成工作效率低下或无休止的bug。
2、具有一定的探索精神和抽象逻辑思维
逻辑思维能力(或推导能力)对程序员来说至关重要。例如,如果写不出来的代码有异常,它会抓瞎,不知道哪里出了问题,但有能力从异常中找出哪里出了问题。代码就是逻辑,代码有问题,逻辑也有问题。没有逻辑的人找不到逻辑漏洞,也写不出有条理的代码。 ,
同时,编程是将现实世界中的特定需求“翻译”成代码的工作。在这个过程中,需要将需求抽象为类、栈、堆等概念模型,最终逐行落入。代码。
一个思路清晰、逻辑清晰的程序员在写代码的时候,会在脑海中画出清晰清晰的步骤,每一步的意图,以及整个过程。这样写出的代码干净漂亮,出现问题时,能快速定位问题,快速解决。
3.最好有一定的英语水平
在能够理解和编写代码的基础上,编程实际上并不需要程序员的英语水平。但如果你想在工作中不断进步,那么英语是必不可少的职业技能之一。
首先,在日常工作中,命名类、函数变量等使用英文不当,会给阅读代码的人带来很大的不便,也不方便他人维护。
其次,很多优秀的学习资料,比如名校的官方文档、公开课等,都是英文的!如果你的英语水平足够高,可以第一时间接触到这些内容。
最后,如果你想使用 Stackoverflow 解决工作中遇到的技术问题,或者通过 Github 学习优秀的代码和设计思想,英语将是程序员和这两个网站之间最重要的纽带。
对于一份工作是否适合你,至少有三个标准:你擅长什么,你喜欢什么,什么对你最有价值(并且能赚钱)。从程序员职业的角度来看,判断一个人是否适合做程序员有很多标准。
查看您是否满足以下核心标准:
1.理解或自学能力
如果你在成长过程中认为没有老师的指导你无法学习,那么你就不应该成为一名程序员。如果你只是为了测试而学习一些东西,却再也看不到它,那么你就不是程序员的素材。
在编程过程中,当您遇到诸如操作系统、IDE、环境和语言之类的bug时,您能不厌其烦地解决它们吗?
2.逻辑能力
如果你想学习编程,你需要有一些逻辑能力。缺乏逻辑技能的人无法快速发现逻辑漏洞并编写清晰的代码。不耐烦的伴侣变得越来越烦人。逻辑还决定了程序员天花板的高度。
3.抽象思维
这种能力大致决定了程序员的上限。如果你没有这种能力,你就不能抽象世界上的一切。如果你花了一天以上的时间学习代码来理解指针,你就不需要成为一名程序员。(类似地,“不适合”意味着你不能成为一名优秀的程序员,但你可以成为一名优秀的程序员。)
4.浓度
集中是一种利益的衍生。当你对某件事非常感兴趣时,你会取得快速的进步。例如,有些人喜欢玩“lol”或“吃狗”。即使你玩几个小时,你仍然可以得到刷新,但他们也会利用业余时间观看视频和人行道。为什么?因为你觉得很有趣。如果编写代码很有趣,那么专注就不是问题。
5.想象与记忆
记忆并不意味着照相记忆,它只是意味着你可以记住哪些类,哪些函数,以及每个函数的一般过程是什么样的。然后,当你走路或乘地铁时,你可以利用你的想象力在脑海中重新构建代码。我听说人们有时可以在梦中编写代码,但我还没有掌握这项技能。当然,这些功能不是必需的。你需要锻炼。
6.沟通技巧
许多人认为程序员不需要有交流能力,只要他们能写出好的代码。事实上,唯一不需要沟通技巧的人是砖匠。如果你想成为一名架构师,你至少需要能够清楚地解释你的计划并更好地传达你的计划。当然,如果你已经是一位伟大的上帝,你不交流也没关系。桃子和李子什么也不说,但什么也不说就顺流而下。如果你独自编写每个人的代码,你什么也不说,人们会把你当作上帝。
事实上,很少有人能做到这一点。如果他们能做好其中的2-3件事,他们通常“适合”做程序,并在软件行业找到合适的工作。
对于一份工作是否适合你,至少有三个标准:你擅长什么,你喜欢什么,什么对你最有价值(并且能赚钱)。从程序员职业的角度来看,判断一个人是否适合做程序员有很多标准。
查看您是否满足以下核心标准:
1.理解或自学能力
如果你在成长过程中认为没有老师的指导你无法学习,那么你就不应该成为一名程序员。如果你只是为了测试而学习一些东西,却再也看不到它,那么你就不是程序员的素材。
在编程过程中,当您遇到诸如操作系统、IDE、环境和语言之类的bug时,您能不厌其烦地解决它们吗?
2.逻辑能力
如果你想学习编程,你需要有一些逻辑能力。缺乏逻辑技能的人无法快速发现逻辑漏洞并编写清晰的代码。不耐烦的伴侣变得越来越烦人。逻辑还决定了程序员天花板的高度。
3.抽象思维
这种能力大致决定了程序员的上限。如果你没有这种能力,你就不能抽象世界上的一切。如果你花了一天以上的时间学习代码来理解指针,你就不需要成为一名程序员。(类似地,“不适合”意味着你不能成为一名优秀的程序员,但你可以成为一名优秀的程序员。)
4.浓度
集中是一种利益的衍生。当你对某件事非常感兴趣时,你会取得快速的进步。例如,有些人喜欢玩“lol”或“吃狗”。即使你玩几个小时,你仍然可以得到刷新,但他们也会利用业余时间观看视频和人行道。为什么?因为你觉得很有趣。如果编写代码很有趣,那么专注就不是问题。
5.想象与记忆
记忆并不意味着照相记忆,它只是意味着你可以记住哪些类,哪些函数,以及每个函数的一般过程是什么样的。然后,当你走路或乘地铁时,你可以利用你的想象力在脑海中重新构建代码。我听说人们有时可以在梦中编写代码,但我还没有掌握这项技能。当然,这些功能不是必需的。你需要锻炼。