❶ 如何成长为一个真正合格的程序员
优秀程序员都是很努力的
一个真正合格的程序员,除了要有扎实的理论基础和代码能力,还要有诸多的综合素质。除非你只是一个纯粹的码农,除非你只是想做一点平淡的代码工作,否则如果你想有更好的发展,那就必须“学习”。从我自己的发展经历来讲,其实我只是一个半路出家的程序员,我没上过高中,只是师范毕业,学的还不是计算机,而是美术专业,从参加工作那天起开始自学计算机,花了半年学会了VB程序设计,写了第一个vb程序,一个校园的自动播音系统,实现了校园铃声、升旗、课间操等定时音乐的自动播放,免费提供给学校使用,给学校带来极大方便,从此我爱上了编程。后来为了宣传单位的形象开始自学ASP脚本语言,一个月时间写出了第一个ASP网站,在这个过程中学习了网页前端布局,知道了前端可以有JS控制,知道了域名是什么,知道了http协议,知道了WEB服务的发布。从那时起,我觉得网站建设就是一个商机,从此开启了我的网站建设之路。其实也就是程序员发展之路,至此,我在这条路上一发不可收拾。
在这期间我开始接一些网站建设的活儿,一开始,在网上搜索一些开源的代码进行修改,满足客户需求,但是很快发现一些问题,大多数代码都是预先挂了一些广告在里面,如果对程序不熟悉,等你网站发布出来,你就只能看到满山的网站,客户当然就不满意了,最后你还不知道这些广告从哪里冒出来的,甚至有些网站留了很多漏洞和后门,让你防不胜防。所以,想想还是自己写一套CMS系统,我只自己使用,只放在自己的服务器上,这样的话安全性高了很多,至少被攻击的几率少了多,也不担心莫名其妙冒出来的广告。于是,我开发了第一套产品,属于我自己的CMS,期间我可以说学到了更多的知识,累积了不少的产品开发经验。所以这里我总结一条,要成为一个合格程序员,最好完整的做一个项目吧。哪怕是项目的前端不懂,数据库不懂,逼迫自己去学习,去了解,最终产品虽然不够完善,至少你了解一个项目需要什么,和什么技术有关联,这样对你自己所擅长的东西就很有帮助。
不断学习,与时俱进。我喜欢一句话叫万变不离其宗。虽然程序语言有很多,但是基本原理还是相通的。我做了第一个ASP的CMS以后,很快发现ASP的程序网站已经不能适应项目开发的需求,需要更加高效的脚本语言来实现更多的功能。这个时候php就成了我首先研究的语言,因为我发现很多第三方开放的APi提供的都是PHP的,这让我们使用更多其他第三方功能的时候开发会更加方便快捷,所以我花了一个周,学习了基本语法和函数,我发现从ASP迁移到PHP其实是很简单的事情,只是语法不同,程序结构也是一样的,条件格式、逻辑判断、条件分支、循环处理也都差不多。经过学习很快掌握了这个语言,开始了项目开发之路。可见不断的学习,也就是自我成长的一个重要的过程。
良好的思维能力,这是一个程序员必须具备的技能。思维能力就是一个能够让代码在你头脑中执行一遍的能力,也就是说你在写代码的时候你的脑海里就能呈现出代码运行以后的结果,呈现给用户的界面,把抽象的逻辑代码转成具体形象的能力。良好的思维还体现在,一个程序的处理其实都离不开计算机运行的本质,那就是数据输入(数据从哪里来),到数据处理(获取的数据需要怎么加工处理或者转换为另一种形式),最后到数据输出(给用户呈现一个结果,图像的、文字的、视频的、声音的或者是多媒体的)。程序整体是这个理念,分解到很多细小的模块也是这样,所以只要有这些核心理念,你的思维能力就不会有问题。
通过我的学习和发展,我总结了,要让自己成长为合格程序员,离不开学习,离不开项目实践,离不开思维的创新,更离不开努力勤奋和汗水,愿有志青年都想有所成,学有所收,成就自我!
❷ 如何成为一名优秀的程序员
要掌握专业的的理论教程,系统的知识学习,因为要成为一名出色的程序员,从数据结构、算法。数据库都需要系统全面的了解和认识,并可以灵活运用,并且对自己所从事的编程语言要灵活调用。同时,编程高手都是从不断的失败和尝试中走出来的,所以对于一个刚入门的新手来说,任务就是不断的去编程,发现自身存在的缺陷,以及更熟练的掌握各种数据接口的调试和数据调用的应用。
❸ 如何成为一个优秀的程序员
讲几个小的方面吧。
批评还是启发?
代码审查是一个不错但很少用的想法。在一个团队里,优秀的程序员另一个任务就是要指导经验比你少的程序员,但是主要以指导和启发为主,不是贬低和公开批评,因为消极的态度不利于接下来团队合作的开展。
学会分享
搞编程的没有去逛一些论坛都不好意思说自己是干编程这个行业的。优秀的程序员往往会在这些论坛帮助别人,而实质上,输出就是最好的学习。在一个团队中也是一样,帮助他人解决问题收获更多,你也将不断地得到成长。
劳逸结合
每天工作 24 小时不会让你更有效率!不少程序员年纪轻轻就有腰椎盘突出、颈椎病、肩周炎、腰肌劳损、圆肩驼背等职业病。程序员们需要加强锻炼,运动不仅仅可以加强肌肉的力量和耐力,而且也能够活动身体的各个关节,有效缓解长时间保持一个动作导致局部肌肉过劳。
另外,编程是一项艰苦的脑力劳动活;有时你的大脑确实需要休息一下,休息是为了更好的工作。否则,你的工作质量将大打折扣。业余时间养成一项自己的个人爱好,确保自己可以放松并沉浸其中。如果是球类运动,效果更好,它将让你保持旺盛的精力和活力。
不要闭门造车
留意网络各种平台,学习新语言和框架、参与讨论以及看看同行在干什么。多关注业界在干什么,这将让你的视野更加广阔,不致于为了编程而编程。
❹ 怎么做一个好的程序员
想成为一名优秀的程序员,往往需要具备以下特质:
1、始终保持工作热情
只有热爱才能做好一件事。尤其对于技术人员来说,程序员经常对着电脑一坐就是七八个小时,有时候赶项目还得在公司熬夜加班。如果不是真的热爱这份工作,光靠赚钱这个驱动力肯定是不足以支撑下去的。如果你每天都是一副上班比上坟还沉重的样子,哪怕你的技术水平再高,你的状态也很难好到哪里去,更不可能做出一个好的产品来。
2、提高学习能力,不断提升专业水平
新技术层出不穷,每个程序员都必须坚持学习。只有不断学习才能不断提升。在空余时间多掌握一些工具,多学习一些技术语言,技多不压身嘛。而且技术都是相通的,多学习一些新东西,会让你更融会贯通。这样既可以提高自己的工作效率,也能提升自己的职场竞争力。
3、加强沟通能力,避免无效的工作产出
下手写代码前必须明确产品的目标和需求,如果有不理解的,一定要及时跟上级进行沟通,必要时还可以从技术层面给产品和老大提出优化意见。切忌光敲代码不思考,这样很容易做无用功。
只要能做到以上三点,你未来的发展空间会更大,也相信你一定能找到适合自己的平台!
❺ 如何成为一个优秀的程序员
向神为一个优秀的程序员。只要你肯吃苦耐劳,认真锻炼自己,好好学习更多的知识,将来一定成为一个优秀的程序员的
❻ 如何成为一个优秀程序员
从初入职场菜鸟到职场大咖,很多程序员在努力充实自己,有时候我们需要对自己进行一次能力定位,了解自己的优势和没有掌握的技术。芯学苑列出几点作为初入职场的新手评估自己,明了前进学习的方向。
1、技术能力(解决问题的能力)
这是非常重要的事;过硬的技术能让你得到面试机会,并在工作中游刃有余。当公司招聘一个Java开发人员时,是会优先考虑能力因素的。在实际的项目开发中,一个程序员的技术能力等于其解决问题的能力。
如果拿一个尺度来衡量这个能力的话,一个程序员的能力可以用能完成任务的数量和难度来衡量。一个程序员能基本无误的完成项目中的一个功能算是合格,但在此之前,他对项目的生产力为负,为他布置的任务,中间环节的沟通,修补bug的时间其实要多于自己直接完成该功能的时间的。能较好完成一个完整模块的程序员才算是较好的程序员,也是项目中的主要开发者。能独立完成整个项目才是优秀的程序员。
2、专业基础(知识的积累)
一个程序员的知识积累很大程度上决定了其解决问题的能力。知道如何编写代码是基本的技能,但是知道Java编程语言的原理,知道代码背后的算法将使你从人群中脱颖而出。
3、主流编程工具
今天,事实是,你不能成为一个样样都懂的人(杂而不精)。你必须选择你要掌握的工具。有时这是由工作的环境决定的,但是按照下面说的去做也是一个很好的选择:
构建工具:Maven或Gradle。
SCM:Git(不是GitHub。大不相同)。
构建自动化:Jenkins。
IDE:Netbeans或Eclipse——不仅用于编写代码,而且还从IDE中重构和调试代码。我遇到了很多没有如何从他们最喜欢的IDE调试的开发人员。
Bug跟踪:Bugzilla或Jira。
4、JSF的知识
应用程序服务器
所有Java开发人员应该知道如何在Apache Tomcat中部署。
当Glassfish开发停止时,下一个最好的事情是J Boss Wild Fly。
5、沟通的能力
沟通是我们做好一切事情的关键。我们必须与我们周围的环境保持互动,无论是在我们的私人还是职业生活中。一个良好的程序员知道如何在各种团体面表达自己。也许对你来说显而易见的东西在他人的角度来看并非如此。
从大的尺度(比如一个人的工作生涯)来看,一个程序员知识积累的多少只决定于其自学能力和他对编程本身的兴趣。
在一个分工明确的项目中,程序员需要理解产品,和领导沟通理解自己的任务,和同事们沟通以正确的方式进行合作。无论哪一个方面沟通出了问题都不是小事情,同时,程序员还需要正确的传达设计的实现难度,以及让别人正确的理解自己设计模块的接口。在不写文档时,正确的口头沟通非常重要,需要写文档时,良好的编辑能力也算做是沟通能力的一部分。
6、自学能力
这是一个非常重要的技能,在你自己的空闲时间学习新的技能。不要等待公司为你提供培训。你需要自己去学习新技术,提升自己在相关领域的水平。从Java后端开发到架构模式,总是有一些新事物值得学习。经常阅读博客和论坛,尝试加入本地聚会小组。你学到的东西可以帮助你的事业。知识刷新频率极快让人无法追赶的这个时代,难免会有超出自己知识范围的时候,此时你的自学能力决定了你能多快的完成任务。
7、良好的团队合作精神
无论是部分编程还是大型项目,所有开发人员都是作为团队的一部分在协同工作。你需要致力于团队的目的,或帮助新的团队成员克服障碍。不要存在这种“我只要做好我的本职工作,下班就直接回家”的态度。成为团队的一部分,帮助周围的同事,对自己的能力也是不小的提升。
就像拿破仑说的不想当元帅的士兵不是好士兵,追求参与一个大型软件系统的开发,是每个程序员的梦想。在此之前,应该学习更多的专业知识,达到优秀程序师的标准。最后希望各位程序员阅读本文后能够得到一些裨益,在这条路上走得更好。
❼ 如何成为优秀的程序员
首先是 来自自身内部的创造性的一面
虽然你可以从别人那里学到很多东西,也可以已有的东西中得到灵感。但真正的创意灵感来自于你自己。例如乔布斯,他不是一名工程师,也不是程序员,但他很有创意,他推动苹果公司创造了iOS,Siri。
或许你想问编程需要什么创意?任何人都可以在线或离线学习一些课程,阅读一些书籍就可以开始写代码了。但这些东西都是别人灌输给你的,你需要有自己的一些想法和创意,想出自己的框架。例如Dennis Ritchie,他就创造性地编写了C编程语言,而且目前这是使用最广泛的语言。
它像任何口语一样,每个人都知道一些语言,但不是每个人都是一个诗人或一个作家。你需要创造性的技能才能被称为伟大的诗人或作家。
其次是技术方面
你需要从一些编程语言开始。过去很多人开始是以C语言开始编写程序。然后很多人开始使用BASIC。现在人们从Python或PHP开始。其实从什么语言开始不重要。重要的是一旦你掌握了这些概念,你就可以编写算法并绘制流程图。
总的说来,如果你花太多时间做下面的事情,它可能会提高你的技能一点点,但你永远不会是一个好的程序员:
只知道看书的程序员用永远不会成为一个好程序员。俗话说All read and no practice makes Jack a ll boy,古人的话绝对是有道理的,不是说让你不要阅读,只是不要只有阅读,你应该通过应用你学到的东西来构建简单的应用程序。
通过记忆代码和算法。编程是思考而不是记忆。你可以拥有最好的记忆力,但是如果你没有自己思考,你永远不会是一个好的程序员。我们有计算机和互联网为我们记住事情,你不需要记住任何东西 , 你只需要了解在哪里以及如何找到你需要的信息。
通过编写你看的书中的单个函数和算法,即编写愚蠢的冒泡排序函数和类似的无用算法。
通过测试其他人的代码。例如是否使用测试软件或编写单元测试等
通过阅读和调试其他人的代码。这可能会在短期内有所帮助,但是只是在对方的代码写得很好的情况下,你可以从中学到别人的一些良好的习惯;但阅读不好的代码作为例子会教你养成不良的习惯,而且你或许一直会记得这个错误的习惯。从长远来看,花费太多时间阅读和调试其他人的代码将不利于你的成长。
让别人来管理你。编程就是为自己思考,你需要自己管理自己,也就是上面所说的,要有自己创造性的思考。
成为优秀的程序员最好的打开方式就是:
你必须自己完整的完成一个项目。不要过多地把重点放在阅读书籍,语法,算法和功能上,也就是说,在开始时不要太关注细节。你可以简单地坐下来思考一个你想为自己开发的应用程序/系统......如果实在需要的话,可以问你身边的同事/老师的想法,但是你必须有自己的思考并且自己独立去完成它。
一旦你想明白了,就把这个想法留在脑海,并且富有激情的去完成它,所有的一切都会慢慢地开始。你会想到你要实现的功能,你将开始研究如何实现这个或那个。
只有在这个时候,你才应该拿起一本书或在互联网上搜索关于如何实现这个你认为可以做的很酷的功能的答案。随着你的应用程序/系统的发展,你将会慢慢地开始考虑编写更简洁的代码,以便在将来也可以派上用场,让自己的工作更轻松。
只有通过把自己的想法带入生活,你才能学会如何成为一名优秀的程序员。你应该把自己看成是一个艺术家,而不是像编写代码的人那样去编译和运行。如果你只是在别人的代码上工作,或者只是阅读书籍等,你将很快失去动力,你永远不会发现或利用你的才华。
❽ 如何自学成为程序员
如何学习自学编程的方式最好的莫过于在网络上面查找资源。
目前,网络上电脑资源多不胜数。其中有很多都是基础到精通的视频教程。通过视频讲解。让你明白重点知识。你通过查找一套适合自己的视频。然后看完是基本。
这里推荐几个可以在线学习的好网站:慕课、极客学院、传智播客、如朋网、网易公开课等等做笔记在进行看视频的过程中,一定注意要记笔记。
对视频中重点的部分进行截图,并加以文字解释。就形成了自己的笔记。这些笔记对于你来说很重要。通过记笔记的形式,你就不需要重新观看视频了。只需要复习的时候查看笔记就够了,这样就大大的节约了时间。
下面介绍一个记笔记的好软件:CherryTree多练习代码在视频中讲解的代码,我认为你至少需要自己写三遍以上。在写代码的时候,就用到了上面写的笔记了。通过看笔记截图,即可自己慢慢摸索写出来代码。当然练习到一定程度,就需要你适当的做个项目。巩固自己的知识。
程序员必备技能
1、熟练开发工具
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。
而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。
其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
2、熟知数据库
为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。
虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL,Postgres等。
3、了解操作系统
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。
Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。懂得网络协议TCP/IP。
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课。
网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,深入掌握TCP/IP协议是非常必要的。
至少,需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
4、明白DCOM/CORBA/XML/WEBServices存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。
XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。
5、不要将软件工程与CMM分开
大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合。
编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。
6、需求理解能力
程序员要能正确理解任务单中描述的需求。
在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
7、模块化思维能力
作为一个优秀的程序员,他的思想不能局限在当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。
这样做可以使代码能重复利用,减少重复的劳动,也能使系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
❾ 做一名优秀的程序员需要什么条件
(1).要喜欢上写程序,如果没有喜欢上,那就要学会去培养。程序员需要整天趴在电脑前,经常没日没夜的,非常辛苦,而且工作来不得半点虚假,少写一个标点符号都不行。喜欢的人,日子过得非常开心,每写一行代码,都会有新的成就,尤其当自己的作品被广泛应用的时候,那种自豪感油然而起。不喜欢的人,坐在电脑前极端无聊,被进度压得喘不过气来,天天为找bug改bug生气。个人深有体会!这个“喜欢”就要大家在学习的过程中去体会。
(1).程序员应该是有感情的,程序员的程序最终是由用户来评价的,而不是老师,或者我们的BOSS。设计程序时,要讲究贴心,境界:我们也是Composer!
(2).程序员应该讲究团队协作,分配给团队的大项目,不是一人之力能够应付的,请尊重别人的代码,以及设计,彼此需要全心全力配合
(3).有坚韧不拔的精神,我们编的不是程,是寂寞。爱上程序设计,靠编程潜移默化性格,大多数成功的程序员都是相信自己的人,所以,多多鼓励自己一定是最好的。
一、优秀程序员的标准
1. 能够准确地评估你的工作。
2. 第一时间提交有质量的工作成果。
3. 建立快速的反馈循环。
4. 确保代码的准确性与后续跟进的协调性。
二、态度生活方面
1.踏实的工作态度;认真负责,少犯错误。
2.充满热情,努力工作;有团队合作精神,能善于和别人相处。
3.有预见性,预先感测未知因素预估风险或后果。