公司和組織正在尋找有認知能力的人來增加他們的技術能力。這很難用數字表示,因為它非常依賴于公司,但可以在這里應用70/30規則。意為:人們應該擁有大約70%的技術技能和30%的軟(認知)技能。如果他/她缺乏所需的軟技能,那么“硬核”開發人員幾乎進不了管理階段。作為跨越多個垂直領域開發的藍鷗資深講師團隊,總結了一下在公司招聘或晉升時,看上去有點像模式的幾個方面。
技術能力
嗯,這是一件明擺著的事:技術技能才能讓你得到面試機會。當招聘一個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編程語言和各種工具有深入的了解自然是一件好事,但你的雇主/客戶也會從以下方面對你進行評估。
溝通
溝通是我們做好一切事情的關鍵。我們必須與我們周圍的環境互動,無論是在我們的私人還是職業生活中。這不僅僅是把字詞放到一起的能力,也包括如何溝通我們面臨的問題,或者提出這些問題的解決方案。一個偉大的溝通者知道如何在各種團體前面表達自己:記住,對你來說顯而易見的東西,從讓他人的角度來看可能并非如此。
問題解決
開發人員是問題解決者,也是哲學家和思想家。不要做那種只會寫代碼,不參與討論如何解決問題的程序猿。不要成為那種只會說“告訴我要創建什么,我就創建什么,不要問我這是否為最佳方法”的程序猿。
有團隊精神
無論是結對編程還是大型項目,所有開發人員都是作為團隊的一部分在工作。你需要致力于團隊的目的和目標。幫助指導初級成員,或幫助苦苦掙扎的團隊成員克服障礙。不要有那種“我在這里只要做好我的工作,然后就可以回家了”的態度。成為團隊的一部分。你不需要成為“團隊小丑”或總是出去參與團隊活動,但要成為團隊的一員。
自學
這是一個非常重要的技能:在你自己的時間學習新技能的能力。不要總是等待公司為你提供培訓。你需要自己去學習新技術,提升自己在相關領域的水平。從前端開發到架構模式,總是有一些新生事情值得學習。閱讀博客和文章,嘗試加入本地聚會小組。你學到的東西可以為你的事業開辟新的頂點。