作为一名普通的java程序员,我想和大家分享一下4年来的工作内容
一直有小伙伴想了解更多关于我的工作内容,所以今天我来分享一下我作为一名普通java程序员,4年来工作内容发生了哪些变化,以及我有什么感悟。
我是16届毕业生,我的第一份工作是做外包,第一年的时间里测试偏多,比如用Excel文档生成测试代码进行单元测试,也会写一些简单的增删改查,以及用shell处理数据,还有一些纯测试的工作,比如点页面啊截图。到了第二年,开发的工作也变得多了一些,但大部分还是增删改查,还有一些简单的JSP页面,用的框架基本上就是SSH和SSM,甚至用到过Struts2。另外,我还做过一段时间的代码管理工作,检查开发人员提交的代码是否OK,以及代码规范、代码ME2级和测试环境的发布。这些内容我差不多干了有2年的时间,在技术上的提升我认为是比较小的,干的活也比较杂。收获最多的应该是比较严谨的工作方式。当然,这些工作方式对于我还是有比较积极的影响的,但不好的地方是能够接触到高价值工作的地方是比较少的,比如框架的选型、表结构的设计以及代码逻辑的实现。虽然参加过五六个项目,但因为工作内容的狭窄,所以收获并不是特别多。
在之后意识到这样下去对自己以后的发展肯定是不好的,所以我现在跳槽到了一家装饰公司,主要是做一些企业内部自己使用的一些系统,比如HR系统、SM系统和CM系统等等。在这家公司,我觉得最特别的地方就是我有空间去发挥更多的主动性。因为在家公司里面,业务部门提出需求给产品以后,剩下的工作都是需要开发来参与的。如果是一个新的项目,你可以从需求的分析、项目框架的选型、表结构的设计到代码实现,最后测试完上线发布,这整个过程都可以高度参与。相比上一家公司来说,我现在做的事情就更加专业一些了,特别是新领导来了以后,他大力推行敏捷开发、开发运为一体化以及前后端分离,还有微服务架构。当然,我也是非常有幸被选择,参加了第一个敏捷开发的试点项目,是唯一的后端和微服务架构的研究者和搭建者,所以在过去的一年多,我接触到了很多新的工作内容。除了最普通的业务代码的编写以外,我还做过全新的项目的表结构设计、微服务架构的搭建、第三方服务对接等等。对于我来说,像Spring Boot、Spring Cloud、消息中间件、工作流、发布和消息推送等等内容都是全新的。所以,我当程序员4年的时间里,最近的一年半对于我来说,成长是最迅速的,也是最快的。我最大的感悟是:无论是程序员还是其他职业,无论是对待生活还是对待工作,都要不断地去尝试新鲜的内容,去寻找更好的自己。
我发现很多人在一份工作中待了太久,不再探索新的东西,技术和思想落后,这是一件非常可怕的事情。我也不希望自己以后成为那个样子。所以,我认为,成长是不断学习新的东西,接受新的挑战,以及不断改进自己的技能。近一年来在新公司的工作中,我接触到了更多新的技术和新的思想,比如敏捷开发、开发运为一体化以及前后端分离等等,这让我感觉自己的技术不再停滞。同时,我也有机会自主地提出建议和想法,不仅仅是按部就班地完成任务。
Java开发语言的优势在于它是一种跨平台的语言,因此Java开发人员可以在不同的操作系统上编写代码和运行代码。这意味着Java程序可以在任何设备上运行,无论是PC、Mac、Linux还是其他操作系统。Java还有很多流行的框架和库,使得开发人员可以更快地开发应用程序,并且Java语言可以用于开发各种类型的应用程序,包括Web应用程序、移动应用程序、桌面应用程序、游戏等等。
Java目前仍然是非常流行的开发语言,因此Java开发人员很容易找到工作。不仅国内,Java在国际上也是非常流行的开发语言。根据TIOBE编程语言排行榜,Java是目前世界上使用最广泛的编程语言之一。因此,如果你想从事软件开发行业,Java是一个非常不错的选择。
然而,市场上的竞争也很激烈,所以提高自己的技能和知识非常重要。Java开发是一个不断进步和学习的过程,因为技术和框架的更新速度非常快。开发人员需要不断学习新技术和框架,并掌握它们,以保持自己的竞争力。同时,了解最新的行业趋势和最佳实践也非常重要。
要提高薪资待遇,首先需要拥有一定的经验和技能。除此之外,可以考虑以下几点:
- 学习并掌握新的技术和框架,这有助于提高自己的市场价值。例如,学习Spring Boot、Spring Cloud、微服务架构、消息中间件等等,这些都是当前非常热门的技术和框架。
- 参加培训课程或获得相关认证,这些都可以证明自己的技能和知识。例如,Oracle提供的Java认证考试,可以证明你具有Java开发方面的专业知识和技能。
- 积极参与开源项目,这有助于展示自己的能力和贡献。开源项目是一个非常好的学习和展示自己的平台,通过参与开源项目,你可以学习到其他开发人员的经验和技能,并且通过为开源项目做出贡献,可以展示自己的能力和技术水平。
- 与同事和其他开发人员建立良好的关系,这有助于获得更多机会和推荐。建立良好的人际关系可以让你更容易获得机会,例如参与更大型的项目或者晋升为团队领导。
- 不断提高自己的沟通和领导能力,这可以帮助你在团队中更好地表现自己。沟通和领导能力对于职业发展非常重要,因为它们可以让你更好地与同事和客户沟通,并且在团队中更好地协作和领导。
总之,要成为一名成功的Java开发人员,需要不断地学习和提高自己的技能和知识,同时也需要建立良好的人际关系和领导能力。只有这样,你才能在这个行业中获得更好的职业发展和薪资待遇。
相关文章:
作为一名普通的java程序员,我想和大家分享一下4年来的工作内容
一直有小伙伴想了解更多关于我的工作内容,所以今天我来分享一下我作为一名普通java程序员,4年来工作内容发生了哪些变化,以及我有什么感悟。 我是16届毕业生,我的第一份工作是做外包,第一年的时间里测试偏多ÿ…...
CyberLink的专业视频编辑软件ActionDirector Ultra 3.0版本在win10系统的下载与安装配置教程
目录 前言一、ActionDirector Ultra安装二、使用配置总结 前言 ActionDirector Ultra是CyberLink公司开发的专业视频编辑软件,旨在帮助用户创作高质量的运动和冒险视频。该工具提供了一些先进的特效和编辑工具,让用户能够轻松地剪辑、修剪、调整颜色和添…...
在外远程访问公司局域网用友畅捷通T财务软件 - 远程办公
文章目录 前言1.本地访问简介2. cpolar内网穿透3. 公网远程访问4. 固定公网地址 前言 用友畅捷通T适用于异地多组织、多机构对企业财务汇总的管理需求;全面支持企业对远程仓库、异地办事处的管理需求;全面满足企业财务业务一体化管理需求。企业一般将其…...
VariantAutoencoder(VAE)中使用生成好的模型进行声音生成
文章目录 概述一、soundgenerator.py文件soundgenerator.py实现代码一、convert_spectrogram_to_audio方法librosa.db_to_amplitudelibrosa.istft generate方法 二、generate.py文件实现代码load_fsdd函数说明select_spectrogram函数说明save_signals函数说明main函数说明 三、…...
C++数据封装以及定义结构的详细讲解鸭~
名字:阿玥的小东东 博客主页:阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 定义结构 访问结构成员 结构作为函数参数 指向结构的指针 typedef 关键字 C 数据封装 数据封装的实例 设计策略 C 类 &…...
MySql 数据库的锁机制和原理
MySQL是一种流行的关系型数据库管理系统,广泛应用于各种Web应用程序和企业级应用程序中。在MySQL中,锁是一种用于控制并发访问的机制,它可以保证数据的一致性和完整性。本文将介绍MySQL的锁机制及原理,包括锁的类型、级别和实现原…...
try catch finally 里面有return的执行顺序
目录 实例结论 实例 1.try和catch中有return时,finally里面的语句会被执行吗 我们可以来分别看看 (1)执行try中的return时 public class Solution {public static int show() {try {return 1;}finally{System.out.println("finally模块被执行");}}publi…...
美团前高级测试工程师教你如何使用web自动化测试
一、自动化测试基本介绍 1 自动化测试概述: 什么是自动化测试?一般说来所有能替代人工测试的方式都属于自动化测试,即通过工具和脚本来模拟人执行用例的过程。 2 自动化测试的作用 减少软件测试时间与成本改进软件质量 通过扩大测试覆盖率…...
MySql.Data.dll 因版本问题造成报错的处理
NetCore 链接MySQL 报 Character set ‘utf8mb3‘ is not supported by .Net Framework 异常解决_character set utf8mb3_csdn_aspnet的博客-CSDN博客 查看mysql版本号,两种办法: 第一种在数据库中执行查询:SELECT version; 第二种使用工具…...
囚徒困境——从博弈论的角度解释“美女配丑男”
前言 有一种很常见的现象,美女配丑男。其实这种现象背后是有一定科学原理的。本文将从博弈论的角度,从囚徒困境出发解释这一现象产生的原因。 囚徒困境 囚徒困境的经典案例 先来介绍一下经典的囚徒困境。 警方逮捕甲、乙两名嫌疑犯,但没有…...
运算符重载函数作为类的成员函数——有理数的约分
目录 一、题目 二、代码 三、算法分析 (一)数学表达式 (二) 代码实现 一)运算符重载函数 二)优化函数(实现有理数约分) 一、题目 通过运算符重载为类的成员函数来实现两个有…...
mysql数据库的内置函数--7
目录 内置函数 日期函数 字符串函数 数学函数 其它函数 内置函数 在mysql中这些函数用select进行使用 日期函数 函数描述NOW()返回当前的日期和时间CURDATE()返回当前的日期CURTIME()返回当前的时间DATE()从日期或日期/时间表达式中提取日期部分TIME()从日期或日期/时间…...
DS3800HPIB 有效执行任务的所有程序
DS3800HPIB是通用电气公司生产的Speedtronic Mark IV系列的一部分。这DS3800HPIB是一种大型电路板,具有八个连接端子,电路板两侧的尺寸各不相同。左下角有一个红色小方块,上面有一个拨动开关。这DS3800HPIB有大约50个天蓝色的小二极管。这DS3…...
图像比对、人像比对和人脸识别的区别是什么?
图像比对、人像比对和人脸识别都是图像处理技术,但是它们的实现方式和应用场景均有所不同。 图像比对 图像比对是指通过计算机视觉技术将两张或多张图片进行相似度比较。主要包括图像特征提取、匹配和评估等步骤,通常使用神经网络等深度学习技术来实现…...
python中的抽象基类
目录 协议和鸭子类型抽象基类定义抽象基类使用抽象基类直接继承通过注册(register) __subclasshook__魔法方法 协议和鸭子类型 python中有大量的魔法方法,python所谓基于协议编程,就是依赖这些魔法方法。 什么意思呢?…...
耗时几个月,终于决定把原本想用于商业的系统开源了
前言 嗨,大家好,我是希留,一个被迫致力于全栈开发的老菜鸟。 今天又来给小伙伴们分享一个基于 SpringBoot Vue 实现的前后端分离后台管理系统项目; 简介 这个项目是基于xiliu-tenant脚手架项目搭建而成,原本是帮朋…...
HarmonyOS应用端云一体化开发主要流程
图示 主要步骤 序号 阶段 任务 说明 1 创建端云一体化开发工程 选择工程类型与云开发模板 确定工程类型:选择“Application”或“Atomic Service”页签,确定创建的是HarmonyOS应用工程还是原子化服务工程。选择云开发模板,包括通用云开…...
NoSQL之 Redis配置与优化
NoSQL之 Redis配置与优化 ---------------------- 关系数据库与非关系型数据库 ---------------------------------------- ●关系型数据库: 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一…...
Redis哨兵模式
1.哨兵模式是什么 解释一 哨兵巡查监控 master主机是否故障,如果故障了,根据投票数自动将一个从库转换为新数据库,继续对外服务。 解释二 监控redis 的运行状态,包括master和slave当master宕机后,能自动将slave切换…...
数据库管理-第七十六期 如何升级19c RAC(20230516)
数据库管理 2023-05-16 第七十六期 如何升级19c RAC1 回头处理2 升级AHF3 升级GI及DB3.1 拷贝所需文件3.2 升级OPatch3.3 升级GI与DB3.4 应用SQL变更 4 升级OJVM4.1 解压补丁4.2执行补丁冲突检查:4.3 升级OJVM4.4 应用SQL变更 5 最终验证总结 第七十六期 如何升级19…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
《Offer来了:Java面试核心知识点精讲》大纲
文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...
客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践
01技术背景与业务挑战 某短视频点播企业深耕国内用户市场,但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大,传统架构已较难满足当前企业发展的需求,企业面临着三重挑战: ① 业务:国内用户访问海外服…...
TCP/IP 网络编程 | 服务端 客户端的封装
设计模式 文章目录 设计模式一、socket.h 接口(interface)二、socket.cpp 实现(implementation)三、server.cpp 使用封装(main 函数)四、client.cpp 使用封装(main 函数)五、退出方法…...
【51单片机】4. 模块化编程与LCD1602Debug
1. 什么是模块化编程 传统编程会将所有函数放在main.c中,如果使用的模块多,一个文件内会有很多代码,不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数声明,其他.c文…...
