EN
Java开发工程师文祥 | 不谈业务的开发不是好开发
2023-12-14

Java语言诞生至今已20余年,经过持续演进,逐渐形成了庞大的技术体系。从互联网到工业制造,它被广泛应用于各行各业,成为云计算和微服务时代的主流选择。大量的Java开发工程师应运而生,长期活跃于应用开发、安卓开发、大数据处理等多个领域。

蓬勃发展的另一边是来自四面八方的挑战:随着云原生的兴起,移动端竞争的加剧,Golong、Python等编程语言和ChatGPT等生成式AI的崛起,以及大环境下“降本增效”的影响,市场对Java语言和Java开发从业者的技术深度、创新能力、灵活性和适应力提出了更高要求。

本期欧立腾工程师专访,我们请到专精Java领域的软件开发工程师史文祥。八年间,他积攒了金融、互联网、物流运输、工业制造等多个行业项目开发经验,并于去年加入欧立腾工业电梯项目组,负责电梯维保和勘测软件的开发和运维。

>>> 来看看我的工作日常

 从需求迭代到功能上线,对业务的理解以代码呈现 

我们就以需求迭代为例展开吧。一个需求的迭代周期大概是一到两周,大致经历以下步骤:

需求分析

  • 业务方提出需求,由需求分析师深入分析,确保开发团队充分、全面理解业务背景和核心目标。

功能设计

  • 团队讨论并制定功能设计大纲,考虑可扩展性、性能和最佳实践,确保符合整体架构标准。

编码和测试

  • 开发人员根据设计文档编码,通过单元测试验证基本功能和逻辑正确性。

  • 进行集成测试,确保模块协作和兼容性。

自测和测试环境上线

  • 开发人员自测,验证代码在开发环境的稳定性。

  • 将代码推进至测试环境,保证环境隔离和与生产环境的一致性。

专业测试和修改

  • 专业测试团队进行系统测试,提供详细测试报告。

  • 开发人员根据反馈进行修改,确保代码质量和系统稳定性。

上线

  • 功能上线至生产环境,关注性能和稳定性,确保系统正常运行。

 

>>> 行业现状与趋势解读

 从应用体量、技术发展到行业人才,为什么Java未来可期?

我个人还是比较看好Java的未来。

  • 首先java语言它的体量是比较大的,现阶段有很多应用都是Java写的。Java一直在不断演进、迭代,基本上每隔几个月或者半年都有一次大更新,不断有新的技术被引用进去。

  • 现在是云计算和微服务时代,大多数云计算、微服务架构都在应用Java。此外Java领域也有一些往云原生靠拢的特征出现。

  • 发展到现在,Java社区中出现了诸多优秀的框架和开发者,会有不断的新框架来适应新需求。

 

文祥于去年年底加入欧立腾中国,成为工业电梯项目组的Java开发工程师。

当时手上还有些其他机会,综合考虑后加入了欧立腾。因为公司背景好,行业风评也不错,这个职位与我的职业发展期望相符。”

“一年感受下来,项目组的团队氛围轻松愉快,同事间关系和善,大家都简单高效沟通,包括和领导的讨论都比较透明;工作环境舒适,客户方的工作安排比较合理,工作节奏整体控制得相当不错,相互尊重。”

 

>>> 于欧立腾工业项目组

 从服务架构设计到测试部署,进行了一个全程跟到底的项目 

手头这个项目在我刚入职的时候启动,当时只有我和领导两个开发,代码仓库还没建立。我们一起做了服务端架构设计、云网关搭建还有VPC设计,代码结构的设计,以及大量开发和后续的运维工作。

我也是第一次真正自己在云平台上实操部署,一开始是都不会,就坚持看书、看文档,去网上搜索相关知识。回首复盘,我经历了从软件架构设计,到软件开发,再到测试部署一系列流程,就像是自己这一方面完成了一次深刻、全面的最佳实践,可以说整个过程收获满满!

 

>>> 加入新环境

 如何快速融入并将技术运用?

  • 当进入到一个新公司、新行业,一定要尽快梳理清楚它的需求,比如尽早提前知道行业的基本概念和专业术语,以便后续团队沟通时互相理解。

  • 第二就是要提前了解行业相关技术。如果之前没有接触过,可去网上学,现在互联网的资源很多,没有什么东西是学不到的。一般来说,所有会遇到的问题,都在官方文档上有介绍;此外我也经常会去Stack Overflow、GitHub、开源中国、Bilibili等平台获取技术信息。

  • 当然,真正能让你快速成长的是参加团队协作。在不同的业务环境、需求中,你去给别人开发协作,那么就整体了解到了这个行业的基本运行规则,可以多参加团队沟通会议,分享经验。

 

>>> Java开发之路

 需掌握的重要职场技能一览 

  • 除了Java语言本身,需要熟悉一些框架的运用,比如说现在最主流的Spring框架。

  • 然后就是数据库。掌握多种数据库的规范、Docker语句还是非常有必要的。

  • 其次是一些web技术,比如html、css、jc;版本控制工具的使用等。

  • 此外还需具备一定的逻辑思维能力,以充分理解业务需求,充分表达自己想法,顺畅沟通;保持自驱力与学习能力,以跟上不断演进的技术迭代需求。

 

>>> 机遇 OR 挑战

 新技术、新工具冲击下的工作模式 

我个人平时也会用GitHub来实现一些代码生成。目前一些简单需求,直接写在编辑器上自动生成代码,AI这方面效率确实挺高的,可以帮你写一些代码的片段。但对于整个项目中庞大的需求,AI目前还很难自行处理,需要自己梳理项目逻辑,把控大方向,再把一些代码片段交给AI来提效。

对于程序员未来是否会被取代,我保持着较乐观的态度。如同汽车司机取代马车夫,随着市场环境变化,所需工种也会产生相应变更。在未来,会有更多新型岗位、新型机会在等着我们 ■