12.29 初級程序員易犯的 7 大錯誤

初級程序員易犯的 7 大錯誤


原著:Chris Blakely

翻譯:Lenis

有句名言,我蠻喜歡的:

`Even the longest journey begins with a single step`

說人話,就是:

千里之行始於足下

我家牆壁上,就貼了這麼一條警句。任何的成就都是靠著一點一滴的積累而成。任何試圖探尋捷徑的嘗試,都是徒勞。

剛開始入行程序員的時候,太多茫然,太多誘惑,太多坑需要自己去經歷,去撫平被代碼傷透的心,技術無他,就是手熟。

及時回顧與總結,不要用 996 的無用功,代替戰略上的失敗。多給自己留點時間,回顧與整理自己的“錯題本”,一步一步往上爬。平時多寫一些回憶錄,等到迷惘時,翻看找找靈感。

正好 Medium 上有篇類似的文章,我覺得可以共勉。基於他的觀點,順帶加上自己的理解,一起寫出來作為整理。

//

01 潦草對待第一份工作

//

千軍萬馬過獨木橋,競爭是越來越激烈的。每年國內有幾百萬的人應屆畢業生,要想在這些人群中找到一份自己理想的工作,難度可想而知。頭部的那些崗位(注:頭部是指最吸引人的崗位)爭搶的人不僅多,而且精。對待第一份工作請打起十二分的精神,且好好珍惜。

就拿 2018 年的 820 萬畢業生來說,競爭上崗靠的是硬實力。在當下這社會,應屆生能找到工作已是不容易。理想化的工作更是難上加難。很多人在如此的壓力下,將就著隨意找份工作,這是十分耽誤前途的。

尤其是軟件新興領域,錯過了 2002 - 2008 年這段中國互聯網發展的大好時光,會十分懊惱。耳熟能詳的康波理論,殘忍的告訴每個人,一輩子能站上的風口,寥寥數個,錯過了就要再經歷漫長的等待。

隨意找到的工作,伴隨的是抱怨。很多做得不開心的程序員會漸漸失去昔日的成就感,而產生很多牢騷或者抱怨。指責別的程序員諸多不是。這也看不慣,那也看不慣,看不慣同事的慢手慢腳,看不慣同事在工作時間段抽上根菸,喝上一杯星巴克。

找工作跟挑媳婦兒一樣,要麼不愛,要麼就認真愛!

勝兵先勝而後求戰

很多工作多年的老朋友,經常在一起感慨,一開始就知道要走軟件開發的道路,知道信息技術才適合自己,提早很多年就開始準備,是不是就會少走很多彎路,且成就比現在高得多?這大概就是“勝兵先勝而後求戰”的全部內容了。

用 Chris (本文作者)的建議來回答,在選擇第一份工作之前,一定對自己的能力做充分的積累,對該企業的崗位做詳細的瞭解,選定目標崗位,積極地面試,主動的尋求崗位細節,接納自己喜歡的第一份工作。

工作,只要精品,絕不妥協

一旦你做足準備,練就強硬的本事,就該 “良禽擇木而棲 ”。面試的策略能幫你最終落實你與工作的姻緣:

問清楚開發的流程:公司的開發流程、Code Review、Source Code Control 等細節,決定這公司開發是否規範,開發是否有效。試想公司都以複製黏貼來作為版本控制策略,可見其開發水平以及 IT 團隊在公司的話語權了。

知曉企業文化:這點外企的朋友最清楚,應屆生來外企絕對有優勢,在拿到高薪的同時,還有很多優質的培訓以及高質的指導。馬老師,張老師,黃老師哪個不是混跡行業多年的老手,帶著你一起做項目,你認為那些在工廠玩舊把式的 IT 能有你那麼高的競爭力?

以上這都是你的前期準備,現如今互聯網的分享如此之發達,稍微花點心思或者費用,都有一堆優質的材料供你參考,所以在校成名的大學生越來越多了,比如說路人甲。這是整個時代賦予的紅利,大好事一件!


//

02 不上路子

//

語言之爭,在任何時候,任何場合都是一幫人最熱衷討論的。有時候比皇馬粉 KO 巴薩粉還厲害。文人相輕的風氣足足影響了好幾個世紀,傳染了好幾個行業。

初級鄙視鏈:

寫C的看不起寫C++,寫C++的看不寫java的,寫java的看不起寫js,寫js看不起美工

深度鄙視鏈:

真的在設計編程語言的->實現編程語言的->胡亂設計編程語言的->只學會了編譯原理的->連編譯原理也沒學會的

我只記得,Oracle 我是花了 2 年學會的,轉到 SQL Server 我用了半年。MySQL 我是在個人博客搭建時學會的,後來用在了 Hadoop, Hive 的環境中。C# 我用三個月的每個禮拜天,啃了《框架設計》,用在了 SSIS 的自定義組件中,SQL Server 的 CLR 中,生產環境跑得妥妥的。

其次,語言並不能解決所有問題。現在的軟件體系,允許多個語言共存。《企業 IT 架構之道》(阿里巴巴出品)講述了大中臺的概念,其實就是 SOA 理念,以後的軟件開發會更加區分靈活多變的大前端和堅實的共享服務端。所以作為開發來講,我們只要錨定前端和後臺即可。如果你感興趣的是前端,玩 JQuery/React/Vue/Javascript 隨你;如果做後端,Java/C#/Python 隨你。怕的是你一會兒學 React, 一會兒 C#, 一會兒 Python, 看似口吐蓮花,實際樣樣稀鬆。

一次只學一門,最快地習得編程手藝!

貪多嚼不爛,反而壞了學習熱情。


//

03 花哨的編程技巧

//

我還記得學歷史的時候,很多同學專門關注某一頁,某一個引用框裡面的註解,然後用這個註解來炫耀自己懂得那麼細。

我舉個 T-SQL 的例子。平時分頁大多是用 ROW_NUMBER 來實現的(不知道 ROW_NUMBER 是啥的,回看我號精華文章集合):

後來我嫌棄兩層不美觀,用了新語法:

結果被我們老大說教了一通,代碼太騷氣。同事們看著費勁。所以在炫技的同時,我們還要考慮是否大家都能接受的了。


//

04 跪舔 996 文化

//

跪舔,不是瞎說,而是代表盲目。

是,現代人壓力都大。但把工作帶回家,帶回來的不僅是工作量,還有負能量,更多的是對自己效率不高的掩飾。你總認為還有回家的幾個小時,你在辦公室就不會想辦法提高效率,如果你是領導,還有可能導致整個團隊的氣勢被帶歪。

我曾說過, 5 人以上的會議都是謀財害命。每人講 2 分鐘,20 個人輪一圈,一個上午別幹活了。更何況,有些朋友喜歡中間插話,加上起鬨,個別文字組織能力極差的老粗,足以讓你的團隊各個葛優癱。

在這種環境下,想不 996 都難。而這樣的 996 能帶給你什麼?虛榮!僅僅能獲得口頭誇獎下,“你好用功,好認真,公司的勞模”。哈,但對不起,言下之意“你並不是優秀員工,你今年不能升職加薪”!

代碼跟小說一樣,並非一天寫就。

經常舉例子的村上春樹,每天只工作 4 小時,精力最好的 4 小時,沒有打擾,全身心投入創作。4 小時後,保養,充電。程序員也一樣,8 小時工作,工作之外,及時補充自己的眼界,看看【有關SQL】的趣文,放心大笑之餘,增長屠龍之技,何樂不為!

千里之行始於足下。996 式的蠻幹,需要警惕。但自由散漫式的成長,也要警覺。如果說 1 年 365 天,你連書角都懶得翻一下,自由對於你來說,就是浪費。還不如 996,熱血一把,反正閒著也是閒著。自律是把雙刃劍,能助人亦能害人。

//

05 不說不知道

//

明明是自己不知道的原理、細節或者判斷,口頭上硬要扳回自己內心不知道的羞辱。假裝知道,是想要獲得別人好感的內心戲。其實問你問題的人,對你的看法可能就是“哦,原來你也不知道”而討厭你這樣的說辭,影響你在他心目中的形象。真誠的互動,是最有效率的社交。別假

前段時間,群裡有人問刪除文件怎麼玩,有人這麼回的:

rm -rf /*

要是不知道,就大膽的說我不知道。但這種模稜兩可的知道(不管是不是故意的)就給別人帶來了災難。

//

06 一味追求快

//

編程是門藝術。

不知道多少人聽過這樣的說辭。也不知道有多少人真是這麼覺得。但更多的時候,我們聽到的卻是很多,“這段代碼 TM 誰寫的,那麼多坑”,“靠,又是一堆 bug”... 很少聽到有人會說“ Wow, 牛皮,這段寫得贊”,“我咋沒想到呢?” 願大家在我的文章裡,多一些後者的感觸,哪怕你們不留言給我。

現在的情況更遭。

大部分的程序員,並不面向對象編程,也不面向工資編程,而是面向 ctl-c, ctl-v 編程。夠快的。但是一到 Demo 或者測試,通通打回。頁面響應 10 秒鐘,取數響應 1 分鐘...

你還敢快嘛?


//

07 獨行俠

//

求伯恩,雷布斯,獨孤英雄太多了。

媒體宣傳的噱頭之一,就是年輕,鉅富。越是孤獨,新聞越有爆炸性。帶給社會大眾的負影響,就是矇頭幹活。其實玩法早就變了,同行交友社區,github 上充斥無數優秀的代碼可以供參考,但很多朋友還沒邁出那一步,參與社區交流。

在國內,itpub 絕對是數據庫人交流的好地方。如果你玩編程,掘金,segmentfault,csdn, 知乎等都是不錯的交流地兒。討論下行業趨勢,多瞭解些業內信息,對保持技術先進性有著促進作用。至少讓你遠離一些低級,甚至危害性的娛樂活動。

本文主要參考 Medium Chris 發表的文章,原文地址如下:

https://medium.freecodecamp.org/how-to-avoid-these-7-mistakes-i-made-as-a-junior-developer-a7f26ce0f7ed


分享到:


相關文章: