在回答这个问题之前,必须先弄清楚一个事实:软件工程师是一个专业性很强的职业,就像医生一样,虽然眼科医生、牙科医生、骨科医生都是医生,但他们的专业知识和工作内容差别还是很大的。软件工程师也是如此,不同种类的软件工程师的工作内容和研究方向也有很大差别。即使同样使用Java作为编程语言,软件工程师也可以细分出很多不同的种类。下面就来介绍一下学习了Java有可能应聘什么岗位。
1.J2EE工程师
就目前中国软件行业来说,大部分Java开发者都成为了J2EE工程师。所谓J2EE工程师就是指开发B/S结构项目的工程师。什么是B/S结构项目呢?“B”是“Browser”,意思是浏览器。“S”是“Server”,意思是服务器。B/S结构的项目就是指前端用网页展现内容,后端以服务器作为运行支撑的软件项目。其实各种网站都是B/S结构的项目。人们用浏览器观看网站的内容,而网站内容的背后又有服务器提供数据支持。
很多人都认为J2EE工程师就是做网站的人。其实,网站虽然实属于B/S结构项目。但B/S结构的项目不仅仅包含网站,还包含很多专用系统项目。比如,政府部门以及很多大型企业都有自己的办公自动化系统,用户可以通过这样的系统完成上报工作数据、发送通知、提交报销凭证、发送内部邮件等工作。这些专用系统也都是通过网页打开并登录,其背后也需要有服务器作为运行支撑,所以它们也属于B/S结构项目。但这些专用系统并不对外开放,只供特定的人群使用,所以它们并不能称为“网站”,而J2EE工程师也并不能笼统的被称为“做网站的人”。
早期的B/S结构项目,因为网速比较慢,打开网页消耗的时间比较长,所以网页内容相对简单,也很少使用绚丽的特效技巧,所以大部分J2EE工程师同时兼顾网页和服务器端程序的开发工作。但近十年左右,随着网速的不断加快,打开一个酷炫的网页不再会占用太多的时间,于是商家们开始纷纷把网页做的很漂亮,各种特效技巧也随之运用而生。这样,B/S结构项目中制作精美的网页逐渐成了一项独立的工作,诞生了一个专门制作网页特效的工作岗位叫做“前端工程师”,而J2EE工程师的工作重点也逐渐转向了开发服务器端程序,甚至很多公司直接把J2EE工程师称为“后端工程师”。
2.Android工程师
多数人都使用Android操作系统的手机。Android手机上的很多软件都是用Java语言开发的,因此学习了Java语言之后可以专门从事Android手机软件的开发工作,成为一名Android工程师。手机上的软件又可以分为应用软件和游戏软件。游戏软件因为其专业性更强,开发难度更高,并且会用到一些专门用于游戏开发工具和引擎,所以开发Android手机游戏也逐渐发展成了一门独立的学科领域,而在该领域中从业的工程师也被称为“游戏软件工程师”或“游戏开发工程师”。喜欢玩手机游戏的读者可以尝试着向这个方向发展。
3.大数据工程师
众所周知,近几年大数据处理已经成为了当下最高薪的工作之一,但很多人可能并不知道这从事大数据相关的工作到底要做什么事情。随着互联网的广泛普及,很多网站或应用系统每天都要处理海量的数据,如果处理数据效率低下,将导致用户无法正常访问网站或使用这些应用系统。此外,海量的数据中可以挖掘出很多有用信息,这些信息对于人们做出正确的判断和决策都有很重要的意义。所以,如何高效的分析和处理这些海量数据就成了一个难题。解决这一难题的关键就是采用科学合理的算法来提高计算机分析和处理数据的能力。大数据工程师的主要任务就是用最科学合理的算法来分析和处理海量数据,从中统计并挖掘出有用信息。在完成工作的过程中,工程师们当然并不只是提出理论上的解决方案,还需要用编程语言把这些解决方案变为现实,而Java语言就是实现大数据处理算法最好的编程语言之一。
此外,工程师们在工作过程中还会用到很多专门用于大数据处理的工具和开源项目,很多工具和开源项目可以与Java语言实现无缝结合,毫不夸张地说,Java在大数据领域中有很多得天独厚的优势。所以,学好Java语言也有机会成为大数据工程师。
4.嵌入式开发工程师
随着科技的发展,人们的生活中出现了很多智能家电,比如智能冰箱、电视、空调等。这些所谓的智能家电,其实就是实现了程序化控制的家电。把编好的控制程序写入到智能家电中,这种开发方式就是嵌入式开发。可以用于嵌入式开发的编程语言有很多,Java语言就是其中之一。因此,学会Java语言还有可能成为一名嵌入式开发工程师。
5.桌面应用软件工程师
所谓桌面应用软件,简单来说就是安装到个人计算机上的图形化软件。很多用于编写Java程序的工具本身就是用Java语言开发的,比如NetBeans等等。虽然Java语言可以开发桌面应用软件,但目前Java在这个领域所占有的市场份额已经不大,从事这方面工作的工程师数量也不多。
以上给大家介绍了几个与Java语言相关的常见工作岗位。它们都属于开发类的岗位,其实学会Java语言还可以应聘一些其他类型的岗位,例如测试工程师、售前工程师等等。看到这里,有些读者可能会提出一个问题:本节一开始的时候不是说不同种类的软件工程师工作的内容和研究方向差别很大吗?为什么学习了一门Java语言就能应聘这么多种岗位呢?难道上面介绍的这些软件工程师岗位工作内容差别不大吗?
在这里必须讲清楚一个问题:想要成为一名真正的软件工程师,基本上都要经过两个阶段的学习。首先是公共基础知识,其次是专业领域知识。这就好比是普通人想要成为一名专业性人才,都要先经过九年义务教育,完成公共基础知识的学习,拿到高中毕业证。然后再根据自己期望的发展方向,进入大学学习专业知识,最终成为一名专业性人才。纵观整个学习过程,九年义务教育阶段所学的知识,是各种专业人才都必须掌握的部分,属于公共基础知识。
那么,学习到什么程度才算学完了公共基础知识呢?对于Java语言而言,公共基础知识包括:Java语言的语法规则、基础类库、最常用的算法以及开发过程中常用工具的使用。学完了这些内容就可以认为完成了公共基础知识的学习。完成了这个阶段的学习之后,就可以选择自己感兴趣的方向去深入学习,比如专门去学服务器开发做一名J2EE工程师,也可以专门去学习Android技术成为一名Android工程师。本书的重点就是Java公共基础部分的知识,它是各种Java软件工程师都要学习的基本技能,是整个知识体系的基础,所以学习者一定要认真对待。
除此文字版教程外,小伙伴们还可以点击这里观看我在本站的视频课程学习Java。
标签:J2EE,Java,工程师,编程,开发,初学者,软件,Android From: https://blog.51cto.com/mugexuetang/5976412