天天看點

[轉]如何成長為一名全棧工程師全棧工程師

轉自:https://www.cnblogs.com/shinejaie/p/5230631.html

全棧工程師

關鍵開發技能(硬實力)

一、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标簽友善日後的回顧。最有意思的是,當在不斷記錄和更新部落格的時間,還能通過部落格認識世界各地的程式員。

四、參加線下活動,與以前程式員總是宅在家裡不同,現在的年經程式員們更願意分享和交流。很多網站也會組織不同技術主題的線下活動,在這些活動中可以聽到一些技術大牛人的分享,還可以拓展的人脈。

    全棧工程師決不是一夜練成的,需要打好技術基礎,強化核心技能,并持續學習。終有一天将體會到自由運用技術,開發出優秀産品所帶來的樂趣。

轉載于:https://www.cnblogs.com/lyggqm/p/9389480.html