關鍵開發技能(硬實力)
一、Git/GitHub,必須掌握如何使用Git來掌握和分享你的代碼。Git作為關鍵技能的第一條,是因為它不僅僅是一個代碼管理工具,更是一種推薦的工作方式。它使你能在任何地方進行開發,高效地管理任何大小的項目,通過Git還能與其他團隊成員進行分布式工作,大大提升工作效率。
二、至少一門編程語音,JAVA、PHP、C#、Python、Ruby、Perl等,因為大多數核心業務處理都需要這門語言來寫。不但要掌握這門語言的語法,還需要非常熟透如何基于這門語言進行項目的架構、設計、實現以及測試。比如Java,你需要掌握面向對象的設計和開發,設計模式的運用,基于J2EE各個組件的開發等等。
三、運用開發框架和第三方庫,流行的開發語言,一般都伴有出色的開發框架,比如JAVA的Spring、MyBatis、Hibernate,Python的Django,PHP的thinkphp、yin,nodeJs的expres等。熟練使用這些開發框架或第三方庫能夠避免重復發明輪子,是對產品或項目在質量與安全方面的最有效的保障。
四、前端技術,一個產品除了實現所需的功能之外,是否好用(用戶體驗)也正在成為評判一個產品是否成功的重要標準。至少需要掌握HTML5、CSS3、JavaScript等基本前端技術,同時進一步學習JQuery、LESS、SASS、AngularJS或REACT等前端框架或第三方庫。
五、數據庫與緩存,作為全棧工程師,至少需要掌握一到兩個數據庫,并知道怎樣與數據庫進行交互。目前流行的數據庫主要有MySQL、MongoDB、Redis、Oracle、SQLServer等。MongoDB作為文檔型數據庫,在互聯網產品中正被越來越多地使用,對于規模稍大的項目,仍推薦使用MySQL或商用的Oracle作為后端數據庫。而Redis這樣的內存數據庫則可以用于緩存,以提升系統的性能。
六、基本設計能力,一些軟件工程師的產品設計太差,開發者往往沒有意識到問題的存在,比如色彩不一致,排版凌亂,不恰當的圖標等。建議要掌握的基本設計能力,并不需要像專業設計師那樣能夠P出神圖、制件奇妙的視頻效果等,但需要掌握最基本的UI設計原則,如色彩的搭配,基本的排版,并具備良好的審美能力,和一些基本UI設計能力。
在掌握這些核心技能之后,可以根據自己的興趣與發展方向,學習其它方面的技術。比如,對數據處理感興趣,那么可以學習大數據方面的技術。如果對移動互聯網更感興趣,那么可以學習Swift,開發ios應用。
附加技能(軟實力)
一、溝通,你總需要與同事、干系人或是客戶進行溝通。成功的溝通往往是獲得有效需求,與建立團隊信心的第一步。在項目的進行過程中,你更需要通過有效的溝通去確定方案,消除誤解,與項目成員協同前進。良好的溝通能力將使你在團隊中更具有影響力,收到更多尊重和關注。
二、問題解決能力,全棧工程師首先是一名工程師,必須掌握工程化的方法解決遇到的各種問題。職業生涯中的幾乎所有亮點,都與解決問題相關,大到提供整個項目的架構方案,小到以最快的速度解決生產問題等。其實有很多提高問題解決能力的方法,但沒有一種比實踐更有效。優秀的工程師,往往能夠憑借直覺以最短時間的時間給出正確的解決方案,在這背后需要經過大量實踐積累而來的經驗。
三、時間管理,作為全棧工程師,可能會被安排同時在不同的項目中承擔不同的角色。需要合理地分配時間,保證所有的工作都能按時交付。同樣在業余時間,還需要花時間閱讀和學習,同時可能還會有自己的Side Project。因此合理進行時間分配,并對一些關鍵任務,進行計劃是很重要的。這或許會帶來一些壓力,但這反而會激發自身的創造力,并能讓一切有條不紊地進行。
四、好奇心,對從事的任何工作都抱有好奇心,并愿意不斷學習和改善是那些優秀工程師的共同特性。時常會有人發問,做計算機這一行一直會有新的東西產生,要去不斷學習,是不是很累?對于將持續學習作為一種生活習慣的人來說,學習新東西并不會成為一種負擔,反而是一種樂趣。
五、領導力,優秀的全棧工程師往往會被賦予技術Leader甚至項目管理者的角色。成為管理者并不是讓你去支配他人,或讓其他人替你做事。管理者需要理解你的團隊成員的長處與不足,并知道如何以服務的態度使團隊獲得最大化的產出。一些非常優秀的工程師,當他們被安排去管理團隊時,他們是排斥的,他們往往更愿意獨自工作。但是,成為管理者,將會使人更加睿智、可靠和值得他人依賴,也會對個人未來的職業生涯帶來極大的益處。因為,當機會到來進,請將它視為挑戰,不要排斥它。
有經驗的技術領導者在招聘時,往往會同時考察應聘者技術能力與上述附加技能,而對于初級程序員的招聘來說,那些附加技能往往更被優秀的技術公司所看重。開發技能是你的硬實力,而附加技能則可心看作是你的軟實力,只有同時具備這兩方面的技能,才能夠成為一名優秀的全棧工程師。
優秀的全棧工程師需要走出去
一、參加技術大會,InfoQ、CSDN、GITC、優設、TED等網站都會定期舉辦各類技術大會。在這些大會上,你不僅能夠能到技術大咖們帶來的各自領域最佳技術實踐,而且能認識很多行業內的朋友。這對開拓思路,擴大技術社交圈都很有幫助。因為,如果公司沒有安排你去參加這些技術大會的話,那就自己買票參加,作為對自己的一種投資吧。
二、作公開演講,全棧工程師并不需要是一個公開演講者,但作為團隊的核心成員,他一定需要在團隊內部做技術、管理等方面的進行演講。如果你是一個樂于分享的技術達人,那么可以嘗試錄制個個課程(視頻或音頻),并在慕課、網易課堂、優酷或像荔枝、喜馬拉雅等各種媒體分享自己的技能和知識,不要因為自己并不是專家就不愿嘗試。用心制作的內容,不但能夠穩固相關的技術,而且會獲得大家的認可,并收獲一大批粉絲。
三、個人博客,每天進步一點點,一年以后便會獲得質的飛躍。優秀的全棧工程師懂得如何進行知識的積累,而技術博客就是一個很好的方式,將自己平時的實踐、思考記錄下來,配以tag標簽方便日后的回顧。最有意思的是,當在不斷記錄和更新博客的時間,還能通過博客認識世界各地的程序員。
四、參加線下活動,與以前程序員總是宅在家里不同,現在的年經程序員們更愿意分享和交流。很多網站也會組織不同技術主題的線下活動,在這些活動中可以聽到一些技術大牛人的分享,還可以拓展的人脈。
全棧工程師決不是一夜練成的,需要打好技術基礎,強化核心技能,并持續學習。終有一天將體會到自由運用技術,開發出優秀產品所帶來的樂趣。
-
工程師
+關注
關注
59文章
1570瀏覽量
68514 -
代碼
+關注
關注
30文章
4786瀏覽量
68565 -
GitHub
+關注
關注
3文章
470瀏覽量
16435
發布評論請先 登錄
相關推薦
評論