Java软件工程师之路,我,走在那里?

         昨天去面试了,结束之后,我心里就一个感觉:憋屈。虽然这次面试并不在我的期望之中,但我还是打心里希望是成功的,这样的面试过程是我从来没有经历过的,面试官问的问题,我大概有 4 成都没有回答上来,特别是对一些常用的框架 Struts Hibernate 以及数据库的相关问题,由于自己在培训完之后一直从事桌面程序的开发,在项目中就很少用到,所以几乎就没回答上来。后来老婆的开导,让我认识到了自己的不足,我不禁要问, Java 软件工程师之路,我,走在那里?

       刚好在网上看到这样一篇文章:如何才算掌握JavaJ2SE篇)

1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。
2
、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewerHtmlConverterjarjavajavac javadocjavapjavawnative2asciiserialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解。
3
、工具:必须至少熟练使用一种IDE的开发工具,例如EclipseNetbeansJBuilderJdeveloperIDEAJCreator或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。
4
APIJava的核心API是非常庞大的,但是有一些内容笔者认为是必须熟悉的,否则不可能熟练的运用Java,包括:
    1
)、java.lang包下的80%以上的类的功能的灵活运用。
    2
)、java.util包下的80%以上的类的灵活运用,特别是集合类体系、规则表达式、zip、以及时间、随机数、属性、资源和Timer
    3
)、java.io包下的60%以上的类的使用,理解IO体系的基于管道模型的设计思路以及常用IO类的特性和使用场合。
    4
)、java.math包下的100%的内容。
    5
)、java.net包下的60%以上的内容,对各个类的功能比较熟悉。
    6
)、java.text包下的60%以上的内容,特别是各种格式化类。
    7
)、熟练运用JDBC
    8
)、java.security包下40%以上的内容,如果对于安全没有接触的话根本就不可能掌握java
    9
)、AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印。
    10
)、Swing的基本内容,和AWT的要求类似。
    11
)、XML处理,熟悉SAXDOM以及JDOM的优缺点并且能够使用其中的一种完成XML的解析及内容处理。
5
、测试:必须熟悉使用junit编写测试用例完成代码的自动测试。
6
、管理:必须熟悉使用ant完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。
7
、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。
8
、思想:必须掌握OOP的主要要求,这样使用Java开发的系统才能是真正的Java系统。
9
、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好

逐一对照,我现在要说,我的Java软件工程师之路刚刚开始,并且自己仅在j2se方面就有很多不足的,但是我从来都没有对自己失去信心,我对自己的自学能力和理解能力还是相当自信的。刚进现在的项目组时,我从来都没有接触过SWT/JFaceEclipseRCP,但是经过自己几个月的不断学习,我还是基本上肯下了这块骨头,自己的项目经验也有了长足的进步,所以我相信,只要我不断的学习,成为一个大牛,还是很有希望的。

       为了我的Java软件工程师之路,为了我的软件架构师之路,我应该给自己定一个很好的规则与规划。

       首先,是自我个人能力和耐性的培养

      华为曾经作了一个实验,选择了一个约1500行代码难度的题来考了3个中国人和3个印度人(分别为新手、一般程序员、程序员高手和项目经理)。结果是:印度的3个人做出来的东西(甚至到了变量名、注释等)非常雷同,除了新手稍微慢一点。而中国的3个人做出来的东西完全不一样:程序员高手只用了1000来行代码,程序做的精练有效,新手干脆连题都没有看懂。这种能够标准化的一致性的意义极其重大。在软件工程领域中,不亚于在汽车领域里汽车的标准化工业化的生产的意义。印度人能够把软件整体把握得很好,能够完成软件,并整理出相当好的设计文档。但是我们这些所谓科班出身的大学生们,有很多都是期望一毕业很快就能成为项目经理、技术牛人之类的,但事实却是在很多时候心有余而力不足,眼高手低几乎成了我们的通病,不满现有编程工作,即使编一个很小的程序,时间不常就会怨声载道,交出的程序又不能正常使用的大有人在,一句话就是:浮躁。学生不符合需要,顶多算半成品是企业说得比较多的话题。北京航空航天大学软件学院院长孙伟说:“软件科学是一门实践的科学和艺术,资深的软件白领至少要经过5年以上正规开发大项目的锻炼,软件开发是需要清楚的头脑和敏捷的思维,心浮气躁则是软件工程师的大忌,作任何工作都应该专心致志,做好自己的本质工作,不要整天想着改行,做这个、做那个,这样到头来只能是一事无成”。所以,作为想成为一名合格软件工程师的我更应该避讳这一点,只有长时间的从事软件的开发工作,并在此过程中不断的学习,不断的充实自己,才能具有强烈的市场意识,懂得怎样沟通、如何将技术研究和产品开发衔接好。

其次,团队精神的培养:

中国几千年历史的沉淀,让我们从小就比较的是个人的能力、个人的学习成绩,很多人都不习惯集体协作,认为对规则文本约束的抵制一定最终会以某种变通来平衡。对团队合作的概念认知程度较差,也不太重视动手实践这一重要环节。所以我们在大学辛辛苦苦四年,等出来这后发现,我们的知识、我们的能力、我们的思想,和企业所需要的完全脱轨。企业不认同的不仅仅是我们的知识,更重要的是我们思想。

在印度的软件业每个人都很清楚并严格遵守自己的职责、任务和约束,合作一个整体表现出的则是社会化生产的团结、标准化和高效。这对于项目来说,对于程序员素质来说是非常重要的。它能加强团队意识,不管在那一个岗位上,勤勤恳恳地把工作做好,而不是去作个人英雄主义。因此,印度的软件公司的编程人员流动率即使(包括内部项目之间的流动)高达30%,他们的产品仍然不依赖任何一个人,谁都可以立即辞职,产品的开发还会正常进行。

所以在以后的工作中,不管自己的技术达到了一个什么样的水平,我会努力做到不佣兵自重,时时刻刻都应记着自己是团队中的一员,加强团队合作,相信这是我成为一名合格的软件工程师的必备条件,也会帮助自己让我的软件工程是之路走的更好、更远!感谢老婆!!!!!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值