第一篇:程序员入职之路
一、入职之后的空档期
在上一篇帖子的时候咱们说到了面试,现在就来跟大家分享下程序员的IT生活!
其实一般的时候入职当天上午基本就是走走流程,办理入职手续,录入员工指纹,介绍下公司制度(甚至有的小公司直接省略这一步)!然后会把你介绍给组长。安排下工作之类的!但是有几点需要注意下:去了需要先去找人事办理入职,别等着别人找你!人事会很忙滴!还有就是需要问下正常的上下班时间!每个公司的制度不太一样,别刚入职几天就出现迟到一类的情况,影响非常不好!另外如果自己的指纹不好使,提前弄个密码打卡或者打卡,不要当时录入的时候不吭声!回头再去找人家弄个密码啥的,想想自己都觉得麻烦!
后来我在企业里面的跟HR主管混熟悉之后,问过这方面的问题,她给我影响最深的一句话:自己饿不饿自己还不晓得么?为什么还要等别人来叫你吃饭!我喜欢主动一点的员工!所以自己这方面一定要注意哦!而且另外一个公司制度的学习,尤其是大公司!新员工入职会有一个人事制度的学习,个人建议一定要重视!虽然技术部的人没人在意人事方面,但是对于那些简单条例的学习代表了你的一个态度!虽然无关紧要,但是这往往是一个企业主管对新员工一个最直接的了解!
二、如何快速融入企业
一般新员工入职不会立马让你去着手项目,往往很给你一些以前的代码让你看!但是.问题出来了..90%的公司代码是在服务器上的,需要你用SVN或者 cvs去下载!对于不熟悉SVN或者CVS的最好入职前好好看看,如果你连工具都搞不定,丢的不仅仅是面子哦!这直接是对你工作经验的问题!项目操作的话,最好自己动手去写写,抽取个小模块或者功能代码去熟悉下!但是千万不少擅自在SVN上去更改代码!即使是错的,也会有别人去改!或者自己主动的去问下。同时自己还需要主动去找组长或者经理要下接口文档和项目需求文档,尽快去熟悉下整个项目的业务!一般入职的前两天你都会处于一个很轻松很悠闲的状态,但是
作为新员工的你千万不要浪费这些时间,或许两天过后就有人考验下你这两天的收获!尤其是对于培训的学员来说,一定要时刻去回顾自己的知识!知识三天不练就会生疏!
如果公司有专门的bug管理系统,ok,你幸福了!找经理要个帐号!开始你的bug之旅吧!多看看,多学习,这才是一个公司技术部最宝贵的财富,是N多人来来去去保留下来最价值的积累!
3、程序员生活的开始
作为一个入职新员工,自己需要做的就是如何做好自己的本职工作,如何完成自己的任务!然后再去考虑下员工关系!工作做不好,在铁的关系到替你的时候一定会把你无情踢走!企业不会养闲人,尤其是小企业!同时也需要自己不断去调节自己的心态面对企业真正的工作流程!上班--开会--代码--吃饭---代码--日报!说实话很枯燥,但是这是事实!而且最重要的,我个人觉得从事技术行业的人都比较直,当你的技术得到别人的认可的时候,就是你融入他们圈子的时候!
入职不到二个月我就得到提前转正的机会!这个要感谢自己那四个月苦逼的艰苦奋斗和一帮技术大牛讲师们的无私分享!所以对于克服各种困难来学习的同学们,大家一定要坚持!高考这么坑爹的时候大家都能坚持三年,更何况是短短的四个月培训呢?今天很残酷,明天很残酷,后天很美好,这需要坚持和努力并行,千万别挂在明天晚上。真的,我一直幻想企业的工作多么的神圣,到了真正的开发流程里面,其实才发现企业里面的工作和平时自己的学习差不多少,多的只不过是规则!一种叫客户需求的铁规!
公司android组仅仅三个人,但是这三个月对于一个移动app完完全全的可以搞定了!从进公司的第二周起,我已经正式融入一个刚刚起步的项目中!从项目需求文档,到接口文档,到类名规范文档,到服务器接口文档。真正的高节奏开始时忽然发现自己的知识好像不够用..不是学习的不精,而且确实那种高浓度的知识总结,缺少了那个知识点熟练应用的熟练度!
项目开始,到项目进入模块测试的两个月,每每看到bugzilla中项目中挂着一堆属于自己的bug时,很痛苦的赶脚!OK,传说中程序员的加班生活正式开发啦!每天晚上10点之前未曾离开公司的小节奏伴随着项目交接的倒数日子开始紧张的开展起来!加班是为了沉淀,是为了技术的成长!千万不要以为加班只是为了实现公司的价值!
以上是我对工作的一个总结:
1、记住一位同事的名字及其特点!你认识公司的所有同事吗?你了解他们吗?
2、作为技术型人才,那么就先用技术去征服别人,去赢得别人的尊重!其他的可以排在最后!
3、一般的程序员羞于或者不想让人知道自己不懂,所以他们装作什么都知道!这个非常可怕的一种习惯!不耻下问是一个非常不错的品质,最起码我这么认为!尤其是技术这方面,一山更比一山高,千万不要认为自己已经足够强了!或许你仅仅是活在自己的世界里!
4、作为程序员,你的工作不是解决技术问题,你之所以解决技术问题,是为了解决业务问题。玩的转技术的人太多了,但是玩明白业务的人不是很多,这就是为什么经理只有一个,而程序员会有这么多!
5、有一个好的代码习惯会让你在项目组的亲切感获得加分!提交代码前,先清理自己的代码,把中间的调试信息,测试代码清理 掉,按照编码风格整理好,注释都写好了吗?每个人都讨厌去看一些没有注释的代码,但是不是每个人都写注释!
6、有人的地方就会有矛盾,尤其是作为最底层的程序员,别人批评几句是应该的,即使你是对的,不要试图去挑战领导的尊严!如果有异议,好吧,私下去解决下!你和领导所在立场不一样,考虑固然不同!冲动是魔鬼!
以上的文章仅仅是我个人对企业的理解和陈述,希望大家可以拿来参考!同时也希望大家在传智播客论坛得到更多宝贵的经验!
第二篇:程序员,应届毕业生入职指南
程序员,应届毕业生入职指南
大学应届毕业生,现在找工作是如此之难,本书不回避这个问题。目前的情况与笔者当年毕业时的情况有天壤之别。这个问题说起来是一个大话题,关系到“社会”、“经济”、“文化”、“教育”等诸多领域,并非一言以蔽之的事情,对于国内教育体制与社会用人需求脱节的问题,大家也已心知肚明。
本书也没有奢望能够在本节将其讲的很清楚,只希望,能够结合本行业的具体情况给出一个理由,以及给处于此阶段的同学们一个解决办法而已。话说到,“大学应届毕业生,现在找工作是如此之难”这一问题,从本行业出发,不负责任的人,无非会给出一个似是而非的解释“缺少工作经验”。乍听起来,好像是很有道理,但仔细一想,简直是“废话”。应届毕业生哪里来的工作经验呢?
如果,按此逻辑,凡是毕业生通通在待业,因为,始终没有工作过,哪里来的工作经验,所以永远找不到工作啦。
认真的面对这个问题,我们的回答是:
缺少应聘该职位所必需的技术或者能力。
为什么这么说,要知道,并不是只有应届毕业生找工作难,有“工作经验”但“缺少应聘该职位所必需的技术和能力”的人找工作同样难!
所以,要想解决这个问题,作为我们广大应届毕业生同学,必须要弄清楚“应聘该职位所必需的技术和能力”都是什么。
即,工作经验都是什么经验。
1.2.1 工作经验都是什么经验
我们刚才已经说了,所谓的工作经验就是“应聘该职位所必需的技术和能力”,那么这个技术和能力又具体指的是什么呢?
我们只从行业出发,来剖析这个工作经验,他是包含两个方面的问题,即“技术”和“能力”。
1.2.1.1 首先说说“必备技术”
这时有些同学可能会说,“我已经会很多程序的开发技术啦,Java、C#、VB,都会呀,这些技术难道还不够吗?”
我可以毫不迟疑的告诉你,“不够!”。
我们再回过头来看一下,我们在“前言”中提到的那个应聘简历:
主要擅长于计算机的维护、应用以及开发:
软件方面:现以通过国家软考中心软件设计师资格考试;
主要熟悉的IDE环境:VC++,C++Builder,VB;
主要使用的数据库接口:ADO;
主要使用的数据原:Access,SQL Server,擅长使用SQL语言;主要使用图形接口:OPENGL,对DirectX接口也有一定了解;其它语言:Java(J2EE、J2ME);
网络方面:熟悉ASP,PHP,JavaStript,以及网络构架设计、施工、调试,对安全知识也有相当的了解;
系统维护方面:有三年的计算机维护经验,熟悉系统工作原理;
其它:熟悉CAD、Photoshop等几乎所有常用软件的使用,UNIX系统的应用;
这个简历中,几乎将目前信息系统开发的所有技术都列出来了,生怕用人单位会因为自己的技术不全面而不给他面试机会。
而结果是,仅仅有一个公司让他去面试了。
我们这里所说的技术,并非指的是“广”,而指的是“精”。
倘若这位同学真的搞定了那些技术,我想,每项技术能达到用人单位的要求,都至少需要1年时间,那么,在他的简历中提到的技术大家可以数一数,至少有10种,简单一算,全部掌握需要多长时间呢?
回答:10年!
那么,我请问,这位应届毕业生同学,哪项技术可以单独拿出来工作呢?有经验的主管们,一眼便知,此君为“应届”。
因此,我们广大同学应该在所掌握技术的深度和精度入手,那才是用人单位最需要的。
1.2.1.2 再说说“必备能力”
说到能力,我们的很多应届毕业的同学们都愿意给自己的评价是“我的学习能力很强!”或者是“具有良好的学习意识”等等。
请看这是某君简历中的自我评价:
本人性格开朗,做事认真,富有开拓精神,不怕挫折,具有良好的团队意识!具有良好的身体和心理素质,有较强的学习意识和自学能力。作为IT行业的一员,我愿意花费更多的时间,不怕困难,努力提高自己的专业水平!
他的这段话看起来似乎还不错,如果看这个自我评价的是他的班主任,一定会感到很欣慰——真是一个勤奋好学的好学生!
然而,仔细看来,他这段话的重点是“自身学习能力和学习意识”,以及“自我提高的强烈愿望”,他很显然很想让用人单位知道他在校的学习成绩是多么的优秀,或者生怕用人单位觉得他在校期间学习并不优秀,总之,他千方百计的要突出自己的学习能力。
说到这里,肯定有些同学会很不服气,会说“突出学习能力强和自我提高的强烈愿望,这不正是说明他或她是一个好学生,有什么不对吗?”
当然不对啦,如果我作为用人单位,我请问你,“你学习能力强,自我提高的愿望那么强烈,和我们公司有什么关系”,很显然你工作的第一愿望还是提高自己的技术水平,换句话说,你一定是对这份工作心里没底,希望借用“学习能力强”来告诉用人单位“我现在虽然什么都不会,但是我学习能力很强,很快我会学会的”。
我在公司中经常听到的一段对话是:
A君:„„。
主管:“你到这里的目的是学习?还是工作?如果你的目的是学习的话,你应该给我学费,而不是管我要工资。”
说这话确实有点严厉,但是,这恰恰体现出了用人单位对人才能力方面的需求,这个需求就是,“创造价值”的能力,而不是你“自我提高和学习”的能力。
1.2.1.3 结论,工作经验是什么经验?
工作经验是:具备职位所需技术的精度和深度,最好是对那个技术非常精熟,具有为公司服务的意识,有为公司创造价值的能力,至少有为公司节约成本的能力。
通过以上分析,了解了什么是用人单位的招聘真实意图,这样,我们就不难写出符合用人单位需求心理的简历了,同时也就知道了自己的努力方向。供求关系一旦吻合的时候唯一出现的现象就是“频繁的接到面试通知”。
第三篇:程序员之路
程序员之路
“程序员”,提起这个名称便让我们的脑海中闪出一长串名字:一手开创现代软件业恐龙——Microsoft的比尔·盖茨;现在中华民族软件业之代表金山公司的掌门人——求伯君;微软的噩梦、自由软件的代表、Linux之父芬兰小伙Linus Torvalds……这些在IT业内被无数人津津乐道的名字,都是从一个小小的程序员开始做起的。随着他们的软件日益流行,他们的名字也逐渐为人人所推崇和尊敬。很多年轻人也以他们为榜样,梦想着做一名程序员,最后成为新一代的IT英雄。在这里,笔者作为一个职业程序员的角度,想和大家谈谈自己的感受。为什么要做一个程序员
谈到这个问题似乎会让人觉得太简单、太幼稚。看看现在程序员舒适的工作环境、丰厚的薪水、过着“快乐”的白领生活一切仿佛都不言自明。其实这是只看到了程序员的一面。我们的另一面则不为关注:没日没夜的工作,通宵加班是家常便饭;整天和键盘打交道,把自己的代码改来改去几十甚至上百遍,目的只是为了想抓住一个小小的Bug……这种枯燥的生活又有谁能切身体会?没有对软件事业本身的执著、对源代码近乎朝圣般的痴迷,这一切都是普通人不能忍受的。但是当你的程序完全通过了测试,成为一个合格的产品。这个时候的喜悦,又是如此强烈地激荡在你胸中。也只有真正热爱编程的人,才会感到其中真正的快乐。所以如果有人问你为什么要做一个程序员,那就告诉他你有足够的勇气面对每一次调试失败、有坚定耐心和信心来写好每一行代码。这是我的热爱,编程就是一种乐趣!
学编程是先学什么?
对于广大编程初学者来说,存在着这样普遍的认识:学习程序设计选择编程语言很重要,开口闭口就是Visual Basic、Visual C++、Delphi、Power Builder等一些现在一些比较流行的开发工具。经常看见有初学者问:我学C/C++,究竟是学Visual C++好呢,还是学Borland C++ Builder好呢?或者就是要求在Visual Basic和Delphi之间做出选择。学习程序设计和学习程序设计语言究竟是怎么一种关系呢?初学者究竟应该如何取舍呢?就此我们打个简单的比方:学习程序设计就好比学习射击,而程序设计语言就对应射击中的气枪、手枪、步枪等各种枪械。学习射击必须要选择一种枪械,不可能没有枪还能学好射击的,也不可能同时学会使用所有的枪械。但是,如果掌握一种枪械的射击,再学别的枪就触类旁通了。因为在熟悉一种枪械的同时,也学习了射击技术本身。再学其他的,自然事半功倍。学习程序设计也是一样,必然要从学习一门程序设计语言开始入手。同时在学习的过程中,不但要掌握这门语言语法本身,还要学会编程的思想,这是所有程序设计语言的基础。程序设计语言,是“一法通,万法皆通”的。
建议:学习程序设计不必苛求一定要从某一种语言入手,可以在Visual Basic、Delphi、Borland C++ Builder、DOS下的Pascal、Turbo C(或Borland C)等中间选择自己比较容易接受的一种进行学习。从中主要学习的是编程本身的思想,学习的是用程序设计的眼光来看待问题。或许,学习的效果不能马上看到,但是可以学到扎实的基本功,而这对于将来的进一步发展是有很大好处的。这些基本功包括:
一、强化逻辑分析和建立数学模型的能力 编程的目的是什么?是要解决现实中的问题。而现实中的问题是用自然语言描述
1 的,目前的计算机对之是无法理解。我们要做的就是必须用计算机能理解的方式将之“告诉”计算机。也就需要我们对现实问题进行逻辑分析,建立合适的数学模型,然后以程序和数据的形式输入计算机,让计算机帮我们来分析解决。一个简单的例子就是计算机对于颜色的处理办法:用R、G、B三色分量来各表示一种颜色,对于颜色的处理被转化为对R、G、B三个整数的处理。我们只要改变这三个整数,就可以改变成为另外一种颜色。对于其他的现实问题,我们也要象这样使之可以被计算机所“理解”。这是编程所要解决的第一步,否则就根本没有程可编。这是建立在“经验”上的,是要在学习过程中逐步积累的。
二、数据结构和算法知识
程序设计发展到现在,已经有了一套比较普遍、完整的数学模型(我们称之为数据结构)和对应这些数学模型的处理方法(也就是算法)。目前的程序就是以之为基础的。在程序员中间流传着一句经验之谈:“好的数据结构是程序的一半。”其重要性可见一斑。作为一个程序员,如果不知道数据结构中堆栈、队列、链表、树,不知道算法中的查找、排序、树的遍历、递归,这简直是不可想象的。我们所说的“编程的思想”也就是具体表现为这两点。所以,一般的数据结构和算法知识是学习程序设计过程中必须掌握的,这样在以后的程序开发过程中就可以觉得得心应手。
三、丰富的实践经验
程序设计本身就是一门实践性很强的学科。一个只存在于纸上的程序如同没有翅膀的鸟永远不能飞翔在现实的天空。任由代码写得再巧妙,风格再优美,也是一张纸上的一连串字符而已。就好比是一份作文练习,或许写得很好,但是不交给老师去批阅,和一张白纸又有什么区别呢?在这里,程序就是作文,而计算机就是老师。只有把“作文”交给“老师”,只有从通过调试的程序中才能印证自己的构想是否正确,或者看到有什么缺陷。当然也少不了要多和同行交流,尤其是随着互联网的普及,在网上我们也可以看到别人编写的例子和源程序,作为现代的程序员,这也是千万不可错过的好机会。
最后,作为一个程序员还有一点小要求:身体素质比较好,能熬夜才行。有规矩,成方圆
程序开发是一件灵活性很强的工作。例如:变量I增加1,在C语言里面可以有I++、++I、I+=
1、I=I+1等多种写法。但是,这并不说明编程就可以顺心所欲,天马行空。良好的编程习惯可以提高工作效率,减少不必要的失误。尤其是对于初学者来说更是要注意的:
第一点:编程的时候,首先要建立好的数据结构。在前面已指出“好的数据结构是程序的一半。”,这句经验之谈自然有其道理所在。编程序的时候,如果在开始的时候设计错数据结构,那么在后来不得不花大代价修改程序。笔者自己就曾有过这样的惨痛教训:一个程序写了2500多行,突然发现基本数据结构不合理,结果全部推翻重写。“磨刀不误砍柴工”绝对不是老生常谈。在开始写代码之前做好数据结构的研究和准备工作往往可以达到事半功倍的效果。
第二点:代码尽可能重用,尽量模块化。无论是面向过程还是面向对象,代码重用都是基本原则之一。例如:如果要画一个青苹果和一个红苹果,就写一个函数来画苹果,把颜色作为参数传进去。这样只要调用同一个函数传不同参数就可以实现画不同的苹果。这样做的好处一是程序比较容易理解,另外修改也方便,只要修改一个地方就可以让两个苹果都发生改变。这点在开发一些短小程序中还感觉不出,但是在以后开发大型程序的时候,工作的效率就明显提高不少。这就是
2 聪明人做聪明事,以最小的代价取得最大的收获。
第三点:良好的编写风格。一个程序,不可能是绝对完美,以后永不用修改的。既然要修改,就必然要重读和理解原来的代码。而良好的编程风格,可以使人更方便和迅速理解程序的结构,从而可以最大限度地提高修改的效率。在这里,笔者举出一些比较好编程的风格要求:1.统一有意义的命名规范:一个变量叫nCount明显比叫iii更容易被理解其真实逻辑含义和数据类型。所以不要怕麻烦,变量和函数名多起几个字母,有意义一点,将来理解起来比较方便。2.代码的逐层缩进格式。这几乎已经成为一种标准,这种格式使得代码之间的层次关系非常明显,对于程序的逻辑理解有很大的帮助。3.代码位置的有条理性。把相关功能的代码集中起来,放在一起,这样在以后阅读代码的时候,可以尽量避免在不同文件模块之间频繁切换。函数内部的逻辑不要太复杂,代码行数不要太长:由于要考虑到以后的理解,所以函数内部的逻辑不要写得很复杂,例如循环嵌套以三层为宜,代码行数以一屏左右为好,太长的代码不利于理解。如果循环的确多、代码的确长,就应该考虑重新再划分为更细的子函数。好的编程风格当然不止这些,这也需要在学习过程中慢慢体会。
第四点:注重程序测试,注意异常处理。这是业余编程爱好者和职业程序员的一个很明显的差别。业余编程爱好者往往只注重程序可以正常运行,而职业程序员除此之外还必须关注程序在异常情况下也必须正常运行,至少可以正常终止。而这是建立在对程序进行充分测试的基础上的。多用不同情况去测试自己的程序,可以发现更多的隐藏的Bug,从而提高自己程序的质量。
千里之行始于足下。做程序员也是这样,这世上不仅没有平坦大道,还有更多的曲折和困难。但是只要真心热爱软件开发,愿意为之而付出,最后胜利的金苹果必将使你体会到个中乐趣。来吧,还犹豫什么,踏上这条程序员之路,昂首向前走吧!
3
第四篇:程序员入职自我评价
程序员入职自我评价范文
在平平淡淡的学习、工作、生活中,我们都经常看到自我评价的身影,自我评价的功能首先表现为自我功能,它对人的自我发展、自我完善、自我实现有着特殊的意义。怎么写自我评价才能避免踩雷呢?以下是小编帮大家整理的`程序员入职自我评价范文,供大家参考借鉴,希望可以帮助到有需要的朋友。
程序员入职自我评价范文1大家好,我叫xxx。我性格开朗,乐于与人交往,诚实,正直,有教强的上进心,较强的学习能力,在学校团学会的工作使我组织和协调能力得到进一步加强,有较强的社会责任感。
我的计算机能力:程序员语言能力:英语(一般);普通话(标准)熟悉windows,能够熟练使用word,powerpoint等office软件;熟悉c,c#,html,xml,了解数据结构(c),软件工程学,c,c++,java,ajax。熟练掌握c#语言。熟悉开发工具vs。netXX/XX;且利用b/s开发过物业网络管理系统。在公司从事教育软件的开发。
我曾经获得物业管理系统
软件环境:windows系统开发环境:vs.netXX(c#)sqlXX项目描述:本系统主要包括前台和后台两部分,前台主要实现了管理员登录、物业管理人员信息、公告信息、住户欠费信息、住户投诉、住户报修、欠费查询等。后台主要对本网站进行管理,主要实现了受理物业信息管理、物业管理、公告管理、基本设置、系统维护等。
XX年-XX年“优秀团员”称号、“三等奖学金”、“校篮球比赛第一名”XX年-XX年被评为“系团总支学生会宣传部部长”、“校书法大赛第一名”
XX年-XX年“优秀学生干部”、“优秀团干”
通过以上的自我鉴定,我能更好地了解自己,了解自己在各方面的实力。作为一名有工作经验的计算机程序员,我为自己而感到骄傲。
程序员入职自我评价范文2我是中南大学(原中南工业大学)冶金科学与工程学院20xx年轻金属冶金专业应届毕业生。在此临近毕业之际,我希望能得到贵单位的赏识与栽培。为了发挥自己的才能,特向贵单位自荐。
中南大学师生中一直流传着这样一句话今天你以母校为荣,明天母校以你为荣,从入学以来,我一直把它铭记在心,立志要在大学四年里全面发展自己,从适应社会发展的角度提高个人素质。将来真正能在本职工作上做出成绩,为母校争光。
我以严字当头,在学习上勤奋严谨,对课堂知识不懂就问,力求深刻理解。在掌握了本专业知识的基础上,不忘拓展自己的知识面,特别是在计算机应用方面,及时阅读相关书籍,并购置了个人电脑,掌握了VisualBasic程序设计方法和PHP&MYSQL、JavaScript等动态网站建设技术。我很重视英语的学习,不断努力扩大词汇量,英语交际能力也有了长足的进步。同时,为了全面提升个人素质,我积极参加各种活动,加入了中南大学射击队,经过长期刻苦的训练,在多次全国以及湖南省比赛中取得优异的成绩。这个经历使我认识到团结合作的重要性,也学到了很多社交方面的知识,增加了阅历,相信这对我今后投身社会将起重要作用。
现在,我以满腔的热情,准备投身到现实社会这个大熔炉中,虽然存在很多艰难困苦,但我坚信,大学生活给我的精神财富能够使我战胜它们。
希望贵公司能给我一个发展的平台,我会好好珍惜它,并全力以赴,为实现自己的人生价值而奋斗,为贵公司的发展贡献力量。
第五篇:JAVA程序员之路
怎么学好java
JAVA程序员之路
很多网友问我学习Java有没有什么捷径,我说“无他,唯手熟尔”。但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛!
要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。J2SE开发桌面应用软件比起VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。所以现在应用最广泛又最好学的就是J2EE了。J2EE又包括许多组件,如
Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。然后你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?还好,SUN提供了Javabean可以把你的JSP中的Java代码封装起来,便于调用也便于重用。接着就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail了。
好了,对Java和J2EE有了一些基本概念之后,你就应该编一些程序了,千万不要纸上谈兵哦。最好找一些有实例且带光盘的书来看,这样看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用劳您老大架再亲自把它再输一遍吧,再说直接复制还不用怕出错,何乐而不为呢!还有就是要经常上一些好的Java编程文章,有好的文章要Cut下来,有问题尽管问,只要问题不是太傻,一般高手都会回答你的。下面介绍几个好的Java方面的编程网站:
CSDN论坛http:/// 中国最有名的技术论坛,《程序员》杂志就是他们出版的,你可以在上面提出问题,马上就有人回答你,如果你觉得好,你可以给那人加分;
Java研究组http:/// 那里Java资料比较全;
java.com.cn http://.cn/ 看这域名就知道有多牛,注册用户快接近一万了,同时在线人数也在一千左右,人气很旺的;
IBM的开发者网http:// IBM永远的蓝色巨人;
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。所以你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他还愿意不厌其烦地教你,这样好象有点难哦!
还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,最近《金装四大才子》看多了)。学Java必读的两个开源程序就是Jive和Pet Store.。Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名鼎鼎的banq在Jive2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网
http:/// 去下载,或到同济技术论坛的服务器上
ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要错过了。
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得我也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是我泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体“技术”,它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧,让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。关于设计模式的资料,还是向大家推荐banq的网http:///,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。有时间再研究一下MVC结构(把
Model-View-Control分离开的设计思想)吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring(重整)和极限XP编程,相信你又会上一个台阶。
做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧,你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的来了。。。
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
下面介绍两个好的开源项目网站:
湖北省软件公共开发平http://gro.clinux.org/
共创联http://cosoft.org.cn/
哇,好高兴哦,我终于成为高手了!非也,非也。古人云:“识时务者为俊杰”。你知道计算机界现在的发展形势吗?你知道微软的.NET蓝图和SUN ONE计划之间的明争暗斗吗?你知道计算机技术将向何处发展吗?其实从各大计算机厂商最近的动作,都可以看出来“Web服务将是下一代互联网应用的制高点”,而微软的.NET蓝图和SUN ONE计划的斗争焦点,也就是Web服务。Web服务就是一个崭新的分布式计算模型,它是一系列标准的综合(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同语言编写的软件能够轻易的集成起来,使网络资源和Web站点变成一种服务而不是混乱的垃圾场。不远的将来,我们就可以在家里点击一下鼠标,就可以完成出门旅游的全部准备工作,包括定飞机票,定旅游线路,定好房间等。请注意,这所有的一切都是Web站点间自动完成的,再也不用象现在一样,表面上是电子商务,实际上很多环节都是人工操作。也许你会觉得这是天方夜谈,不过就近的说,你也很有可能承接一个项目,要集成两个企业的ERP系统。很有可能上游企业的系统是用Dephi编的,而下游企业的系统是用Java编的。你说你是Java高手,大家都看者你怎么做呢。所以啊,你还得学习新技术,如Web服务,而且你Dephi也要懂一点吧(Dephi6现在已经提供Web服务的控件了)。你编的Java系统,可能要和.NET集成,所以你.NET要懂一点吧?到最后,你可能发现你已经成为Java高手了,但很多时间却在搞别的技术。太极张三丰里说,最厉害的招式就是没有招式,可能就是这个道理吧!因为刚刚兴起,所以网上Web服务的资料不是很多,我还是给大家推荐几个网站吧:
中国UDDI技术联http:///developerWorks/cn/xml/index.shtml?csdn IBM可是Web服务的力推者
呜…你费劲千心万苦,总算成为Java高手了,怎叫人不由喜极而泣呢!是啊,真不容易,真不简单,真叫人感动啊!那么打个电话告诉我吧,什么?我的电话号码是多少?昏到,你打电话问不就知道了吗,真是的……
如上是在网上考下来的,但个人认为SCJP证书也好,程序员等级证书也好,不要太看重它;关键是你手中有没有技术,能不能拿出活来。我面试时候都是以证书为参考,主要衡量你的手段还是提问技术性问题以及一些编程方面的基础问题。建议不要把证书看的太重。