改善Java EE生产支持技能的8种方法

参与Java EE生产支持的每个人都知道这项工作可能很困难。 7/24传呼机支持,定期处理的多个事件和错误修复,来自客户和管理团队的压力,要求它们尽快解决生产问题并防止再次发生。 在日常工作中,您还必须照顾由多个IT交付团队驱动的多个应用程序部署。 听起来很熟悉?

尽力而为,辛勤工作所获得的回报是巨大的。 您可能从我以前的文章中注意到,我对Java EE生产支持,根本原因分析以及与性能相关的问题非常感兴趣。 这篇文章旨在分享我在过去10多年与多个Java EE生产支持团队在岸和离岸合作中应用的一些技巧和工作原理。
本文将为您提供8种提高生产支持技能的方法,这些方法可以帮助您更好地享受IT支持工作并最终成为Java EE生产支持专家。

#1 –与您的客户和交付团队合作

我的第一个建议应该不会令任何人感到惊讶。 无论您从技术角度来看多么出色,如果您无法与客户和IT交付团队合作,您都将无法成为出色的生产支持领导者。

您必须意识到,您正在为IT生产环境的所有者和主人的客户提供服务。 您应该确保关键的Java EE生产系统的可用性,并解决已知的和将来的问题。 远离破坏性的态度,例如错误的印象,即您是实际的所有者,或者由于对问题的了解不足而对客户感到沮丧等。您的工作是使所有事实正确无误,并为客户提供良好的建议,以便他们能够做出正确的决定。 随着时间的流逝,您与您的客户之间将建立起牢固的信任,并带来巨大的利益和机会。

与IT交付团队建立牢固的关系也非常重要。 交付团队包括IT架构师,项目经理和技术资源,被视为负责通过已建立的项目交付模型构建和增强Java EE生产环境的专家团队。 多年来,我已经看到了这两个角色之间发生摩擦的几个例子。 由于部署失败,生产事件激增等方面的不良经验,支持团队通常对交付团队的工作过于挑剔。我还注意到一些示例,其中交付团队由于对IT的不良经验而再次对支持团队的能力缺乏信心。部署失败或缺乏适当的根本原因分析或技​​术知识等的情况。

作为生产支持人员,您必须树立信誉,并远离负面和非专业的态度。 建立信誉意味着辛勤工作,正确收集事实,进行技术和根本原因分析,对学习新解决方案表现出兴趣等。这将增加对交付团队的信任,并使您长期获得重要的了解和经验。 最终,您将能够为两个团队工作并提供咨询。

这三个角色之间的适当平衡和专业精神对于任何成功的IT生产环境都是至关重要的。

#2 –每个生产事件都是学习的机会

Java EE生产支持的一大优点是您将获得多种学习机会。 您可能已经意识到,每次生产中断后,您至少达到了以下目标之一:

  • 您从新的问题类型中获得了新的技术知识
  • 您在已知情况下增加了知识和经验
  • 您提高了对运营客户的知名度和信任度
  • 您可以与其他团队成员分享您的现有知识,从而使他们成功并解决问题

请注意,不时面对负面经历也是正常的。 同样,您还将因此而变得更强壮,并从错误中学习。

反复出现的问题,事件或预防工作仍然为您提供收集更多技术事实,查明根本原因或提出建议以制定永久解决方案的机会。
底线是您参与的事件越多越好。 如果您不愿意在事件恢复中发挥积极作用,也可以,但是请确保您在场,以便至少可以从其他更有经验的团队成员那里获得经验和知识。

#3 –不要害怕改变,拥抱它

我在Java EE支持团队中注意到的一个常见问题是围绕生产平台变更(例如项目部署,基础架构或网络级别变更等)的担忧因素。以下是这种常见担忧的一些原因:

  • 对于许多支持团队成员而言,应用程序“更改”是生产“不稳定”的代名词。
  • 缺乏对项目本身或变更范围的理解会自动转化为恐惧
  • 执行请求的应用程序或中间件更改的舒适度较低

这种恐惧因素通常是三个主要参与者或生产平台问题之间当前发布管理过程中存在差距的征兆,例如:

  • 在IT交付和支持团队之间缺乏适当的知识转移
  • 在部署新项目之前已经存在不稳定的生产环境
  • 缺乏对Java EE或中间件的深入技术知识

恐惧可能会成为您未来成长的严重障碍,必须认真对待。 我对您的建议是,无论组织中是否存在空白,都可以轻松地接受更改,但要结合适当的尽职调查,例如要求更多的KT,参与项目部署策略和风险评估,执行代码演练等。消除这种“恐惧”态度,在您的IT交付团队和客户中获得经验和信誉。 这也将使您有机会为将来的项目部署和与基础架构相关的改进建立建议。

最后,如果您感觉缺乏实施更改的技术知识,只需说一声,然后请另一位更有经验的团队成员来掩盖您的工作即可。 这种方法将减少您的恐惧程度,并让您以最小的风险程度获得经验。

#4 –了解如何读取JVM线程转储和监视工具数据

我确信您从我以前的文章和案例研究中已经注意到我经常使用JVM Thread Dump 。 这是有原因的。 对于任何成功的Java EE生产支持人员而言, 线程转储分析是获得的最重要和最有价值的技能之一。 我在10年前对在JDK 1.3上运行的Weblogic 6问题进行故障排除时分析了我的第一个线程转储。 10年后,还有数百个Thread Dump快照,我仍在学习新的问题模式…JVM和Thread Dump的优点在于,您将始终找到新的模式来识别和理解。

我可以向您保证,一旦您掌握了这些知识(以及JVM基础知识 ),不仅很多生产事件将更容易确定,而且会变得更加有趣和自我回报。 考虑到如今生成JVM线程转储是多么容易,快速和非侵入性; 根本没有任何借口不学习这种关键的故障排除技术。

我的另一项建议是学习如何使用现有的监视工具和解释数据。 对于涉及日常支持的任何生产支持人员而言,Java EE监视工具都是极有价值的武器。 根据购买的产品或IT客户端使用的免费工具,它们将为您提供Java EE应用程序,中间件(Weblogic,JBoss,WAS…)和JVM本身的性能视图。 在重大生产中断后执行根本原因分析时,此历史数据也至关重要。

正确地了解和理解数据将使您了解IT平台的性能,容量,并为您提供与IT容量规划分析和架构师团队合作的机会,这些团队负责确保IT生产环境的长期稳定性和可扩展性。

#5 –学习如何编写代码和执行代码演练

我的下一个建议是提高您的编码技能。 作为Java EE生产支持团队的一部分,除常规的错误修复外,最重要的职责之一是充当“守门人”,例如在项目实施之前的最后一道防线。 此风险评估练习不仅涉及项目审查,测试结果,性能测试报告等,还涉及代码演练。 不幸的是,这种审查通常根本无法正确执行。 练习的目的是确定需要改进的地方,并为生产环境检测潜在的有害代码缺陷,例如线程安全问题,缺少与IO / Socket相关的超时等。您执行此类代码评估的能力取决于您的编码技能和整体技能。了解Java EE设计模式和反模式。

可以按照以下一些策略来提高您的编码技能:

  • 探索您的IT组织内执行交付工作的机会
  • 抓住任何机会审查正式或非正式的现有或新项目代码
  • 创建与您的日常工作和长期职业相关的个人Java EE开发项目
  • 加入Java / Java EE开源项目和社区(Apache,JBoss,Spring…)

#6 –不要假装您对Java,JVM和中间件一无所知

对于许多Java EE生产支持人员,我注意到的另一个常见问题是技能“高原”。 在具有很少更改和强化改进的静态IT生产环境中工作时,这尤其成问题。 在这种情况下,您会很快习惯于日常工作,所使用的技术和已知问题。 然后,您会以错误的资历印象对自己的任务感到很自在。 然后有一天,您的IT组织将面临重组,或者您必须为新客户工作。 在这一点上,您感到震惊并且正在努力克服新的挑战。 发生了什么?

  • 您已经在小型Java EE应用程序列表和中间件泡泡中达到了技能平台
  • 您无法将时间投入到自己和工作IT泡沫之外
  • 您未能承认自己缺乏更深入的Java,Java EE和中间件知识,例如对一切一无所知的错误印象
  • 您无法睁开眼睛来探索IT世界和Java社区的其余部分

我对您的主要建议是,当您对目前的职位感到过度自信或资格过高时,就该继续前进并接受新的挑战了。 这可能意味着您现有的支持团队中的角色将有所不同,在一段时间内移至项目交付团队,或完全转换工作和/或IT客户。
不断寻求新挑战将导致:

  • 由于JVM供应商( HotSpot , IBM JVM , Oracle JRockit …),中间件(Weblogic,JBoss,WAS…),数据库,OS,基础架构等技术的多样性,知识的大量增加。
  • 由于实现和解决方案(SOA,Web开发/门户,中间层,遗留集成,移动开发等)的多样性更高,因此知识的大量增加。
  • 新型生产事件增加了学习机会
  • 在您的IT组织和Java社区中提高可见性
  • 改善客户技能和联系方式
  • 增强在压力下的工作抵抗力,例如学习如何利用压力和肾上腺素来发挥自己的优势(在严重的生产中断期间可以获得典型的提升)

#7 –与您的团队和Java社区分享您的知识

共享Java EE技能和生产支持经验是改善和维持与支持团队成员的牢固关系的好方法。 我也鼓励您参与Java社区(博客,论坛,开放源代码组等)并与您分享Java EE的生产问题,因为很多问题都很常见,我相信人们可以从您的经验中受益。
话虽这么说,但我强烈推荐的一种方法是安排计划的(最好是每周一次)内部培训课程。 通常通过简单的投票系统选择主题,并在可能的情况下由不同成员提出。 良好的分享心态自然会引导您进行更多的研究和阅读,从长远来看会进一步提高您的技能。

#8 –迎接挑战

至此,您已经获得了扎实的知识基础和关键的故障排除技能。 您已经参与了许多生产事件,并且对根本原因和解决方案有很好的了解。 您非常了解您的IT生产环境,并且客户开始就重大事件直接要求您的存在。 您还每周花费时间来提高您的编码技能并与Java社区共享……但是您真的要面对挑战吗?

一个真正的英雄可以被一个有能力去挑战并带领他人取得胜利的个人定义。 显然,您并没有希望拯救世界,但是您仍然可以通过挑战并带领您的支持团队解决关键的生产中断来成为“每日英雄”。
一位真正的成功和公认的Java EE生产支持人员不一定是最强大的技术资源,而是已经学会了如何正确平衡其技术知识和客户技能,以及在遇到困难时能够勇于挑战并取得领先的强大能力的人。情况。
我真的希望这些技巧可以为您的日常Java EE生产支持提供帮助。 请分享您的经验和有关如何提高Java EE生产支持技能的提示。

参考: Java EE支持模式和Java教程博客上的JCG合作伙伴 Pierre-Hugues Charbonneau提出了8种提高Java EE生产支持技能的方法 。


翻译自: https://www.javacodegeeks.com/2012/08/8-ways-to-improve-your-java-ee.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371812.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

varnish基础

varnish概念 初步认识 首先来跟我学习,v~a~r~n~i~s~h~~ ,学会了没有~ 当然还有很重要的一个概念,它是高性能缓存服务器,举个例子。 好比我们要去买东西,所有的我们需要的东西是在超市厂家生产出来的,我们需…

基于Jenkins+Gitlab的自动化部署实战

故事背景 一个中小型企业,是典型的互联网公司,当初期的时候可能运维只能标配到2~3人,此时随着公司的发展,项目会逐渐增多。前期部署项目可能都是手动的, 俗称“人肉部署”,这简直是无比的痛苦,不…

cmd如何刷新MySQL数据库_怎样在cmd中用命令操作MySQL数据库 需要技巧

用命令来操作MySQL是工作必备的,今天我就来分享一下cmd命令操作MySQL数据库的方法,希望有帮助。工具/材料电脑xampp操作方法01首先,启动MySQL服务才行哦。这里我是用xampp集成的数据库,方便,点击‘start’。02如图&…

[BZOJ3529][Sdoi2014]数表

[BZOJ3529][Sdoi2014]数表 试题描述 有一张Nm的数表&#xff0c;其第i行第j列&#xff08;1 < i < n&#xff0c;1 < j < m&#xff09;的数值为能同时整除i和j的所有自然数之和。给定a&#xff0c;计算数表中不大于a的数之和。输入 输入包含多组数据。输入的第一行…

ZK的实际应用:MVVM –表单绑定

这是我们从头开始构建ZK应用程序的第二集。 上一篇文章涉及使用MVVM将数据加载和呈现到表中。 在本文中&#xff0c;我们将向您介绍ZK MVVM的表单绑定。 目的 我们将构建一个“添加”功能&#xff0c;使我们能够将新条目保存到清单中。 单击“添加”时出现表格 单击“保存”…

ZK的实际应用:MVVM –以编程方式更新视图

在前两篇文章中&#xff0c;我们使用ZK的MVVM功能来&#xff1a; 将数据加载到表中 使用表单绑定保存数据 我们已经看到&#xff0c;用注解NotifyChange&#xff08;&#xff09;装饰方法时&#xff0c;在执行完成后&#xff0c;将向Binder通知VM属性的更改&#xff0c;以便B…

mysql安装与配置的截图_windows下MySQL5.6版本安装及配置过程附有截图和详细说明...

随着MYSQL版本的更新以及电脑系统的变化&#xff0c;我们给大家整理了各种电脑环境下安装MYSQL的图解过程&#xff0c;希望我们整理的内容能够帮助到大家&#xff1a;mysql安装图解总结https://www.jb51.net/article/142398.htm编辑者&#xff1a;Vocabulary下面详细介绍5.6版本…

c# mysql 插入 和 查询_C#对数据库的操作(增删改查)

1、【在web.config文件中配置】2、【连接字符串】private static readonly string StrCon ConfigurationManager.ConnectionStrings["sqlConnection"].ToString();3、【查询数据方法】/// /// 查询数据/// /// 查询语句/// 参数/// public static DataTable QueryDa…

2017年07月03号课堂笔记

2017年07月03号 星期一 多云 空气质量&#xff1a;轻度污染~中度污染 内容&#xff1a;MySQL第四节课 in和not in&#xff1b;两个表的内连接&#xff1b;exists和not exsits的使用&#xff1b;all,any和some&#xff1b; 使用子查询的注意事项&#xff1b;sql优化&#xff08…

excel文件被写保护怎么解除_u盘被写保护怎么解除,看完你就知道了

在平常我们使用U盘存储资料过程中&#xff0c;有时会发现U盘出现无法正常读写的现象&#xff0c;具备表现为U盘被写保护&#xff0c;无法正常执行读写操作。对于小编给大家提供以下解决方法&#xff0c;希望对大家能有所帮助。对U盘执行重置操作01上网搜索并下载“USBOOT”程序…

OSGi案例研究:模块化vert.x

OSGi使Java代码可以清晰地划分为多个模块&#xff0c;这些模块称为捆绑软件 &#xff0c;可以访问由每个捆绑软件的类加载器控制的代码和资源。 OSGi 服务提供了一种附加的分离机制&#xff1a;接口的用户不需要依赖于实现类&#xff0c;工厂等。 以下案例研究旨在使OSGi捆绑包…

mysql一些常用操作_表的一些常用操作_MySQL

bitsCN.com-创建表(也就是创建表结构)&#xff1a;create table tbl_name(列结构&#xff0c;即有哪些属性)[表选项]; 如&#xff1a;班级的信息&#xff1a;(班级编号&#xff0c;开班日期)create table java_class(class_num varchar(10),date_start date);注&#xff1a;该表…

如何调整自定义标签样式

用chromeF12&#xff0c;查看网页代码在自定义标签上加class&#xff0c;写样式&#xff1a;例如&#xff1a;JSP文件&#xff1a;来自为知笔记(Wiz)转载于:https://www.cnblogs.com/anobugworld/p/7112116.html

无需部署即可测试JPQL / HQL

您是否曾经想在不完全部署应用程序的情况下测试JPQL / HQL&#xff1f; 我们今天在这里看到的是适用于任何JPA实现的简单解决方案&#xff1a;Hibernate&#xff0c;OpenJPA&#xff0c;EclipseLink等。 这篇文章中找到的基本源代码来自于本书&#xff1a;“ Pro JPA 2&#xf…

python加密模块教程_Python加密模块的hashlib,hmac模块使用解析

这篇文章主要介绍了Python加密模块的hashlib,hmac模块使用解析,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下在写搬砖脚本中&#xff0c;碰到一个加密的信号标签文件无法运行。import hashlibimport timem ha…

SCREEN屏幕编程时候必须保证SCREN中词典的字段格式必须和数据表中字段的类型长度一致!...

此时任意操作都会出现如下问题 /h调试 回车调试被激活任意操作 执行到第23行时候报错“请输入一个数值”&#xff0c;检查数据表中字段参考数据元素以及对应的域均是char类型&#xff0c;此时检查screen屏幕设置字段类型&#xff0c;/n退出程序 重新进入程序 单击 点击屏幕9000…

zabbix 3.0.3 (nginx)安装过程中的问题排错记录

特殊注明&#xff1a;安装zabbix 2.4.8和2.4.6遇到2个问题&#xff0c;如下&#xff1a;找了很多解决办法&#xff0c;实在无解&#xff0c;只能换版本&#xff0c;尝试换&#xff08;2.2.2正常 | 3.0.3正常&#xff09;都正常&#xff0c;最后决定换3.0.31、Error connecting …

Java锁实现

我们都使用第三方库作为开发的正常部分。 通常&#xff0c;我们无法控制其内部。 JDK随附的库是一个典型示例。 这些库中的许多库都使用锁来管理竞争。 JDK锁具有两种实现。 人们使用原子CAS样式指令来管理索赔过程。 CAS指令往往是最昂贵的CPU指令类型&#xff0c;并且在x86上…

一键生成APP官网

只需要输入苹果下载地址&#xff0c;安卓市场下载地址&#xff0c;或者内测下载地址&#xff0c;就能一键生成APP的官网&#xff0c;方便在网上推广。 好推APP官网 www.hotapp.cn/app 转载于:https://www.cnblogs.com/likwo/p/6223889.html

Quartz 2 Scheduler示例

Quartz是一个开源作业调度框架。 它可用于管理和计划应用程序中的作业。 步骤1&#xff1a;建立已完成的专案 创建一个Maven项目&#xff0c;如下所示。 &#xff08;可以使用Maven或IDE插件来创建它&#xff09;。 步骤2&#xff1a;图书馆 Quartz依赖项已添加到Maven的po…