為什麼你應該先成為全棧工程師
讓我覺得我應該再寫一篇文章站在全棧工程師的理由是,一本書《浮現式設計》和一個單詞 Re-Practise。
似乎這是一個新的思考,儘管在那之前我已經寫了一篇《全棧工程師的思考》,只是事隔半年之後,我又有了一些新的感觸。這半年來,除了增長了一些軟技能,如溝通、表達 、英語,以及一點點的技術提升之外,並沒有什麼太大的變化。
每天我們似乎都在重複前一天的工作,生活似乎就像是一潭死水,日復一日地新增新功能,修復舊 Bug。讓我們覺得生活過於無聊的原因,怕是因為現有的專案已經很穩定,不會有太大的變化 ——不會有關鍵人員的離職,不會產生大的 bug。
所以自然而然地,我們就不需要更多的技能能幫助我們成長。
個人的全棧
從個人的角度來說全棧似乎沒有多大實際意義。以我的角度來說,我之所以選擇全棧這條路線,不僅僅因為只研究一個東西太枯燥無聊——即使我可以成為這領域的大牛,更何況我對成為大牛一點興趣都沒有。並且我可以站在一個新的高度來看世界。
說到這裡我突然就會有一種疑惑——你一直往某一個領域鑽,只是因為你的工作需要吧!
這就變成了一個更有意思的話題,如果你並不是真正喜歡這個領域,那麼你會對這個領域作出怎樣的貢獻?僅僅是讓大家知道你對這個領域瞭解比較深?
而且還有一點特別有意思的是,你現在覺得你會為之奮鬥許久的技術棧,並非是你的真愛。因為你還沒有機會好好看看這個世界,這個世界到底是怎樣的.到底會有怎樣有意思的人、事。只是因為你過去熟悉這個領域,你就選擇了這個領域。你聽從了別人的片面之詞就做了一個決定,而並沒有自己好好地去做一個嘗試。
記得還在學校的時候,我曾經花了很多時間去繞過 Java 語言——用 Python、JavaScript 來完成大部分的想法(不是計算機相關專業)。等到了工作,我發現讓我受益最大的語言是 Java ——因為 Java 是一門很完備的語言。我從 Java 上並沒有學到一些特別有用的東西,但是我從其相關的書籍上學習到了太多的東西.幾乎所有的和軟體工程相關的書籍,都以 Java 作為示例,當然還有一些C++。Python、JavaScript 則是可以滿足我的創造欲。
對了,是不是又想到了木桶效應。木桶效應還有很扯淡的一點是,只考慮到了板子的長度,而沒有考慮到容器的大小。
如果你有更多的板子,你所能容納的水量就是多。相似的,如果你有更多的技術棧,那麼你的容量也就更大的。並且當你開始提升某一個長板時,剩下的長板也可以很容易提升。
全棧的優勢無非就是學習能力和思維能力,同時帶來更廣闊的視野。
團隊的全棧
在一個大型的網際網路公司,這種全棧一點意義都沒有。他們並不需要你有著良好的程式碼能力、架構能力,又或者是全域性思考的能力。你只需要把你手頭的那一點點技術細節完美實現即可,要知道 0.1% 的效能提升,可能會帶來幾百萬刀的效益。相比於這樣精分職責的團隊,你只需要好好精通手上的技術棧即可.要知道那可是好幾十個 0.1%。
團隊裡面的人會擁有相同的技術棧,討論著相同的知識。儘管存在能力上的差異,但是如果一個人員離職,由於其崗位所帶來的價值,也會帶來相似能力的人員。對於大的網際網路公司來說,不會存在太多的問題。
然而作為一個小的團隊來說,這個問題就變得很嚴重,在有時似乎是難以承受的。這似乎也就是結對程式設計得以在國外流行開來的原因,儘管結對程式設計會增加程式設計時間,也會在一定程度上減少 Bug 的數量。而事實上,結對程式設計帶來的優點並非是這樣的,而是分享業務知識。
這就意味著在一個敏捷團隊裡,你不得不全棧。看上去似乎有點被逼無奈的樣子,但是實際上大型網際網路公司也是如此,你不得不成為專家。
而事實上,大部分的人都不會只在一個領域裡工作。
相關文章
- 為什麼你應該嘗試 “全棧”全棧
- 為什麼你應該嘗試“全棧”全棧
- 你是否應該成為一名全棧工程師?全棧工程師
- 你要怎麼成為全棧工程師全棧工程師
- 教你成為全棧工程師(FullStackDeveloper)〇-什麼是全棧工程師全棧工程師Developer
- Web全棧工程師應該會什麼Web全棧工程師
- 普通程式設計師該如何成為全棧工程師程式設計師全棧工程師
- 為什麼你應該成為六西格瑪黑帶大師
- 如何成為全棧增長工程師?全棧工程師
- 成為Java全棧工程師的步驟Java全棧工程師
- 為什麼你應該學 Python ?Python
- 為什麼軟體工程師應該養成寫作的習慣?軟體工程工程師
- 為什麼你應該為開源做設計
- 為什麼說全棧工程師是未來?| 長文多圖全棧工程師
- 2019年如何成為全棧工程師?全棧工程師
- 你對全棧工程師的理解是什麼?全棧工程師
- 為什麼你應該學習程式設計程式設計
- 為什麼你應該使用一個PHP框架PHP框架
- 轉享:為什麼你應該使用Play框架?框架
- 為什麼軟體工程師應該學習哲學?軟體工程工程師
- 成為谷歌軟體工程師,你需要準備什麼?谷歌軟體工程工程師
- 什麼是全棧工程師?全棧工程師
- 如何成為一名優秀的全棧工程師全棧工程師
- 為什麼你不應該辭職去做遊戲應用遊戲
- 為什麼你成為不了團隊核心成員
- [譯] 為什麼你應該開始使用 KotlinKotlin
- iOS提示框,為什麼你應該使用 MBProgressHUD?iOS
- 為什麼你應該永遠不要再使用MongoDBMongoDB
- Python全棧指什麼?全棧工程師的意義是什麼?Python全棧工程師
- 為什麼你總成為不了架構師?架構
- 假如你想成為全棧工程師…全棧工程師
- [譯] 為什麼你應該停止使用 Git rebase 命令Git
- 你願意成為一名全棧設計師嗎?全棧
- 成為一名Java高階工程師你需要學什麼Java工程師
- 為什麼開發者應該摒棄敏捷?敏捷
- 為什麼你應該參與到開源專案中
- 全棧工程師為啥能夠逆襲?全棧工程師
- 為啥大公司只要全棧工程師?全棧工程師