iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0
IT管理

萬丈高樓平地起:解決方案架構師的探索之旅系列 第 3

Day 3 : 軟體開發工程師和解決方案架構師的差異

  • 分享至 

  • xImage
  •  

作為一名具有軟體開發工程師背景的人,經常會深思:「解決方案架構師和軟體開發工程師在本質上真的有明確的差異嗎?」雖然個人每天都與軟體和技術打交道,但經過深入研究和實際工作經驗,慢慢的了解到這兩個職位在角色和職責上有著顯著的差異。

在有系統或者是新服務的需求或者是專門開發的部門內,軟體開發工程師和解決方案架構師都是不可或缺的角色,但它們的職責和專業領域有著明確的界定,雖然有些人可能會將這兩個職位視為相同,但事實上,它們在技術團隊中各自扮演著獨特且關鍵的角色。

軟體開發工程師:從咖啡到程式碼

軟體開發工程師是一個專業的技術職位,主要負責編寫、測試和維護軟體程式,以下是軟體開發工程師的詳細職責和相關資訊:

  • 開發和編碼:軟體開發工程師需要根據需求規格或設計文件,使用適當的程式語言和工具來開發和編碼軟體產品或功能,必須確保軟體的功能性、效能和安全性,並且也要顧慮程式碼的品質和可讀性。
  • 測試和維護:除了開發之外,軟體開發工程師還需要進行軟體測試,使用各種測試方法和工具來檢查程式碼的品質並進行必要的除錯和修改(ex : 單元測試、整合測試、E2E測試),也需要對已有的軟體進行維護和更新,以修復錯誤或增加新功能。

維護古蹟級程式碼也是一種玄學啊....

  • 與團隊合作:軟體開發工程師通常需要與其他開發人員、測試人員和產品經理合作,以確保軟體的品質和功能性,遵守團隊或公司的開發流程和規範,並使用版本控制和協作工具來管理程式碼。
  • 技術專業知識:需要精通至少一種程式語言,並具備良好的問題解決和邏輯思考能力,同時也需要不斷學習新的技術和工具,以提高自己的開發效率和品質。

解決方案架構師:不只是設計,還有策略視野

解決方案架構師不僅僅是技術專家(基本概念)還是策略思考者,專注於設計和規劃整體的系統架構,深入考慮系統的可擴展性、效能、安全性等多方面的因素,並確保技術策略與業務目標相符。以下是解決方案架構師的主要職責:

  • 策略視野與全局設計:不僅制定技術策略,還要確保所提供的技術解決方案能夠滿足業務需求,並與公司的整體技術策略和架構相符。
  • 業務與技術的橋樑:解決方案架構師是業務團隊和技術團隊之間的關鍵連接,確保技術解決方案與業務目標一致,並與客戶或利益相關者進行有效的溝通,提供最佳的建議和策略。
  • 技術領導與監督:他們在技術團隊中擔任領導角色(這個要視資歷以及團隊的組成),確保技術解決方案的品質和效能,此外還需要監控技術解決方案的實施和運行,並在必要時提出改進措施。
  • 持續學習(其實每個職位也是都要這樣):技術推成出新與飛快的發展,解決方案架構師必須持續學習,保持對最新技術和工具的了解,也需要關注同個產業、科技巨頭的相關資訊、全世界正在發生的技術趨勢或議題,確保知識和技能始終處於前沿。

延伸疑問:你想成為哪一種?

這時候可能會有以下幾個疑問,那接著就這幾個疑問提供參考的來源與答案:

  • 軟體開發工程師是可以轉職成解決方案架構師嗎?
    根據TechOrange 科技報橘的報導,軟體開發工程師可以轉職成解決方案架構師,因為具有軟體開發背景的工程師在技術方面具有優勢,但要成為解決方案架構師要學習如何與企業的其他部門合作,以及如何平衡技術和業務的需求。

  • 剛畢業的新鮮人是可以當解決方案架構師嗎?
    一般來說,新鮮人可能還沒有足夠的經驗和知識來擔任這個角色,但如果在學校或實習期間接觸到相關的領域,並且展現出出色的能力和潛力,那麼也是有可能在某些公司擔任初級的解決方案架構師。

  • 需要有多少的年資才能當解決方案架構師嗎?
    這很難給出一個確定的答案,因為不同的公司和地區可能有不同的要求。但根據一般的觀察,5-8年的相關工作經驗是一個常見的參考點,除了年資之外,解決方案架構師還需要具備跨領域的知識和經驗,以及出色的溝通和協調能力。

選擇職業發展的方向:深度還是廣度?

既然軟體開發工程師和解決方案架構師有這麼大的差異,那麼在職業發展的路上應該如何選擇,要追求深度成為某一技術領域的專家,還是追求廣度學習更多的技術和業務知識,朝向更高層次的技術管理角色發展,此外隨著技術的快速發展,未來的技術領域又會有哪些新的角色和機會呢?

這些問題沒有一個絕對正確的答案,每個人都需要根據自己的興趣、能力和目標來做出適合自己的選擇。不過無論想要成為哪一種,以下是一些可以幫助提升的建議:

  • 保持學習:技術是一個不斷變化和進步的領域,如果想要跟上時代的步伐就需要不斷地學習新的知識和技能,可以通過閱讀書籍、文章、部落格、文件等來學習理論和基礎知識,或者是直接使用ChatGPT、Bing Chat等AI的服務做為技能培養的導師。

分享個可以參與社群、討論區、追蹤企業或是參與線上活動來學習最新的趨勢和動態。

  • 多實踐:剛剛提到學習是一件重要的事情,但如果只是停留在理論層面那可能無法真正掌握和應用所學的知識和技能。因此透過實際的專案或問題來檢驗和提升自己的能力,也可以參與開源專案、競賽、黑客松等來實踐技術(或者是頭洗下去參加鐵人賽),甚至是直接創建產品、服務、平台等來實踐創意,解決真實的業務或社會問題。

如果時間不多但想要完成最小可行性產品,可以看看MetaGPT的開源專案(但是需要有OpenAI的服務),至於為什麼會提到這個請參考把軟體公司開發 SOP 全包了?在 GitHub 霸榜的 MetaGPT 已開源

  • 多溝通:技術不是一個孤立的領域,它與其他領域有著密切的關聯和影響,因此建議多與不同的人和團體交流和溝通,以此合作來拓展視野和人脈。
    • 和同行、導師、學生等交流來分享和學習技術知識和經驗。
    • 與客戶、用戶、利益相關者等交流來了解和滿足他們的需求和期望。
    • 與領導者、決策者、影響者等交流來展示和推廣技術方案和成果。

結論:毫無頭緒時可以試著興趣出發去選擇想要追求的

軟體開發工程師和解決方案架構師都是技術領域的重要角色,但兩者的工作重點和專業範疇有所不同,軟體開發工程師主要負責編碼和軟體的具體實現,而解決方案架構師則從更宏觀的角度考慮整體的技術策略和架構設計。

如果是根據興趣出發去選擇想要追求的職業,以下是一些建議:

  1. 對編碼和軟體開發有熱情:如果喜歡實際動手,從無到有創建軟體,並享受解決具體的技術問題,那麼軟體開發工程師可能是一個適合的選擇。

  2. 對技術策略和架構有興趣:如果喜歡從宏觀的角度思考,設計整體的技術解決方案,並與多個團隊合作以確保技術策略的成功實施,那麼解決方案架構師可能更適合。

  3. 研究和學習:在做出決定之前花時間研究這兩個角色的具體職責、所需的技能和潛在的職業發展路徑,這可以更清楚地了解自己的興趣和目標。

延伸參考資訊


上一篇
Day 2 : 數位轉型背後的策略家:解決方案架構師的核心技能
下一篇
Day 4 : Solution Architect 技術相關技能樹
系列文
萬丈高樓平地起:解決方案架構師的探索之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言