A. 程序员要具备什么技能
一名合格的程序员需要掌握哪些技能呢?
熟练掌握开发工具
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVA One很可能会成为未来的主流开发工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
熟知数据库
为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。
对操作系统有一定的了解
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。
懂得网络协议TCP/IP
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。至少,你需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
明白DCOM/CORBA/XML/WEB Services存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。
不要将软件工程与CMM分开
现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。
拥有强烈的好奇心
什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。
B. 好程序员:技术分享 有哪些新手程序员不知道的小技巧
我有一个学习的小技巧,就是学习新技术的时候,多看看“官方文档”。
多年来的学习和工作经历,让我比较深刻认识到一点:看“官方文档”非常重要。
我们很多的问题和技术细节,其实,只要我们认真将官方文档过一遍,会发觉大部分的问题和认识模糊的地方都消失了。甚至,你还能发现自己之前通过搜索获得的到一些资料,可能是不准确或者已经过时的。官方文档是真正的好东西,因为编写文档的人群,通常就是这些技术或者软件的开发者,他们才是对这些东西最了解的人,因此,他们写的文档质量是很高的,通常也是最新的。
官方文档的不足的地方,大概是中文版本不多,看起来可能会比较吃力。不过,请相信我,下载一个翻译辅助软件,慢慢看还是可以的。另一方面,就是这些文档编写者,通常是技术界大牛,他们编写文档有时候是基于他们自己的技术认知水平,跳过了很多基础概念,也增加了阅读难度。不过,这个我们也可以通过多查资料,慢慢看来解决,并且通常会带来额外的学习收获。
C. 有哪些新手程序员该知道的工作小技巧
1.积极大胆的谷歌。你得知道如何有效的组织搜索关键字,查阅别人写的代码,然后合理地用在代码里,从而解决问题。
2.拥抱变化,坚持不懈。老手程序员在接触新技术时,能欣然接受像个初学者一样处处受挫,并总能在完成工作的同时自学成才。
3.承认细节的重要性。例如变量和函数的命名、CSS属性的命名、该用哈希还是数组,以及其他看起来微不足道,但可能对项目有深远影响的事情。
4.承认大多数的“重要决定”其实并没有那么重要。一般的开发者经济常在技术选型等“重大问题”上陷入唇枪舌战,而程序员老鸟们会避免浪费时间在骂战中。这一点上,它们就像禅宗大师一样。
5.选择合适的工具解决问题。网上有无数的开源库、工具和框架,让人眼花缭乱。而老手们清楚地知道针对怎样的问题,应该用怎么样的工具。
6.明白代码“不值钱”(该删就删)。你必须习惯于删掉几百行代码来重写程序的某一部分,毫不留情。
7.在评估技术的时候要全面。例如,我一直在鼓吹Elixir。它语法优美,社区完善,有很大的潜力。但Elixir诞生的时间太短,所以如果要构建复杂的功能,可能会难以找到能帮你提高效率的开源工具。因此,在评估要不要选择使用一项技术时,你得把所有这些因素都考虑在内。
23.知道什么时候开始回馈。到了某个时候你需要将你的技能和经验传授给年轻的开发人员,就像你的导师当时教授你一样。
24. 能写烂代码。有时候可以当一当“胶带式程序员”。关键是随着时间推移,你需要弄清楚什么时候可以走捷径,什么时候必须走捷径。这其实是最难掌握的技能之一。
25. 礼貌地告诉别人你工作到很晚。如果你是办公室里最后一个,可以发一封简短的汇报邮件。别人一般会注意到邮件上的时间戳的。
26. 像一个领导者(Leader)一样做事,而不是老板(Boss)。老板是让别人为他工作的人,领导者是人们追随的人。做个领导者。
27. 去打打桌上足球。从长期来看,同其他开发者(或不同岗位上的同事)建立联系比在紧巴巴的期限里交付一个功能更有价值。
28. 在压力下学习。你需要知道如何应对像系统宕机而你要负责将它复原的情况,即使一开始你完全没有头绪。
D. 你怎么看待程序员
大方向上分类,成为程序员的两种人
喜欢计算机,喜欢编程的人,这种人视编程是一种享受
生活需要,需要一份工作来养活自己
程序员发展的方向也大致有以下几种
喜欢钻研技术的人,最后成为资深技术专家
在某个业务领域呆久了,熟悉业务,成为业务专家,后续转售前,销售
擅长处理人际关系,在公司呆一段时间,升为管理层
混日子的,年纪越做越大,和刚毕业的学生抢饭碗
E. 程序员工作中的沟通小技巧
程序员,是互联网公司的一笔资产,也是产品经理等冲突的主要对象,如何提高与程序员之间的有效沟通,请看下文:
心态平和——程序员的内心世界是很丰富,在经历了各种需求修改、bug修复后,相对而言与人交流的能力要明显弱于与计算机的交流能力。因此一定要心态平和的与程序员进行沟通。
希望以上几点建议,能够帮助提升你与程序员之间的沟通效率。
F. 想要成为一名程序员的话,都必须要掌握哪些技能
编码是软件开发人员的必备方面。在每个团队中,每个开发人员必须被同一技术面试过程雇用。因此,我们可以推断编程器或更少才能具有类似的编程技巧。在这种情况下,一个人如何成为一个好程序员?如果他们做与同龄人的努力做了什么,他们可以做些什么?如果你正在考虑这个问题,证明你已经超过了他人的团队,你知道你想在专业领域拥有长期的发展,并编程效率不好。成为一个优秀的软件开发人员必须拥有的技能。您可以编写一个干净整洁的代码来确定您是否是优秀软件开发人员的标准之一。通过查看代码结构,人们可以轻松判断您是一个能力的程序员。
只要有足够的时间,大多数开发人员都可以完成交付,但不幸的是,在软件行业中,时间是最有价值的东西,如果你公司在一个激烈的市场环境中,如果公司不能先进入市场或者与竞争对手同时进入市场,它将失去市场份额,这是至关重要的。因此,软件开发人员需要有效地管理他们的时间。为此,您需要知道如何准确评估您的时间效率。当你第一次时,你会在评估中犯错误,但它是正常的,每个人都会产生类似的错误,但聪明的开发人员应该能够来自他们。课程是学习和改进的。软件开发专业是激烈的竞争。开发人员的熟练程度可能有所不同,但每个软件开发人员都知道如何以一种或多种编程语言编写代码。在软件行业中,依靠编码技能来实现指数增长是不够的。不要让你的职业生长在几年内。在您职业生涯的每个阶段,实现您想要的目标,实现上面提到的七种技能,成为一个优秀的软件开发人员。
G. 你是如何看待程序员这份工作的
引言:三百六十行,行行出状元。社会当中的职业种类还是非常多的,有的人会根据自己喜欢的以及自己的专业去选择合适的工作。每一份工作的特点大多都是不一样的,有些工作会非常的抢手,也有一些工作非常的冷门。而程序员这份工作在大家的心目当中都是非常不错的,工资很高,待遇不错,但是工作压力比较大。
当大家看到程序员的话,首先在大家的印象里就会出现一个头发稀疏的形象。程序员的工作是非常有压力的,并且长时间熬夜以及生活习惯的不好,很可能会让他们脱发。而且程序员也会经常穿着格子衬衫,会让人一眼能够分辨出来。
H. 讲讲你是怎么样看待程序员这个职业的吧
感觉还不错,工资待遇都非常的高,而且也不用担心会失业,就是经常会加班,如果你操作起来比较熟练,你会在其中找到很多的兴趣的。
I. 如何看待程序员这个工作,你觉得这个工作有何优势
社会上的每份工作都会有自身的优势和劣势,没有哪一份工作是只有优点而没有缺点的。现如今,越来越多的人对程序员这份工作感兴趣,想要从事这份工作。不过并不是每个人都可以直接去当程序员的,这份工作有一定的门槛。不过,如果你成功当上了程序员,这份工作还是非常不错的。下面我就来说说当程序员的好处。
在互联网行业或者说IT行业,每项技术都是日新月异的,因此程序员必须保持一颗热爱学习的心,主动学习新的东西,那么在学习的过程中,我们就能够不断地提高自己,提高自己的实践能力。这种提高对于我们未来的发展是非常有好处的,永远保持一颗学徒的心,我们迟早能够成为大师。还有,程序员每天的工作就是解决麻烦,在解决各种各样的麻烦的过程中,我们还能积累很多的工作经验。
J. 大家如何看待程序员的
程序员在普通人眼中就像是魔术师一样充满了神秘感,这一点我深有体会.
但是只有程序员自己才知道,这份工作并不是普通人想象中的那样潇洒神秘,有时甚至是死板老套一成不变的.
程序员不应该像你这样没有自信,老是觉得别人可能看不起自己,觉得自己是个没出息的打工仔.确实在某些人眼里,程序员是个类似于打杂的工作,并不被他们看好,那是因为他们接触的大多是低级别的程序员,觉得工作就是整天敲代码,密密麻麻的一串,人也像个机器似的不会说话.这只是极少数人的表现.
一个技术精湛的程序员是非常受人尊敬的,即使别人是外行,看到你的精神状态,甚至是你的高薪收入,别人也会肃然起敬.
所以,作为程序员,首先一点是自信,程序员并不低人一等,其他年份的我不清楚,但是从08年到今年,IT一直是中国收入最高的十大行业之一,最高(平均工资)的两个IT职业应该是3G工程师和系统架构师,但这并不表示其他职位收入就低,在我和我认识的所有高级别程序员里,平均月收入两万,这并不代表程序员钱容易赚,IT行业的脑力艰辛和极高的耐心是其他人很难想象的.
所以,要为自己是个程序员而骄傲,而不是自卑,当你奋斗到事业巅峰时,没人会看不起你.