1. 程式人生 > >大公司為什麼還在採用過時的技術!

大公司為什麼還在採用過時的技術!

640?wx_fmt=jpeg

作者:孤獨煙  |  公眾號:打雜的ZRJ

背景

本文出自一朋友給我的提問,於是博主嘔心瀝血給他花式洗腦了幾個小時。忽然發現,應該還有許多朋友有同樣的疑問。所以整理成文。
許多剛畢業的程式設計師朋友,都有一個執念,想要進那種規模大一點的公司、上市的、業內有名的最好。
為什麼大家都想去大公司?
因為很多人覺得,公司大一點,正規一點。開發技術應該不錯,應該與時俱進,流程應該會規範一些。說到這裡,依然有這種想法的朋友,請握個爪。
然而,當他刷完什麼
《劍指OFFER》《程式設計之美》,廢了好大一番功夫進去以後,卻發現完全和自己想的不一樣。他發現他所在的大公司:

(1)程式碼混亂

I、比如一個傳送Http請求的Util

類,竟然出現了三四種。開發人員A封裝了一種,開發人員B封裝了一種,公司框架自帶了一種。
II、到處充斥著
Ctrl+CCtrl+V的味道,更有甚者,居然連author都不改,原樣複製過去。
III、日誌風格千奇百怪,缺乏統一規範。每個人都有一套自己的日誌風格。重點是,一些關鍵步驟,居然不寫日誌。
IV、一些幾千行的類、關鍵步驟不加註釋、一個方法幾十個引數都是隨處可見。

(2)開發流程混亂

I、一個專案組IDEJDK都不統一,比如用Idea,eclipse的都有。然而重點是,把ideaeclipse獨有的配置檔案都上傳到了伺服器。
II、完全沒有文件。比如要改一個需求了,OK,去
Debug程式碼,根據斷點去反推原來的邏輯是怎麼實現的。反正不改出問題就行。
III、程式設計師白天大部分時間在處理BUG,以一種混日子的態度在工作。反正能搞得定新需求,搞得定功能測試,專案能如期上線就行。至於程式碼有多搓,無所謂!

(3)技術落後

I、還在用四五年前的技術,例如還在JSP裡頭寫大量的JAVA程式碼進行開發等。
II、架構上很多方面欠考慮。比如,採用了訊息佇列,卻完全不做持久化處理,完全不擔心資料丟失的問題,也沒做可靠性的保證。服務之間傳送資料,重要資訊完全不加密,明文直接傳。
III、效能調優就是拍腦袋做的

以上種種,大家如果深有感觸,請再次握個爪。那麼,為什麼會這樣呢?

緣由

人員層次

但凡在大廠工作幾年的老員工,有沒有這樣一個體會,身邊的牛逼老員工基本都跑了,剩下來的員工基本都是比較平庸的。
大部分人在工作中,其實都處在一種重複勞動的狀態,也就是所謂的擰螺絲工作,技術水平得不到提高。那麼在這種工作性質之下,會誕生兩類人:
(1)平庸的人


這類人在工作中滿足於能完成需求即可,對程式碼的美醜並不關心。正所謂

碼不在爛,能跑就行。

當然,這類人並不是缺乏提升自己技術的能力,而是由於惰性,沒有明確的規劃,缺乏提升技能的意識,導致時光匆匆流走,想要跳槽卻沒地方收留,一不小心,這類人就成為了老員工。說到這裡,趕緊回憶一下自己,是不是成天拿什麼沒時間當理由,然後明日復明日,小心成為老員工。
另外,大公司基本不會裁人,而手上的技術水平已經能應付工作。就算努力學了一堆新技術,也沒有用武之地,於是這類人就能安然自得的繼續過下去。
大家可以對比一下你身邊的同事,一個是自畢業的時候就在這家公司熬了十年的,一個是十年間在三四家公司呆過的。請問哪一個水平更高呢?
(2)牛逼的人
這類人在工作中,一般有著較強的責任心,且對程式碼有著很高的追求,對問題有著獨特的見解,回去也會不斷的學習,提升自己。然而這類人的所學,通常沒有發揮的空間。比如,可能出現下面的對話

程式設計師A:"老王,你這個地方不能這麼寫,會出現XXX的BUG的。"    

老王:"你懂什麼,公司創立的時候,我就在這個專案組了,就該這麼寫。"

於是這類人的所學,並沒有啥發揮空間。就算有發揮的空間,過不了多久,他也會離職。因為在IT圈,只有通過跳槽才能得到高薪。這點,我們必須明白,大廠都有一套嚴格的薪水漲幅制度,並不會因為你做出了特別牛逼的貢獻,給你月薪突然翻了一倍。而且,如果給你漲了薪水,你公司的其他人呢,他們漲還是不漲?所以,很多公司寧願給一個新員工高薪,卻不願意給老員工提工資,就是這個道理。
因此,這類牛逼的人覺得公司現有的薪資匹配不上自己的能力後,就會跑路的。大家在IT圈會聽到一個說法

B級公司就是給A級公司培養人才的,A級公司就是給S級公司培養人才的。

所以,當你發現自己身邊沒有牛逼的大神,不要驚訝,因為大神都跑路了。

重構成本

當一個系統的程式碼,成為祖傳程式碼以後,其業務規模和複雜程度,都遠遠超乎你的想象。我們在開發新需求的時候,都是在原有基礎上小心翼翼的修補。比如,可能出現如下對話

老王:"誰讓你亂改這個模組程式碼的,知不知道,你這麼改導致了XX模組不能用了。"  

程式設計師A:“我。。。。只是想讓程式碼看起來更好看而已。”  

老王:"你以為我不知道這麼寫很挫麼,亂改出問題了,你抗麼。趕緊改回去。"

其實你能看到的問題,老員工看的比你更清楚,maybe人家比你還明白應該要如何解決。但是為什麼老員工不去做呢?因為,老員工明白,技術上的事情沒有100%肯定不出事的。出了事了,誰來背?

再打一個比方,

你一個月薪水10K,你花了5個月的時間,提升了一下10%效能。站在你的角度,你高興了。但是站在公司的角度,臥槽,我虧了啊。我還不如花20K再買一臺機器。在你身上投入了50K,還要擔心你會不會跑路。

所以,從重構成本上來看,又提高了。
另外,很多中層的領導,基本都是守著自己的一畝三分地,不求無功,但求無過。所謂祖傳程式碼的出現,其實是整個部門的責任。你一個人重構的開開心心了,後續就可能整個部門一起加班,誰去做這種吃力不討好的事情。而且最重要的是,在技術leader水平和開發流程沒有改變的情況下,你的新程式碼過不了幾個月又會變成所謂的祖傳程式碼。

當然,但是這並不意味著,這些技術專案沒救了。比如,某一天你的對手,出了個吊打你們專案的產品。這種時候,只能大改了。反正搏一搏,沒準還有出路呢。

公司性質

其實,大部分的公司都是重視業務價值,而看不到技術價值
有些大廠存在一個很有趣的現象,產品經理的薪資比技術人員的薪資還高。因為他們覺得,無外乎是增刪改嘛,找點應屆生就能作了,沒必要花大價錢請牛逼的人來寫。
於是呢,很多中層是所謂的沒寫過程式碼的業務員,又或者是沒擼過一行的程式碼的產品經理,然後就很搞笑了,會出現如下情形

產品經理:"這個功能,你們看一下要多久才能實現。"    

研發人員:"大概下個月十五左右吧。"    

產品經理:"什麼!要這麼久。就初一,下個月初一,一定要上。"    

研發人員:"我!!!!這個功能XX地方比較複雜,需要點時間。"    

產品經理:"你當我傻麼,就是if else。。可以實現的,怎麼要這麼久!"    研發人員:"我!!!"    

產品經理:"就下個月初一了,做不出來,公司的損失你背還是我背!"

於是呢,在重視業務價值的公司,無論你多牛逼,乃至你是碼神下凡,你寫出的程式碼也是不堪入目。說到這裡,博主的那個朋友不服,他辯解道

"我們可以在前期做好設計和規劃後,再開始開發啊,這樣就能減少出現渣渣程式碼的可能性。"

確實,我承認這麼做可以減少出現爛程式碼的可能性。然而,大家都知道,需求是一個善變的小姑娘,一天一個樣。你再牛逼的設計,也頂不住需求的頻繁變更啊。
其實,在某些時候,沒有必要把程式碼當成一種藝術品,應該要能夠接受適當程度的瑕疵。只要到點可以跑,可以追蹤BUG,基本能交差就成。我相信,給任何一個人足夠的時間,都能把程式碼變成一個藝術品,但是這有什麼用。等你弄好,黃花菜都涼了。迅速上線,能掙到錢才是重點啊,才是你的KPI體現啊。很多優秀的程式碼,是給了重構的時間的,大牛們都是一邊寫一邊重構的。如果不給時間,大牛們也寫不出優秀的程式碼的。換句話說,你完全可以後面掙到錢以後,再把原來的架構推導重來。
我們要明白,寫程式碼是為了掙錢,而不是為了雕琢一個所謂的藝術品。如果將寫優秀程式碼比作一種情懷,請問

情懷重要,還是金錢重要?情懷能讓你買房麼。

OK,弄清楚主次,掙錢才是硬道理。

審視自己

這個地方,我希望大家好好審視一下自己,因為重點不是

大公司為什麼還在採用過時的技術

而是

你為什麼只能進採用過時技術的公司

其實,每一個公司都有一個所謂的標杆部門,這個部門的技術通常是拿的出手的。可是,這樣的部門,通常是最難進的。所以啊,你要去拿的出手的部門,好好努力吧,少年們。
OK,到這裡,大家好好思考一下吧。大家有什麼問題,也可以給我留言。

總結

囉裡囉唆的扯了一堆,希望大家看完以後,能有所收穫。工作中,不斷的提升自己,少一些抱怨吧。

本次送書

本次送書活動由博文視點介紹贊助

640?

博文視點-品牌商標

《Java 9 口袋指南(第4版)》以通俗易懂的語言介紹了Java語言的語法、型別、併發程式設計等基礎知識,同時還以樣例的形式講解了Lambda表示式、Java模組系統、JShell這些Java 8和Java 9新引入的特性。《Java 9 口袋指南(第4版)》不僅能夠滿足初學者瞭解、掌握Java語言的需要,還能幫助資深的工程師快速熟悉和把握Java新技術的發展趨勢。《Java 9 口袋指南(第4版)》內容簡潔、樣例豐富,可以作為Java開發人員案頭常備的參考書籍。

640?wx_fmt=jpeg

覺得書不錯的,掃描下邊二維碼,直接購買哦!

640?wx_fmt=png

掃描下文進行抽獎哦!

640?wx_fmt=jpeg

點選圖片檢視更多推薦內容

↓↓↓

640?wx_fmt=jpeg

走進科學之揭開神祕的"零拷貝"!

640?wx_fmt=jpeg

在騰訊的八年,我的職業思考!

640?wx_fmt=jpeg

創業公司技術總監,去上市公司面試,結果涼了!

640?wx_fmt=jpeg

無所不能的RPC訊息協議是如何設計的?

640?

相關推薦

自述:為什麼一部分公司採用過時技術,作為技術人而言該去公司還是小公司

背景 本文出自一朋友給我的提問,於是博主嘔心瀝血給他花式洗腦了幾個小時。忽然發現,應該還有許多朋友有同樣的疑問。所以整理成文。 許多剛畢業的程式設計師朋友,都有一個執念,想要進那種規模大一點的公司、上市的、業內有名的最好。 為什麼大家都想去大公司? 因為很多人覺得,公司大

為什麼一部分公司採用過時技術

背景 本文出自一朋友給我的提問,於是博主嘔心瀝血給他花式洗腦了幾個小時。忽然發現,應該還有許多朋友有同樣的疑問。所以整理成文。 許多剛畢業的程式設計師朋友,都有一個執念,想要進那種規模大一點的公司、上市的、業內有名的最好。 為什麼大家都想去大公司? 因為很多人覺得

成長性人工智能技術

頻繁 weixin 參考 通用 http 搜索 系統 效率 人性 https://mp.weixin.qq.com/s/xvr0yUIDbS2muVp_LGGX0g  為加強對新一代人工智能技術的前瞻預判,把握全球技術創新動態及發展趨勢,中國電子學會近期走訪人工智能相關

資料必備的那些技術

大資料是對海量資料進行儲存、計算、統計、分析處理的一系列處理手段,處理的資料量通常是TB級,甚至是PB或EB級的資料,這是傳統資料處理手段所無法完成的,其涉及的技術有分散式計算、高併發處理、高可用處理、叢集、實時性計算等,彙集了當前IT領域熱門流行的IT技術。 想要學好大資料需掌握以下技術: 1

公司為什麼採用過時技術

作者:孤獨煙  |  公眾號:打雜的ZRJ背景本文出自一朋友給我的提問,於是博主嘔心瀝血給他花式

公司到創業公司技術人轉型怎樣轉變思路與處事之道?

創業 itl .cn img 收益 -type info 一場 ase 寫在前面 不想當將軍的士兵不是好士兵,不想做 CTO 的技術人不是好技術人 剛拿到這個話題的時候,提筆不知道要寫什麽。大約三個月之前,有記者對我做過一個專訪,之後在官網首頁發布了一篇文章《從

技術好卻進不了公司?iOS程序員面試的幾個小技巧你可要收好了

朋友 知識 了解 一點 今天 刪除 就會 為什麽 年輕 前言: 有很多程序員,專業技術挺好,項目經驗充足,簡歷上金碧輝煌,也面試了很多國內大廠,但就是沒有一家能成功的。處境可以說是相當尷尬。 大家都知道程序員本身就是要吃年輕飯,不僅是技術活,也是體力活。早點跳槽,早點漲薪,

畢設竟然抽到了模擬iPhone X的解鎖技術好我有點Python功底

最近大家談論最多的關於新款iPhone X的功能之一就是新的解鎖技術,即TouchID的後續技術:FaceID。     進群:548377875   即可獲取數十套PDF哦! 原始碼在文章末尾! 建立了無邊框手機後,蘋果不得不找出新方法

沉浸在公司就是螺絲釘小公司鍛鍊人?看完你就懂了

剛畢業那會經歷過很多所謂創業公司,和很多朋友經歷過畫大餅,洗腦以及公司上市原始股這樣的承諾。當你正在趟過這些謊言你就會發現,在這個世界上能信這些鬼話的也只有涉世未深的畢業生了。小公司裡真的就是十幾二十幾個精英帶你一路向前?沒有辦公室政治?呵呵,金庸說過有人的地方就有江湖。在經濟下滑的今天小公

為什麼大學在教過時的軟體技術,程式設計師:只能說你根本不懂軟體

這幾天小編一個剛畢業的學弟來向我取經,也抱怨了一些自己入職後工作上的事情。其中“為什麼大學教的都是一些過時的軟體技術,比如JSP,工作之前還要從頭學習新的技術”這個問題讓我特別有感觸。按理說作為電腦科學來說,優勢就在於實時,快,效率高,如果使用過時的東西,就會導致工作能力低下,必然是沒有公司要的。那

視覺化資料分析軟體要掌握這6個核心技術

大資料技術與商業智慧BI是相輔相成的,大資料技術可以幫助BI產品突破業務和技術的雙挑戰。視覺化大資料分析軟體在快速發展的市場環境中,迎來了越來越多的技術要求。這些核心技術成為大資料獲取、儲存、處理分析或視覺化的有效手段,可以說是我們這些專注研究視覺化大資料分析軟體的工作人員需要去學習和了解的!

三本程式設計師能進公司嗎?網友:有能力問題不大

  在網際網路行業,眾所周知,程式設計師的薪水是相對較高的,但是不代表程式設計師就對自己的薪水滿意了,其實程式設計師的痛苦的事不是自己的薪水低,最痛苦的是自己的薪水比其他同事低,人比人氣死人嘛,因此沒事別亂比,一比見差距呀,分分鐘傷到小心臟,還有比這個更痛苦的事就是技術能力沒自己好,薪

Spring Cloud技術沒有學完Hystrix又雙叒叕停止更新了

作者:徐劉根 | 微信公眾號 :Java後端技術(ID:JavaITWork) 今天無意間翻了一下Hystrix程式碼倉庫,無意間看到最近的一條變更,竟然發現Hystrix也不再進行活躍的更新了,停止開發新功能了!後期只是進行維護了!!! 這是繼

股票跌得猝不及防,是因為你不懂這個技術

今日是國慶長假後的第一個交易日,A股迎來當頭一棒,盤中超百點的下跌令市場猝不及防,在權重股大跌,題材股重挫之下,市場連續跌破多條均線支撐,吞噬節前一週的反彈。全天看,這裡的下跌屬於通殺,但市場反彈趨勢並未就此打破。 股民泣不成聲,那麼怎麼利用Python來分析資料,從而減少風險呢,大家一起來學習

馬雲100%信任的CEO,卻說公司要做小,原來是這意思

"我知道阿里巴巴這樣的公司管起來不容易,我100%相信張勇將會比我做得更好!" 剛剛,馬雲在阿里巴巴全球投資者大會上,用這麼一句話評價了現任CEO張勇,把接近尾聲的大會再次推向了高潮! "100%信任!"馬雲這句話絕不是說說而已,而是經過了多年對張勇的考驗和觀察。

【問答語錄】為什麼各公司請敏捷開發諮詢顧問,都偏向專案管理,是不是偏了?沒有核心技術思想,管理能解決實質問題?

提問: 為什麼各大公司請敏捷開發諮詢顧問,都偏向專案管理,是不是偏了? 沒有核心技術思想,管理能解決實質問題?    老布回答 首先,這個問題沒有清晰說出公司的實質問題是什麼,所以有點難回答。其次,從提問者的問題來看,似乎他看到的這些諮詢顧問只是對管理流程上比較熟悉,對技術實踐層面上,包括一些技術能力方面

1024程式設計師節,來看看華為、滴滴、美團等公司程式設計師都如何過的你又想怎麼過呢

十一之後,不少網際網路公司開始關注1024程式設計師節這個節日,除了首位節日發起者傳智播客這家公司開始為程式設計師們準備福利之外,其他IT公司,也把程式設計師節當做一個重要的節日來迎接,畢竟程式設計師(媛)們作為公司的核心競爭力來講,地位還是可觀的(主要是避免刪庫跑路)~

幫你解決垃圾郵件,這家公司想讓你邊看郵件邊掙錢

一個解決垃圾郵件的好的思路! 每天上班,第一時間開啟郵箱頁面,有多少個小夥伴是跟我一樣痛苦的? 好,先不要說 Gmail 無法上,就算小探的國內收件箱,永遠都有100+的郵件等著開啟,但是,很多都是訂閱郵件、垃圾郵件…… 現狀是,目前對於垃圾

IT公司呼籲:程式設計師應該工作一小時,休息15分鐘

拉脫維亞最大的 IT 諮詢公司最近做了一個研究,通過計算機應用跟蹤記錄員工的工作習慣。該應用能夠計算人們在不同任務上各花費了多長時間,並比較其中的效率。 他們在研究過程中發現:每天工作時間的長短並不重要,重要的是這一天如何分配。那些工作中時不時休息的人比連續長時間工作的人效率高很多。

在糾結畢業後是去公司還是小公司工作?我來告訴你至少應該去初創公司工作一次的5理由

人們常說在商業領域你應該往大的方向想。然而,當你面臨職業選擇的時候,你是否試過往“小的方向”想呢?從我的個人經驗來看,在初創公司上班就像是坐過山車,能給你帶來奇妙無比的體驗,同時還能教會你一些人生道