一名合格的Java程序員該具備的能力有哪些

公司和組織正在尋找有認知能力的人來增加他們的技術能力。這很難用數字表示,因爲它非常依賴於公司,但可以在這裏應用70/30規則。意即人們應該擁有大約70%的技術技能和30%的軟(認知)技能。如果他/她缺乏所需的軟技能,那麼“硬核”開發人員幾乎進不了管理階段。我曾跨越多個垂直領域管理過許多團隊,開發了一些被若干世界上最大的公司所使用的職位描述和職業發展路徑。讓我們總結一下在公司招聘或晉升時,看上去有點像模式的幾個方面。

一名合格的Java程序員該具備的能力有哪些

技術能力

嗯,這是一件明擺着的事;技術技能才能讓你得到面試機會。當招聘一個Java開發人員時,公司會考慮若干因素。

基礎

對Java編程語言基礎的理解。

知道如何編寫代碼是很好的,但是知道代碼背後的推理和/或所選擇的算法將使你從人羣中脫穎而出。

主流編程工具

今天,事實是,你不能成爲一個樣樣都懂的人(雜而不精)。你必須選擇你要掌握的工具。有時這是由工作的'環境決定的,但是按照下面說的去做也是一個很好的選擇:

構建工具:Maven或Gradle。

SCM:Git(不是GitHub。大不相同)。

構建自動化:Jenkins。

IDE:Netbeans或Eclipse——不僅用於編寫代碼,而且還從IDE中重構和調試代碼。我遇到了很多沒有如何從他們最喜歡的IDE調試的開發人員。

Bug跟蹤:Bugzilla或Jira。

主流編程框架

Spring MVC用於Web開發

JSF的知識

應用程序服務器

所有Java開發人員應該知道如何在Apache Tomcat中部署。

當Glassfish開發停止時,下一個最好的事情是JBoss WildFly。

雲開發

在Amazon EC或PaaS上獲取免費帳戶。

Amazon的另一個選擇是Red Hat OpenShift。

認知技能

對Java編程語言和各種工具有深入的瞭解自然是一件好事,但你的僱主/客戶也會從以下方面對你進行評估。

溝通

溝通是我們做好一切事情的關鍵。我們必須與我們周圍的環境互動,無論是在我們的私人還是職業生活中。這不僅僅是把字詞放到一起的能力,也包括如何溝通我們面臨的問題,或者提出這些問題的解決方案。一個偉大的溝通者知道如何在各種團體前面表達自己;記住,對你來說顯而易見的東西,從讓他人的角度來看可能並非如此。

問題解決

開發人員是問題解決者,也是哲學家和思想家。不要做那種只會寫代碼,不參與討論如何解決問題的程序猿。不要成爲那種只會說“告訴我要創建什麼,我就創建什麼,不要問我這是否爲最佳方法”的程序猿。

團隊精神

無論是結對編程還是大型項目,所有開發人員都是作爲團隊的一部分在工作。你需要致力於團隊的目的和目標。幫助指導初級成員,或幫助苦苦掙扎的團隊成員克服障礙。不要有那種“我在這裏只要做好我的工作,然後就可以回家了”的態度。成爲團隊的一部分。你不需要成爲“團隊小丑”或總是出去參與團隊活動,但要成爲團隊的一員。

自學

這是一個非常重要的技能;在你自己的時間學習新技能的能力。不要總是等待公司爲你提供培訓。你需要自己去學習新技術,提升自己在相關領域的水平。從前端開發到架構模式,總是有一些新生事情值得學習。閱讀博客和文章,嘗試加入本地聚會小組。你學到的東西可以爲你的事業開闢新的頂點。