新晉程式設計師應該選擇造輪子還是用輪子

時間 2021-05-06 16:24:13

1樓:叩丁狼教育

突然覺得這個問題有點驚悚,「剛入行不到一年、總體上難度大、涉及到用C++但是自己不會用C++」......這是妥妥地只能用現成庫了。

每個程式設計師都希望自己造輪子,這是正常的,但是造輪子的理由五花八門,比如:

1.自己的需求/功能十分特殊,現有的庫無法滿足自己現在的需求。

2.現在舊輪子上面新增新功能,然而看不懂舊輪子,無法下手,只能放棄。

3.認知範圍太小,不知道還有這樣的輪子。

4.自己造的輪子比較踏實,也能完全讀懂,後期修改更為方便。

5.不想讓自己的核心使用者資料流經別人的系統。

那麼什麼時候可以造輪子:

設計出了獨有的、有競爭力的軟體,自己掌握核心科技,有自己的競爭力。

什麼情況下不必造輪子:

1.專案時間很緊張,比如說只給題主三天時間搭建,本來難度就大,還要自學C++,從時間上來說就是不允許的。

2.這個輪子不是產品的關鍵,不屬於核心競爭力,如果每個人都可以造出來,為什麼還要耗費時間和精力在上面呢?

3.如果自己的構思和技術尚未成熟,建議不要一開始就輕易嘗試造輪子,造輪子沒有想象中那麼簡單,如果結果是好的自然好,否則很容易造成騎虎難下的局面,而且後期也會因為出現漏洞而分散人力和時間去維護。

最後,從個人層面來講:在一開始的學習成長階段,程式設計師可以用學習如何造輪子的方式去了解別人的思維和邏輯,這是乙個很好的鍛鍊方式。

2樓:

這個題目真把我嚇到了,還好目前為止還沒有乙個入行不到一年的程式設計師問我專案上用mysql還是他自己寫個資料庫,不然我還真不知道該怎麼回答。

3樓:at餘大叔

學習的時候造輪子

真正用的時候用輪子

主要是自己太菜,自己造的輪子怎麼比得上別人的輪子。自己造輪子無非就是深入了解一下原理而已。

4樓:jackxy

我不會造輪子,因為我知道我能造,但是要花時間。時間是寶貴的,乙個公司花不錯的價錢買我時間是為了更好的產出,更快推動業務發展,而不是造已經有的輪子。對於不那麼成熟(懶)的程式設計師來說,總想嘗試下,可以理解。

畢竟大家都這麼過來的。如果是我的團隊,我會優先讓他們了解現有輪子,大多數情況現有的輪子都滿足需求,如果創作欲實在太強我也會給時間折騰,但人人都要為產出負責,想要變強就要付出時間和承擔風險

5樓:非著名程式設計師

在造輪子和用輪子之間,選擇不在於是不是新晉程式設計師,而是在於成本。

如果時間成本,技術成本造比用別人的輪子好,就選擇造,否則就選擇用。

輪子誕生的意義是什麼?是提高效率,避免重複,花費冤枉的時間和成本。

6樓:

先用明白業內大家都在用的輪子,才需要去思考這個問題。

其實真實情況是,先用別人的輪子,然後隨著你工作的不斷由淺入深,你會發現沒有乙個能100% match你需求的輪子,然後自然而然的開始改別人的輪子。

至於造輪子,水平不夠,沒造過,不知道什麼時候可以開始造輪子。

7樓:筷子

輪子是經驗教訓的提煉成果,自己造輪子就相當於把這些別人老路走一遍,自己玩沒問題但把公司玩沒了,把飯碗玩沒了,那就是另一回事了,在沒有總結夠經驗教訓之前先用別人的輪子,體會一下別人解決問題的思想,自己再將這些思想吸收進來對以後自己設計輪子有大用處

8樓:

有造輪子的想法是值得鼓勵的,現在很多優秀的框架都是重複造輪子,因為他們發現原先用的輪子不好用,或者不適用於業務需求,所以就重複造輪子,在原有的基礎上進一步提公升輪子的價值

9樓:lxyscls

你連輪子需要哪些材料,怎麼個造法,都沒有概念,你覺得你造出來的可能是輪子嗎?

選個好輪子,用好它。

運氣好的話,發現其在某些場景下的不足,試著加強。

運氣不好的話,就等下一次唄!起碼你工作交了差,錢到手了。

10樓:任弘迪

這個問題沒有統一的答案。提問應該寫要解決的問題是什麼,現有的輪子是什麼,解決了什麼問題,又有哪些不匹配的地方。造輪子會有哪些難點。

基本上寫完你自己也該知道答案了。這些也是你說服領導,調研,總結晉公升必須的東西。

11樓:

「What is your problem?」

我不是在引用李彥巨集被怡寶水淋頭後說的話,我說的是你到底要用技術解決什麼實際問題。技術問題都是由實際問題驅動的,實際問題的 trade-off 決定了你的技術選型,包括是否應該自己造輪子。

12樓:小小萬能表

在今天的環境下,即使你不會造輪子,也能實施絕大多數網際網路或傳統軟體專案,你首先應該做好這些事情,並且明白,做專案不只是用一用輪子那麼簡單,然後你再去思考如何改進做專案的方式方法,這也是造輪子的過程,這樣的輪子價值也更高。

13樓:馬佳鑫

這個問題就像:穿衣服,是要穿私人定製的,還是成品套裝?

這要看你穿這身衣服,出席什麼場合,跟誰見面,見面時間是下個月還是半個小時之後。

造輪子、用輪子,各有各的好處,方式選擇上,可以從這麼幾個方面考慮:

1、工期

專案壓得緊,自己造輪子明顯時間不夠用,明明有現成的,就不要再花時間自己琢磨了,要想深入研究,以後再找機會。

2、專案具體需求

用現成的輪子,缺點之一,就是跟自己手頭專案多少有不匹配的情況,很多高手一看不匹配的地方太多,還不如自己動手快,就像買回來一件成品,修修剪剪,還不如自己從0開始,這種情況下自己造輪子就比較合適了。

要是能滿足專案基本需求,工期又緊張,用輪子也可以。

3、自身實力

樓主提到自己「入行不到一年」,「不知道為什麼總是想自己封裝」,而且「總體難度非常大」,這時候還是要保證專案進度、控制風險比較重要,朋友開公司,招了個主管,明明有現成的輪子不用,非要自己搞,結果系統總是出問題,最後刪庫跑路,說到底,還是自己能力不夠,坑了所有隊友。

總之一切要以「多快好省」地完成專案為第一宗旨,這看起來是站在老闆的立場說話,但是細想想,你有能力把專案按時交付(不管是造輪子還是用輪子),職場才能認可你的價值,公司也是按這個評判標準發工資的。

有人說,輪子用多了,會不會變成「外掛程式搬運工」,自己的技術水平就提不上去了,這就像咱們上學那會兒做習題看答案,有的人直接記住乙個得數,一抄,完事大吉;但是學霸看答案,會分析解題思路,讓自己具備解決這一類問題的能力。

對應到日常工作中,「外掛程式搬運工」只會調調引數,專案需求改一點點,自己就得重新開始,但是高手用外掛程式,回過頭來會仔細研究下:人家這個函式怎麼寫的?讓我自己來行不行?

日積月累,同樣是「用輪子」,水平就差出來很多。

輪子是在你「會」的基礎上,幫你「偷懶」的,不是把你不會的東西,變成你會的知識。

造輪子,用輪子,方式不同,殊途同歸,具體方法,根據上面三個維度靈活掌握就可以了。

14樓:

不是大佬,只說點自己的想法。

我建議先完成工作任務,不影響工作。工作通常需要風險較小、開發較快的解決方案,除非公司領導支援你造輪子。

這事與直接利益無關,與是否能完成任務無關,也即是說,它不是利益驅動的,你盡可以大膽實現你的想法,你盡可以海闊天空,這與工作完成任務是完全不同的體驗。

有多少程式設計師,可能從來沒有過這種體驗。

15樓:cloudxiao

「新晉」程式設計師還是推薦用「普及度較高」的輪子。學習成本低,同時包含了別人經驗的傳承。新手自己造輪子風險高,可維護性差,對於專案也是不負責的態度。

最後,不管是造還是用,技術選型是個很重要的技術能力。「能列舉解決問題的不同方案,對比他們之間的差異以及優劣勢,在給定的時間內用合理的成本達到想要的效果,同時還有一定的擴充套件性。」這對技術廣度和深度都頗有要求,輪子都沒用幾個,怎麼提公升廣度?

16樓:

很奇怪為什麼你這種菜鳥還能有「選擇」,說明你們公司的管理結構有很大的問題。

乙個專案如果由初級程式設計師來實施,那一定需要架構師或者資深程式設計師給定好架構,用哪個輪子,根本輪不到你作決定。

現在你居然有這種自由度,說明給你的專案缺乏架構和審議,後患無窮。

17樓:王磊

時間允許的情況下,推薦自己造輪子。

但造輪子要講究技巧,先按照自己的思路先造出來(剛開始一定會走很多彎路的,都是正常現象,不用太擔心),寫完之後對照優秀的輪子,回過頭來反思和改進自己的輪子。這樣有兩個好處,第一,快速的提公升了自己的程式設計能力,第二,打造了更多優秀的輪子。

任何情況下都要有一顆造輪子的心,尤其對於新手來說。對於老鳥來說,不用所有的事情都親力親為了,畢竟效率第一,這個時候只需要站在巨人的肩膀上,參與到優秀專案的改進和協助中就可以了,為更加優秀的開源框架和輪子貢獻乙份自己的力量。

18樓:白夜

其實大家對造輪子的行為都是鼓勵的,誰也不知道小輪子是否有一天就成了大輪子,尤大的vue就是個很好的例子。

但是造輪子的前提是你要有能力去造,你不能說不會spring,但是想造個web框架,聽著就不合理。題主你有說了你不會c++,但是造輪子又涉及到c++,顯然你達不到造輪子的基本要求。

同時造輪子是個費時費力的工作,如果你想在工作時間做,要評估自己的工作量,以及領導的想法。如果領導不支援,那你的行為就是上班時間做私事。

我的建議是題主你先用現成的輪子去完成任務,在使用的過程中尋找它的一些缺點,以及你的額外需求,同時學習現有輪子的原始碼。然後在下班時間一點點嘗試把輪子造出來。

19樓:

工作是要不要造輪子,取決於1、專案的風險 2、你的能力 3、年終績效壓力。以我經驗,一般是:產品不太重要(或者說沒啥人用的)造輪子的風險比較低;新人都容易對自己的能力高估,以及不太重要的部門閒得沒事幹的會傾向於造輪子(否則績效沒得寫)。

相反在重要部門忙得要死的老人一般不會造輪子,嫌bug太少下班太早給公司埋幾個雷麼?

20樓:Jo丨book

如果我是你。

我覺得其實很好選擇。

如果時間多,專案不趕。

那就自己造輪子唄。

雖然說成熟的庫有很多了,但是自己寫的東西就算後面要改也得心應手;也可以看別人的庫,然後自己模範著做乙個類似的,對自己的水平多多少少都有提公升。

如果時間少,專案著急上線。

那沒什麼好說的,老老實實用現成的。

21樓:

程式設計師有三個階段,第乙個階段就是什麼都想自己造。主要的原因是知識技術水平不夠,無法理解整個生態,只能理解自己能理解的一小部分。

22樓:愛調酒的攻城獅

新晉程式設計師肯定是用輪子,因為某些方面的經驗不足,還不足以透徹的理解理解這個輪子。

先用學完再造吧,不然肯定會踩坑。

踩坑不可怕,可怕的是明知道有個坑還要踩,可以先想著如何避免,再去造輪子。

程式設計師是應該選擇在家鄉創業還是選擇在大城市發展?

首先,你家鄉到底有多小?直接跟你說下我自己的情況下,北京7年做電商,大富大貴沒有,也不敢說自己支稜起來了,但是基本的生活,能滿足了,然後疫情 逼婚,回了老家 座標內蒙赤峰,五線城市。什麼概念?人均工資3000不到,房價均價一度全國前五!更為臥槽的是,本地電商行業極度破滅,基本屬於盤古開天之前的程度 ...

程式設計師選擇研發還是維護?

黎明韭菜 座標一線網際網路公司,toC 的小夥伴應該是,研發 維護全包了吧?我理解是先把產品研發出來,後期再不斷的去維護公升級,好奇這個難道不是團一波人在做的嗎?偶爾使用者反饋後需要對接下使用者,實時解決下問題的。迷茫求指點 果斷選擇研發,要維護也維護自己寫的專案。維護別人的專案,雖然也能學到很多別...

該選擇當產品經理還是程式設計師?

才聚PMP學習圈 為啥要從自身條件出發呢?畢竟這兩個方向需要具備的技能是有很大區別的。程式設計師一看就是個技術工種,這個必然是需要你有一定技術實力的。而產品經理乍看上去感覺什麼行業專業的人都可以選擇,但要想成為一名合格的或者優秀的產品經理絕非那麼簡單,我們還是分別做下具體講解。NPDP產品經理國際資...