参与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

改善Java EE生产支持技能的8种方法相关推荐

  1. java ee 的使用方法_改善Java EE生产支持技能的8种方法

    java ee 的使用方法 参与Java EE生产支持的每个人都知道这项工作可能很困难. 7/24寻呼机支持,多个事件和错误修复(要定期处理),来自客户和管理团队的压力,要求它们尽快解决生产问题并防止 ...

  2. .NET开发者提高编程技能的5种方法

    .NET开发者提高编程技能的5种方法 https://insights.dice.com/2017/08/29/5-ways-improve-programming-skills/ 即使拥有40年的编 ...

  3. Java中遍历Set集合的三种方法

    Map集合:链接: Map集合的五种遍历方式及Treemap方法 Set集合:链接: Java中遍历Set集合的三种方法 TreeSet集合:链接: Java深入了解TreeSet,和迭代器遍历方法 ...

  4. Java中遍历Set集合的三种方法(实例代码)

    哈喽,欢迎来到小朱课堂,下面开始你的学习吧! Java中遍历Set集合的三种方法 废话不多说,直接上代码 1.迭代遍历: Set set = new HashSet(); Iterator it = ...

  5. JAVA中创建线程池的五种方法及比较

    之前写过JAVA中创建线程的三种方法及比较.这次来说说线程池. JAVA中创建线程池主要有两类方法,一类是通过Executors工厂类提供的方法,该类提供了4种不同的线程池可供使用.另一类是通过Thr ...

  6. java 中lock,java中lock获取锁的四种方法

    在java接口中会存放着许多方法,方便线程使用时的直接调用.对于lock接口大家都不陌生,我们已经初步对概念进行了理解.那么在获取锁的方法上想必还不是很清楚.下面我们就lock获取锁的四种方法分别进行 ...

  7. Java中的string定义的两种方法和区别

    java中的String定义的两种方法和区别 第一种:new方式 String s1 = new String("hello world"); String s2 = new St ...

  8. C++技能的4种方法

    C++技能的4种方法 提升C++技能的4种方法 尝试一个项目 一本好的资料书 学习一门新的语言 对boost进行了解 提升C++技能的4种方法 C++是C语言的继承,它既可以进行C语言的过程化程序设计 ...

  9. Java 数组转成集合List三种方法和(数组、集合List、Set相互转换)

    Java 数组转成集合List 三种方法 package com.list;import java.util.ArrayList; import java.util.Arrays; import ja ...

最新文章

  1. java中servlet filter_lua学习笔记(二)仿java servlet中Filter功能
  2. jsonarray和jsonObject的转化
  3. subprocess中执行git命令报告no such file or directory一例
  4. linux 网卡 巨帧,Linux Kernel e1000e驱动巨型帧处理绕过安全检查漏洞
  5. oracle em界面监控出来的奇怪图像_海康poe主机断电重启后不出图像,显示用户被锁定...
  6. matlab实现移动通信的技术,移动通信系统OFDM系统仿真与实现(基于MATLAB)
  7. 职业学校计算机教师履职总结,中等职业学校骨干教师(计算机应用专业)省级培训 总结...
  8. TCP UDP 本地套接字 网络套接字
  9. QT 基于饼状图的一个抽奖系统
  10. 按键消抖Verilog
  11. matlab 龙格库塔函数,matlab龙格库塔
  12. php通过JODConverter将word转换为pdf
  13. SVG 绘制可交互的中国地图
  14. The number of method references in a .dex file cannot exceed 64K
  15. 广东海洋大学微型计算机控制技术,LCD显示实验(综合性)
  16. 什么蓝牙耳机性价比高?四款高性价比蓝牙耳机推荐
  17. 务实java基础之集合总结
  18. MySQL(三):InnoDB和MyISAM
  19. 企业微信可以取消实名认证吗?如何操作
  20. 华为eNSP模拟酒店无线wifi实验

热门文章

  1. ReviewForJob——堆排序
  2. stripe pay_J2Pay –简介
  3. drools dmn_DMN 1.1 XML:从建模到使用Drools 7.0的自动化
  4. cdi-api_使用CDI简化JAX-RS缓存
  5. mock测试使用断言_使用自定义断言丰富测试代码
  6. tls1.1 tls1.2_Java 8将默认使用传输级别安全性(TLS)1.2
  7. jwt-cli:一个用于解码JSON Web令牌(JWT令牌)的Shell库
  8. Neo4j:动态添加属性/设置动态属性
  9. Spring安全性和密码编码
  10. 使用Hibernate(JPA)一键式删除