當前位置:
首頁 > 科技 > 如何在 3 年內擺脫「普通程序員」標籤

如何在 3 年內擺脫「普通程序員」標籤

關鍵時刻,第一時間送達!

作者 | 王俊生

出品 | GitChat 精品課

技術層面

接到需求立即開發不合理?

很多開發人員日常工作中接到需求直接動手開發,在開發過程中一邊開發一邊設計,特別是剛入職的程序員,大多數更是只注重功能的實現,接到需求後往往只是在腦中勾畫一個大概的實現方案,隨即直接動手開發;這種現象是多方面因素導致的,首先可能由於時間緊迫,不能整體把控,只能做一步看一步,在加上可能需求很小,稍作改動,功能就可以實現,完全沒必要花時間去做設計。

但是這樣做卻會導致很嚴重的後果,最直接的就是很多人為了實現功能,代碼東拼西湊,這個項目的代碼粘一粘,那個項目的代碼拷一拷,網上在 copy 一下,大體功能就實現了,自己也慢慢的成為了傳說中的「CV 程序員」。更重要的是這樣做並不一定會快速完成開發任務,因為很多代碼是粘過來的,所以在調試和測試過程中往往會遇到很多問題,經常有這樣的現象,測試部門反饋研發提交的代碼有問題,研發人員說在開發環境上運行沒問題啊!

然後花了很多時間去解決,可能最後發現是自己 copy 的代碼有地方忘改了!這種低級錯誤會隨著經驗的豐富慢慢減少,但是 CV 程序員在這樣的惡性循環中技術往往提升較慢。這應該引起大家的警覺。

很多需求都是對項目局部盡心小的改動,或對現有功能進行升級完善,我們在接到需求的時候完全可以先從整體上了解一下產品,包括業務流程,產品架構,使用的技術等。

對項目有個整體的了解,然後在思考自己要實現的需求,進行概要設計,可能在熟悉項目過程中發現已經有類似的功能,很多工具類可以直接拿來使用,然後對有疑惑的細節在上網查查資料進行細節設計,整體都設計好了,然後在進行開發,這樣做往往能達到事半功倍的效果,在測試和上線過程出問題也能快速定位解決,附加的好處是不但自己在這一過程中能力會有很大提升,而且也會給他人留下做事有條理的好印象。

如何評估開發時間?

我們必須要認識一點,開發時間不是越短越好,評估開發時間的時候一定要靈活,當然每個公司的情況不一樣,這要具體問題具體分析。

這裡我只是講一個思路,開發速度是一個由慢到快的過程,所以不能一昧求快,很多人在評估開發時間的時候,總是顯得過於急躁,往往只是把自己心裡期望的「開發時間」報上去,甚至一些人由於不自信,特別是職場新人,很多人怕評估的時間長了會導致領導同事對自己的能力不認可,所以盡量縮短開發時間。

其實,我們首先要知道編代碼時間只是我們評估時間的一部分,我的一個同事說過,編代碼大概只是花費整體開發時間的三分之一左右,除此之外我們還要處理調試問題,環境問題,協同問題等開發過程中遇到的各種問題,特別是需要多個部門合作的需求。更是不能忽略溝通成本。而且在開發過程中,還會有許多其他的事情打擾,比如應急問題的處理、之前做的功能的迭代,需求的變動等等。

所以我們評估開發時間的時候把自己的編代碼時間大概乘以 2 或 3 基本是合理的,這樣我們在開發過程中才會避免忙中出錯,遊刃有餘的完成開發任務,合理評估開發時間的另一個好處是能有效避免由於遇到各種各樣的問題導致不能按時交付,反而大多數時候都能提前完成,這樣會得到領導的格外信任。

要知道領導是不會因為員工逞能而沒按時完成而去遷就員工,但是對於總是能提前完成的員工領導會更加信任…所以我們一定要學會合理的評估開發時間。

功能實現是目標嗎?

一般來說開發人員完成功能開發提交測試,上線成功就算完成開發任務,然後繼續做下一個需求…… 這樣看來功能實現當然是目標。其實單單實現功能是遠遠不夠的,首先也是最重要的是要注意自己的代碼質量,這是衡量一個程序員好壞的基本標準。

請各位小夥伴們想一下我們是否有過在看之前的人寫的代碼的時候心裡暗自罵娘?相信很多人都會在改程序的時候吐槽前人:代碼沒有注釋,關鍵日誌不打,重複代碼一堆,別提效率了,連安全都做不到等等!

所以我們最好不要成為自己討厭的那種人,多注意自己的代碼質量;其次如果在開發過程中用到了自己原來沒接觸過的技術時,要花點時間去學習研究一下,而不是直接把代碼粘過來實現功能就沒有下文了,即使當時實在趕時間,也要把這事記下來,以後找時間去學習,最好做到接觸即掌握,用過即專家。這才是程序員的自我修養!

此外業務邏輯也應該給自己一些時間來消化一下,而不是只做好小功能的改動或實現就好,這樣對於整個項目的理解才更完整和透徹,對於以後的工作也會有很大幫助,只有這樣才會慢慢的有積累。迅速的成長起來。還有一點需要注意,我們可能會遇到這樣的問題,在開發過程中,用到之前的人寫的代碼質量不高,沒有注釋讀起來很費勁,日誌也很少,最好把這樣的代碼也優化一下。

這裡有個小故事和大家分享一下,同事小張每次改公司的一個門戶網站的時候的都吐槽一番,誰寫的代碼寫的如此之爛,連最起碼的日誌都不打等等......後來一個實習生改動其中一個功能、上線的時候那個實習生說他調用的介面沒結果,也沒有日誌,看版本提交記錄是小張,然後只能大半夜的給小張打電話,折騰好久才解決,儘管代碼開始可能不是他寫的,但是他在作改動的時候應該邊吐槽邊加上關鍵日誌,這樣既方便後來人,也避免了自己的麻煩!

這裡涉及到一個概念,責任感,我們對自己經手的代碼其實是有責任的,可能只是在前人的基礎上的小改動,但是既然經手了,最起碼的注釋和日誌還是要加上的。

發布文檔如何寫?

寫發布文檔的原則就是要寫的儘可能詳細,需求是什麼,實現了哪些功能,發布時的步驟,注意事項,聯繫電話,發布日期等,最好是傻瓜式的,標準就是:只要按照發布文檔寫的進行操作就算在大街上隨便抓個人過來部署都不會出問題。

這才是好的部署文檔,很多人在寫發布文檔的時候很敷衍,基本用的都是模版,大綱都是有的,然後內容大概改一下就 OK,甚至文檔編寫人和電話都不改!有人會說很多運維和測試人員基本不看發布文檔,浪費太多時間沒必要,其實發布文檔寫的詳細一些,不但會省很多時間,還會避免很多麻煩:比如避免測試人員部署或運維上線過程中出問題在聯繫開發人員去調試;而且發布文檔寫的詳細也對開發人員自己有好處,可能過了很長一段時間後程序出問題了或者有人詢問這個功能,開發人員可能自己都忘了,這時候,拿出發布文檔一看清晰明了,會省很多時間!

更重要的是對接的人也會對這樣的開發人員有一個靠譜的好印象,這裡又涉及一個詞:信任度,試想如果 QA 每次測你開發的程序都有很多問題,運維上線你開發的程序成功率很低,那很自然對你的信任度就會很低,即使是協同開發的項目出問題了,第一時間想到的可能就是你,而不是別人。

上線成功不算結束

學而不思則惘,總結對於任何人都是很重要的,功能交付,上線成功,對於工作來說是結束了,但是對於開發者本身並不意味著結束,可能此次開發只是改動一個小的功能,並且開發時間很緊張,開發過程中沒有從整體上審視整個項目,那麼在上線成功後找時間在回過頭來繼續審視一下整個項目就顯得尤為重要,業務流程,整體架構,技術實現細節,項目龐大,一次可能時間不夠不能完全消化,那麼多幾次研究總結無論對以後開發時間的評估,或是對項目提出建設性的意見,都會有很大幫助。

當然,最大的幫助還是自身技術水平和業務水平的整體提升,行之有效的方式是形成文檔,相信很多人都有博客,重要技術總結整理成文章,發布到網上還可能幫助到其他人。

拓展知識的深度和廣度

這個是老生常談的問題了,新技術層出不窮,程序員如逆水行舟,不進則退,而且就算進的慢了也是後退,當年畢業的時候,一個女同學問帶我們做項目的一個很牛的老師有沒有什麼話特別囑咐,老師就告訴她,要想在互聯網行業立足,一定要多關注新技術,新理念,可以不用都去研究,但是一定要關注、了解熱門技術,把握技術發展方向。

大家可以多看看 BAT 的招聘要求,看看自己還有哪些方面根本沒接觸過。我建議大家多關注熱點和優秀的開源項目、找到自己的興趣點就多花點時間去學習研究,知識的廣度很大程度上會影響開發人員的職業發展。

同知識的廣度相對應的就是技術的深度,這是要慢慢積累的,都說程序員越來越多,其實 IT 領域的人員分布是金字塔形的,越往上的人,技術越好,競爭的壓力也相對就會小,所以好的程序員一定是深究技術原理、多看源碼的程序員,萬變不離其宗,知道使用的技術是如何實現的用起來自然得心應手!

生活層面

避免職業病是大事

早就聽過程序員最後要看的書是頸椎病康復指南、而且網上也有許多段子調侃程序員的身體,諸如賺的多,吃得少,死得早;從頭髮的疏密程度可以判讀程序員的工齡等,不時還有報道開發人員猝死的。但是感覺都很遙遠,對於這些段子也就聽個樂。

直到有身邊的人病倒,去年五月份,一位剛入職兩年的同事竟然突然因為腰疼下不了床了、試了各種治療手段在家躺了一個月才能正常上班,此後他特別注意身體,還辦了健身卡。買了機械鍵盤,支高電腦,每天盡量保持好的坐姿,還有盡量每天至少做兩次眼保健操,晚上盡量十一點前上床睡覺。

同事開玩笑說他看完老中醫後自己變成老中醫了,但是這件事對我的觸動還是很大的,我也下載了一個健身的 app,每天早上運動 10 分鐘,晚上健身半小時左右,確實整個人每天的狀態都好了很多,本來每天下班都感覺很累,運動完反而不那麼累了。

由此可見,確實是生命在於運動啊,IT 行業加班如此嚴重,越來越多的程序員面臨身體問題,這要引起大家足夠的重視,如今,開發人員靠的已經不單單是智力了,還要有健康的身體。

快速融入團隊有方法

職場當中我們不是一個個體,而是整體中的一部分,很多工作需要部門之間的配合、協同完成,這對於剛入職的小夥伴可能會有一些障礙,怎麼才能快速融入團隊中呢?

程序員很多都不善處理人際關係,所以融入團隊也大都順其自然,自己部門開會、團建之類的正常社交也就能和本部門的成員相互認識而已、不足以達到快速融入團隊的目的。

其實快速融入團隊的方法就是多接觸、比如我們可以通過各種小團體來快速融入團隊,如果喜好各種網路遊戲,這是個很好的途徑;除此之外,還有很多方式,比如運動方面的,每個公司一般都會有一些籃球,羽毛球,足球等小隊,參加進去不但有助於身體健康,也能很快和各部門的同事熟悉起來。

還有些公司會有戶外小隊,讀書會等,可以選擇自己感興趣的小團體加入其中,在這些活動過程中,會找到很多志同道合的朋友、還會快速和各部門同事之間建立起友誼、這在以後的工作過程中也會更加得心應手。

和同事溝通有選擇

按時間的長短來說,同事比和家人在一起的時間還要長,所以同事之間的關係尤為重要,好的關係就要有合理的溝通方式、有禮貌是最基本的、內容上不要認為別人不在意,就經常挖苦別人;不要在背後說任何人壞話;最好不要打聽別人薪水,新人入職很多東西不明白,不了解,所以會有很多請教的事情,這無可厚非,但是我的建議是業務上不懂的可以多問,技術上不懂的要盡量自己摸索,實在不懂再去請教。

解決單身無捷徑

五一放假,很多年輕男同事不願回家,說回家家裡就給安排相親,由此可見單身問題對於程序員來說是個很嚴重的問題了。

總結來說導致程序員單身最根本的原因有兩點,一是接觸到的女生偏少,二是自身原因,比如智商很高,情商一般,對於穿著不太在意等。

要想告別單身,可以根據以上兩點原因採取針對性的措施、比如對於接觸女生少可以想辦法多和外界接觸、喜歡讀書就抽空就圖書館去讀、喜歡戶外就多加幾個戶外群、總之不要總是宅在家裡,美女是不會主動上門的!

對於第二點我覺得還是加強自己內在,相貌是無法改變的,但是氣質是可以改變的,方法就是多讀書,讀好書,當然,單身問題也不要過於著急,要樂觀、有佛性思維,要相信自己的那個她可能就在下個路口。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

還在用 AI 和機器學習?簡單的 SQL 腳本就能替代!

TAG:CSDN |