盡力而為,辛勤工作所獲得的回報是巨大的。 您可能從我以前的文章中注意到,我對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