月薪3000和月薪30000的程式設計師差別是什麼?

angle發表於2019-08-20

今天有時間想跟大家聊聊在我們所接觸的程式設計師當中,那些高階的程式設計師和初級程式設計師的差距在哪裡?為什麼工資差距會如此之大?

一、初級程式設計師在寫程式碼,高階程式設計師在設計

大多數程式設計師在拿到需求之後,直接就開始寫程式碼了。從而就會遇到功能越來越多然後程式碼就越來越複雜的情況,一個產品下來自己甚至都不知道該如何維護,一上線還掛掉了。

但是高階程式設計師會思考整體的頁面應該如何設計,一個頁面分為哪些板塊,有什麼事件,每個事件應該dispatch哪些action,整個模組有哪些資料放在store當中,哪些模組放在state裡面。

如何提升自己的程式碼能力?

很多人會告訴你,去看原始碼,哪些很簡單的函式,別人是怎麼實現的?要你從效率,邏輯和註釋看別人是如何設計的,並且看完要練習,光看不練的都是耍流氓。這是有一定的效果,如果你要從初級程式設計師升級高階程式設計師的必經之路。

下面說說TDD(測試驅動開發),我來推薦TDD的問題在於,現在很多程式設計師並沒有寫測試用例和重構的能力!TDD主要是在寫程式碼之前就要寫測試用例,那麼在寫的時候你自然而然的就會思考每一個函式和每一個模組等問題。從中可以認識到自己原有的程式設計方法不足,並且彌補,在養成拿到需求之後去設計程式碼再去寫的習慣之後,就不需要再用TDD了。

二、初級、高階程式設計師拿到需求之後思考的問題:

我見過有的實習生,和應屆生看到以前的老程式碼用的框架不夠新,就開始吐槽,改成新的,一上線發現掛了。其實這種情況很常見,這就是初級程式設計師所考慮的技術問題,然而高階程式設計師會考慮什麼?在技術的基礎上,會直接想到業務需求。畢竟技術是為業務服務的;

其實看到技術不夠新,我們應該去想為什麼以前的人要這麼寫,為什麼用這些東西?真是因為那時候還沒有出新的東西或者是別人比你差?

我在HW的時候,負責一個版本的開發,這個版本的工作量大約是2000行左右,但是我除了做完這個功能,還將關聯的功能全部掌握清楚了,程式碼(大約10000行)也全部看了一遍,做完這個版本後,我對這個版本相關的整套業務全部很熟悉了。經過一兩次會議後,大家發現我對這塊掌握最熟了,接下來就有趣了:產品討論需求找我、測試有問題也找我、老大對外支撐也找我;後來,不是我負責的功能他們也找我,即使我當時不知道,我也會看程式碼或者找文件幫他們回答。最後我就成了我這個系統的“專家”了。雖然這個時候我還是做業務的,還是寫業務程式碼,但是我已經對整個業務都很熟悉了。

我很喜歡引用這個故事,其實給大家一個很好的思路。企業老闆根本就不在乎你用的是什麼技術,他要的只是需求實現,產品順利上線。所以該如何突出自己?那就是重業務,在技術層面能夠把業務的需求放在前面。

月薪3000和月薪30000的程式設計師差別是什麼?

三、初級程式設計師接需求,高階程式設計師砍需求

一般的程式設計師在產品經理,運營說了一些需求之後,滿口答應的去接,之後加班幾天,做了很多根本沒有價值的東西,還有很多重複的工作。但是真正高階的程式設計師,有一個自己對業務的理解之後,會說出自己的看法。

該如何判斷一個需求是不是該接呢?

這也就是上一個階段提到的,思考這個需求背後的價值。為什麼要做這個東西?做了之後能有什麼要的效果?如果一個產品功能最後出不來什麼價值,是完全可以不要做的。或者是這個產品產生出來的價值與消耗的人力物力時間成本不匹配,那麼需求也是需要商量的。

四、初級程式設計師解決一個問題,高階程式設計師解決一類問題

初級程式設計師完成一個專案,出現問題都是一個一個解決,按時按量的完成。但是高階程式設計師在做什麼呢?封裝幾個共用元件到npm大家需要都可以來用。初級程式設計師常說:這個很簡單,過幾天給你。高階程式設計師:這個我以前寫過一個模組,我去找找,馬上給你。

有的程式設計師會問我,我們要上線一個功能,小程式和H5都要再寫;但是我會說,我見過的程式設計師,寫了一個可以將vue程式碼轉化為小程式的框架,一套vue程式碼,不僅是H5,小程式都可以用。

打個總結

想要成為一個高階程式設計師,拿年薪的那種。要有思想的轉變,不僅要程式碼寫的好,做的東西需要更有用,要常常思考積極主動。你想成為高階程式設計師嗎?


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901601/viewspace-2654311/,如需轉載,請註明出處,否則將追究法律責任。

相關文章