很多人想要成为程序员,在学习编程的过程中,面对各种bug和源源不断的问题,有时会对自己是否适合编程这一问题产生困扰。
作为一名教授全栈Web开发的教育工作者,我已经带领很多新手成为了程序员。好消息是,我发现没有任何人是不能学习编程的。我把它看作是一种基本的人类技能,就像阅读、写作和算术一样,任何人都可以做到。它是我们人类能力的一部分,只是需要学习。
在过去的几年的教学中,我目睹了不同的学生在学习过程中的斗争,以及在他们的挣扎中出现的一些共同问题。
下面的列表将帮助你了解你是否喜欢编程
1、缺乏好奇心
如果你对计算机是如何工作的缺乏好奇心,那么,作为一个程序员,你将永远不会成功。
学习的一个基本要求是对你所学的东西有积极的兴趣。如果你没有一个对技术好奇的头脑,你就没有精力去坚持学习要成为一个成功的程序员所需要的广博而深入的知识。相比之下,技术的世界就像一个巨大的海洋,里面充满了各种有趣的领域、相互联系的思想和各种可能,它们可以激发人们的想象力。想要潜入这片海洋并发现你所能发现的一切,需要内在的动力。
找到你的好奇心:问问你自己,编程是否真的让你感兴趣?如果没有兴趣,去找你感兴趣的东西,以节省时间和精力。但是如果你的答案是感兴趣,那么就强迫自己去发现一些你以前没有注意到的新事物,认识到浩瀚的技术海洋,再往下潜一点。
2、缺乏自主性
如果你不培养自己解决问题的能力,你就永远不会成为一个成功的程序员。
毫无疑问,要成为一个成功的开发人员,你必须对自己的学习能力充满信心。这实际上是一项基本的生活技能,如果你年满18岁,没有人有义务教你任何东西。这就是现实。当你想学习技术所需的技能时,首先要学会的是,在谷歌中输入你想要的任何东西并获取你需要的信息。除此之外,所有编程语言都有文档和规范,这些文档和规范对语言的工作方式解释的非常清楚,它们就像字典一样。作为一个程序员,最快速、最可靠的学习方法就是简单地阅读这些文档。
当你有问题的时候,在问别人答案和查阅官方文档之前,强迫自己先搜索一下,节省别人的时间。
3、面对问题缺乏毅力
如果你在遇到问题时轻易放弃,作为一个程序员,你将永远不会成功。
编程的本质是解决问题,这也是计算机产生的全部原因!每当你开始编写一个程序时,你总是会遇到一大堆问题。一旦你解决了一个问题,那么几乎总是有另一个问题在后面等着你。你在进步,但总是会有新的问题要面对。
这堆问题会让人望而生畏,令人感到沮丧。如果你觉得程序应该「能用就好」,那么你就没有精力坚持下去,因为问题还在继续出现,它们会一点一点地击溃你的情绪和决心。从字面上来说,你的工作就是找出程序为什么不能跑起来。
从我在授课上的经验来看,通常每个班都有一两个学生,和其他学生相比,他们似乎更容易遇到更多的问题——通常是非常随机和模糊的问题。我提醒学生,他们面对的问题越多,学习越深入、越彻底的可能性就越大。如果他们能通过这些问题获得深刻的理解,他们会很快发现他们变得更加自信了,因为他们面对和解决的问题比普通学生多。
你需要认识到,问题不仅仅只是问题,它实际上也是挑战。你所面临和克服的每一个挑战都能让你更深入地理解技术,更好地面对新的挑战,并迅速解决旧的挑战。
4、解决问题之后没有成就感
如果你在解决一个问题后没有兴奋感和成就感,作为一个程序员,你将永远不会成功。
与上一个问题相关的是,你成功地解决了一个问题,却缺乏「良好的感觉」。当修复bug和问题变成了一个永远不会结束的事情时,你会失去与克服问题的动力。
当你解决一个问题时,你需要的是多巴胺的释放。这类似于在电子游戏中完成了一个关卡,或者解决了一个像纵横字谜或数独这样的挑战。我们都知道,坚持通过一项挑战,然后最终赢得比赛,一般都会有成就感和兴奋感。但是如果你失去了感受这些快乐的能力,或者从一开始就没有真正有过这些感受,你将无法体验到编程带来的快乐。如果你把编程看作是一种磨砺,你只想尽可能容易地得到结果,那么你永远不会真正成为一个成功的程序员。
无论何时,当你解决了一个一直在努力解决的问题时,无论这个问题多么微小,你总是为你的成就感到骄傲。你需要休息一下,祝贺你自己完成了一项出色的工作,让成功的感觉渗透进你的心里,为你即将面临的下一个问题注入活力。
5、无法独立思考
如果你期望别人为你着想,并且主动看到你自己所在的处境的细节,你将永远不会成为一个真正成功的程序员。
当你在学习新的东西时,很容易感到缺乏知识和经验,并没有自己的观点。主动做事或者说错话似乎是有风险的。对于错误,我们的内心都有一种恐惧感。当对错误的恐惧抑制了你的探索和好奇心时,你会扼杀开发真正知识、从经验中获得的知识和「失败」的能力。当你需要依靠「权威」的观点、一个受欢迎的博客、一个最佳实践或「教科书」的答案时,那么你就没有真正地整合编程的知识。你需要对什么有效,什么无效形成自己的观点。你需要理解为什么你认为你的解决方案有效,以及使用这个方案有什么好处。你需要建立一个微妙的视角,超越那些显而易见的东西。你需要能够「证实」你的立场。
为自己着想。通过你的经验和批判性思维技巧,发展出你自己的思想体系。做出合理的猜测,坚定立场,并愿意随着新信息的出现而改变立场。
6、僵化、狭隘、混乱的思维
如果你的思维僵化,并且难以保持代码的条理化,那么你将永远无法成为一名真正成功的程序员。
我有时在学生中看到两个极端。第一种是僵化和狭隘的思维方式。拥有这种态度的人拒绝帮助,尽管会有反馈,但不会有改变。他们看事情只从一个角度看,别人给的建议被忽略。
我看到的第二个极端是思维混乱。学生们似乎使事情变得更加复杂,他们的代码杂乱无章,难以理解。他们过度思考问题,写100行代码,而其中只有10行是有用的。
当这两种心态结合在一起时,结果就是一种用蛮力的方法去设计程序。我们需要的是回顾解决方案,重新评估它,放弃最初的方法,并重新组织方法。
无法看到其他可能性或无法反思反馈会抑制成长的能力。思维杂乱无章会减慢你的成长速度,阻止你看到那些原本显而易见的模式。你的工作质量也会下降。
自我反省。你需要退后一步,看看你是接触的事物的大局是什么样子的。你要怎样才能做得更好?你能做些什么让你的生活更轻松吗?你需要什么来帮助你?
7、需要「正确」的答案,而不是识别一系列「好」和「坏」的答案的方法
如果你认为编程的最终目标是找到正确的解决方案,而不是一系列解决方案,那么作为一个程序员,你将永远不会真正成功。
当开始学习技能或编程时,学生往往想知道他们所做的是否「正确」,而答案总是「视情况而定」。
计算机科学是一门评估权衡的科学。在不同的环境下,哪条路更好,这完全取决于所处的环境和目标。当你把编程看作是一个有正确答案或错误答案的测试时,你就失去了对全局的认识,放弃了你的创造力。任何答案都可以是「正确的」,前提是你能根据具体情况证明这一点。现实情况是,编程更像是写诗或写短篇小说(如果程序很大,则可能是小说)。在你的代码中可以看到一种美学和美丽,这些东西有时只有你和其他程序员能够识别出来。你决定解决方案的原因,以及你对答案的设想,比「正确的方式」或「错误的方式」更重要。拥有一个艺术家的头脑可以让你编的程序具有选择和可能性,而不是认为只有一种处理方式。这就是编程的美——有很多方法可以解决问题,考虑不同的可能性,然后决定哪种方法最适合当前的情况。
创造性很重要。你要认识到,解决问题的方法有很多种,通过经验和积累,你会对哪些解决方案比其他解决方案感觉更好产生细微的理解。纵观全局,想象不同的可能性,相信你的直觉,你会得到更满意、更好的解决方案
如果你对学习编程感兴趣,我鼓励你开始这段旅程。记住提到的七条,并开始学习、探索在线资源,这些资源可以让你快速学习。你不会后悔的!
合格程序员,对于一种计算机程序设计语言,我们将其分为语法、语义、语用三个层面。仅仅掌握语法是不够的,不算学好。但是很多人,在履历上写自己掌握(甚至精通)了某种语言,其实就是解了语法,会写简单的程序而已。这就是为什么我们行业特别不喜欢“精通”这个词的原因。
现代软件开发,规模都比较大,不是写个HelloWorld那么简单,也不可能每个项目每件事都从头开始造轮子,我们都是站在前辈、同行们的肩膀上工作的。也就是说,语言之外,还有“库”这个东西需要掌握,不然就寸步难行。库有语言级别支持的BuildIn的库,比如JAVA里面的util、concurrent,CPP的IOSTREAM、STL等等;更多的更丰富的还有第三方提供的库,比如JDBC、Servlet、EJB的implementations等等。这些东西掌握了,干活儿才可能得心应手,不然寸步难行。
比Libaray更高层一些的,是Framework。框架的作用在于,将某一方面开发的BestPractices搞到一起,给你提供一个更易用的、不关注底层的脚手架。比如做企业应用的,SpringFramework是标配了;访问数据,Hibernate或者MyBatis也离不开,很少直接用JDBC去干活的了;做WEB的,各种MVCFramework起码得掌握一两个(springmvcorstruts2);做网络的,Netty,MINA怎么也得掌握一个总而言之,框架是绕不过去的一个门槛。
然后呢,就是环境、辅助工具。应用服务器,怎么也得会调试配置那么两个吧。TOMCAT是入门标配,JBOSS,WEBLOGIC之类,起码要弄得跑得起来;针对不同应用场景,还要会选择。开发/管理工具,ECLIPSE是标配、GIT和SVN起码要搞熟一款;其它比如单元测试工具、Build工具、测试覆盖率、CodeReview这些插件也得知道怎么用。
最后,通用的,计算机科学的基础,不说多扎实,至少不能一窍不通。说起来就那几大件, *** 作系统、数据结构&算法、编译原理、体系结构。要懂一点点,你才知道你编的程序是怎么run起来的,哪儿可能存在效率问题性能瓶颈,除了问题知道怎么debug。如果仅仅把计算机当作一个黑盒子,那也不算学好了。
最最后,还有一样,就是你要训练一下,快速理解领域知识的能力。你参与做一个项目,你懂的只是上面这些专业知识,但并不懂客户的行业知识。如何尽快地理解业务,并用你手头的工具实现业务逻辑,这点对程序员而言是非常重要的,否则你做的东西客户总不满意,GET不到重点,很麻烦。
我觉得这是一个合格的程序员的基本要求。你看,我并没要求你懂需求工程、懂项目管理、懂架构设计、懂很多算法、模式,甚至更深的专业知识。
从hello wrod 开始学,下电子书边看边写,一定要多练习,不然学得快忘得也快,同时学习C语言,C是所有其他高级语言的基础,学会了C(不必学的太深,了解一些简单的算法和思想就可以) 再学起其他编程语言就会很容易上手的。
还有数据结构,虽然这是一门枯燥的学科,但它对于编程的思想拓展有很大帮助。 再看算法与应用一类的书了,因为程序设计主要是写算法,这就免不了学习数据结构。
选定要学习的语言,通常是c语言,python等比较容易入门的语言。而最重要的是要有持之以恒的心,每天练习,学会自己思考。
学习编程的过程:
1、看书、看博客、学课程或者看视频等。
2、模仿着书上或者博客的代码,进行复现,复现不重要,思考才是关键。
3、思考学习别人思路后,脱离书本和博客,完全自己实现功能。
4、自己实现一些 DEMO,看别人项目代码,与别人讨论,提升代码能力。
5、在别人的框架和要求下,写代码实现业务。
6、自己负责别人设计的模块的实现。
7、独立设计业务模块并开发实现。
8、负责大项目框架设计和拆分,带领别人进行开发。
9、其他高阶的架构和管理工作。
扩展资料
重要诀窍
1、让编程成为一个习惯
2、把工作拆分成小块
3、阅读别人的代码
4、寻找良师益友
5、写技术文章
6、保持耐心
现今互联网信息技术高速发展,很多人也想要尝试跟紧时代的步伐,投身与互联网科技中做一名程序员。但是却又不知道从哪里开始。那么如何从小白成为一名能工作的程序员呢接下来将由小编粗略的为各位说下吧。
1、了解自己是否喜欢这个行业:这个行业虽然很有趣(对部分人而言)但是也非常枯燥,如果没有兴趣的,那么你赶紧打消加入程序员行业的这个念头(能找钱方法太多了,不要为了高薪盲目跟随)
2、如果确定要入行了,那么计划学习拿得软件设计师资格证书:怎么学习呢?第一种参加软考培训,大概一千元左右(各个地方应该不同,但是超过三千就别报了)这种培训班基本都是培训到你过了为止,因为软件设计师比较好考,而且基本能工作了。
第二种自学!没错就是自学,作为一名合格的程序员一定要有很强的自学能力,英语不好就学、数学不好就学、c语言不好就学、c++不好就学、Java不好就学、数据结构不好就学。把以上几种学完,你大概就能拿下软件设计师证书了。
3、具体自学方法:1完全小白的英语不好的记住多背单词。
2、数学不好的也得学习(离散、高数、线代),主要是数学思维对一个程序员很重要。
3、c语言、Java、c++,数据结构可以去百度传课上看视频学(记得老师说的每一个程序都要自己动手在计算机上敲一遍,如果你不动手敲,那么你早点放弃吧,那么可以很直接告诉你,你不适合入这行,这行得动手,虽然大部分时间是思考)。
4、调查清楚软考时间和报名方式,这样你就能做好足够的准备。
很期待一件事,如果程序能有思维。
5、坚持,入行说难不难,但是坚持的过程很磨人,特别对于完全一点基础都没有的人,但是当你想改变的那一刻起,你就得明白你已经在挑战的道路上了。
学习编程可以从c语言开始学,方法如下。
零基础自学编程入门指南:
一:确定一个方向,编程语言太多了:java、C++、python、PHP、C等,需要确定方向,从基础学起,建议零基础学编程的小伙伴从C语言开始学起,C语言入门比较简单,会提升自信心。
二:自学编程入门一定要阶段性的看到成果,这个“成果”并不是在“黑匣子”里面实现,要在用户展现界面呈现,很容易提升信心。
三:视频和图书同步查阅,网上的是鱼龙混珠,建议找一些免费的学编程入门的初级视频进行学习,最好是成套视频,如果条件允许也可以购买一套编程入门的视频资料。
四:计算机编程入门一定要理论和实践相结合只有这样才能真正学好
五:如果你有会编程的好朋友,多请教请教他,能让他带带你就是最好不过的了。
首先确定学习什么、从什么学起,然后配置好电脑编译环境,这样为我们接下来的学习和动手实践会带来方便。现在基础的编程语言是C语言,建议把C语言学习作为基础语言。在学习计算机编程语言的时候需要在网上找到相应的课程,网上有很多免费的C语言课程,建议选择一套进行学习,阶段性的回顾复习。
其次,多学多练,计算机编程只有多打代码,才能从中找到规律。期初的时候可以不明白只要跟着老师一起打代码一起多练习,慢慢就会由记住理解,如果是想从事编程的同学,可以把写过的代码存到自己的文本文档里,这也就能知道我们的代码量,为以后找工作做准备。
学编程入门很关键,如果你找到一个好方法入门学习很轻松,如果方法错了,很容易半途而废,C语言编程学会后,完全可以在学习python、java等新的编程语言也无所谓,它们有很多相通之处,可以相互借鉴,互相拿来应用。
在大数据时代下,很多人认为软件开发是非常全能的职业,软件开发人员不仅精通Java语言,还掌握前端开发和后端开发等技术。想要成为一名优秀的程序员,需要掌握的知识是非常多的,并且还应该知道自己的职责。下面电脑培训为大家介绍成为优秀程序员需要具备的条件。
1、前端开发人员的职责
前端开发最重要的就是网站建设和用户体验。首先,我们需要了解网站或应用程序的功能,然后开始开发(并在上线之前不断优化它。在整个过程中,我们花费很多精力来完善我们建立的网站,IT培训认为所做的一切就是让网站值得用户的喜爱。只有这样,您才能保留用户并鼓励他们再次访问我们的网站。
2、了解用户的需求
只有了解我们的用户才能为其用户创造出色的用户体验。开发人员为广泛的用户提供互联网服务,但是用户和开发人员师不同的。用户使用的终端设备是多种多样的,用户还会使用不同的浏览器。例如,四种最常用的浏览器是Edge,Chrome,Safari和Firefox。除此之外,还有其他浏览器。
3、扎实的编程基础
在开发过程中,需要掌握HTML、CSS以及JavaScript等相关知识,这是进行开发的基础工具,如果连基础工具都不了解,想要成为优秀的开发人员是不可能的。说到代码,北京北大青鸟认为最关键的就是代码的质量,干净清晰的代码易于维护,并且能够提高用户的体验。
4、良好的沟通能力
软件开发人员通常不善于交际。在条件允许的情况下,很多软件开发程序员不喜欢与其他人进行交谈,他们宁愿坐在电脑前写一天的代码。很多时候不想与任何人交谈,那就没关系了。但如果项目需要,北大青鸟昌平校区官网认为最好还是与他人沟通,能够解决很多工作中的问题。
建议先从信息基础开始,要学习信息首先要打好基础。楼主可以先买一本互联网基础书,然后自己细心阅读并最好有相应配套练习。等到基础过关了以后,就可以学习简单的编程,比如VB。再之后就可以学习其他计算机语言,C语言是肯定要学的。然后是C++,最后如果想当一个真正的程序员,JAVA也是必不可少的。
现在刚刚起步的话,还是建议你先从基础开始,一步一个脚印的学。
求楼主采纳。
以上就是关于如何成为一名合格的程序员全部的内容,包括:如何成为一名合格的程序员、如果要当程序员,应该从哪里学起、如何学习编程,从什么几乎开始学等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)