由于云計算提供了新的靈活性和可擴展性,它也改變了組織開發和部署軟件的方式。因此,也促進了人們積極開發新品種的云計算應用程序。
作為一個軟件開發者,在其職業生涯中將有機會進入云中。然而,下一代計算需要新的理念、技能和工具。未來的雇主不一定只需要專業代碼工程師,新興的云應用程序開發者也可能必須是建筑師、工程師,分析師和技術人員。
可能在未來云應用程序開發人員面試中,將會被問到以下六個關鍵問題:
(1)你的編程背景和技能是什么?
未來的雇主已經閱讀了你的簡歷,但也會想審查一下你的核心編程技能,并了解一下你的培訓經歷和證明,如學士學位和證書等。但是請記住,這并不會贏得工作機會。此外,還要說明你現在正在做什么工作,以及如何與工作要求相吻合。
請確保你是一名專家,擁有至少五年的實踐經驗,并掌握未來雇主所要求的大多數或全部編程語言,如Python、Perl和Java等主要語言。如果工作涉及到Web開發,至少需要四年以上的開發HTML5和jQuery的經驗。
現代軟件開發涉及到詳細的整合任務,許多云計算應用開發商需要后端系統集成的知識,如NoSQL、dynamo.db、亞馬遜簡單隊列服務、微軟Access平臺。
此外,還要展示流行的開發工具,如SpringBoot關鍵軟件,并具備開源Web應用程序框架和工具。
(2)你采用什么云平臺?
代碼軟件是一件事。該軟件在云中運行良好是另一回事。一個潛在的雇主會希望看到你了解云平臺提供商提供的平臺,如谷歌公司的云計算平臺、亞馬遜網絡服務(AWS)和微軟Azure。
雇主也會希望看到你可以使用云計算供應商提供的服務。例如,使用AWS的雇主會希望云計算應用開發商可以提供計算服務,例如亞馬遜彈性計算集群資源,亞馬遜EC2集裝箱服務或亞馬遜簡單存儲服務。
這就要求掌握云供應商的管理界面選項,如網絡驅動的門戶,命令行接口和API接口。云開發者需要管理云環境,拉動和分析報告,管理預算,并與正在開發的軟件集成云服務。
(3)你使用其他開發工具嗎?
雇主想知道你使用的工具,以及是否可以方便地將其轉換為工具集。云應用開發者通常使用DevOps或持續集成和持續交付(CICD)工具,所以期待展現至少三年的開源工具,如Gradle或Jenkins。
強調自動化中的DevOps或CICD實踐的重要性。大多數這些工具有利于自動化,簡化代碼管理,協作和部署,這是至關重要的大開發環境。
(4)你的開發團隊和過程是什么樣子的?
云應用程序開發人員從不單獨工作。任何敏捷的CICD或DevOps模型涉及到多個學科領域的編碼、測試和部署。而這些模型的成功需要團隊成員之間的靈活性,以及用戶正在開發和管理的軟件協作。
未來的雇主希望云開發的程序是通用的,具有軟件開發標準,扎實抓好。云應用程序開發人員應該參與應用需求,設計審查會議,并在測試過程。一個理想的云計算開發人員可以輕松地進行故障排除,并解決軟件缺陷,以及克服云架構的缺點。
(5)云計算軟件開發的方法是什么?
雇主想知道你的發展過程以及其發展過程有多好。解釋你的共同發展過程,從需求收集到團隊選擇選擇,選擇編碼和測試周期。未來的雇主通常會嘗試確定您是否習慣快節奏的發展模式,比如DevOps的或持續交付。它并不一定要所有的點直接匹配,但你的過程越接近雇主的要求,你就可以更快過渡到新的工作。
強調面向對象的編程技巧,并重申與云應用程序的體系結構和微服務發展公有云的經驗。從你的實際項目中取得成功,展示你的工作對企業的附加價值。
(6)你如何處理多云環境或云互操作性?
許多企業采用多個云平臺,以獲得更多的靈活性,并節約成本。例如,一個企業為了冗余可能使用多個公共云供應商的平臺,以確保獲得更低的延遲或數據備份。
盡管有這些好處,多云可能會為云應用程序開發人員帶來嚴重的困難。供應商的服務和API通常不同,這意味著專為AWS開發的應用程序可能不能在谷歌的云計算平臺或其他公共云上運行正常。
供應商之間的這種差異會隨著時間的推移可能會褪色。在此期間,一個有著多云平臺經驗的專業開發人員可能受益更大,即使用人單位沒有積極地采用和管理多云環境。考慮你如何適應多個供應商的冗余運行代碼,并處理來自不同供應商的故障或支持同步數據存儲的轉移。