怎樣才算得上合格的程序員

本文轉(zhuǎn)自:代碼灣

image.png

最近同一部門另一個(gè)項(xiàng)目組的一位程序員被“主動(dòng)離職”了怜械,雖然我未曾與這個(gè)程序員共事過,但是聽過一兩次他的內(nèi)部分享鹃愤,感覺技術(shù)還是挺厲害的凛篙。后來與一個(gè)消息靈通的同事聊天,才知道真正的原因是老大覺得A難以溝通赘来,搞得其他程序现喳、QA都怨聲載道。工作這些年犬辰,身邊的好多同事來了又走了嗦篱,主動(dòng)或被動(dòng),這不禁讓我思考什么樣的程序員算得上合格的程序員幌缝。

雖然大家都自稱“碼農(nóng)”默色、“IT民工”,但我相信,這僅僅是自嘲或者自黑腿宰,大多數(shù)程序員應(yīng)該還是認(rèn)可自己的這個(gè)職業(yè)的,當(dāng)然缘厢,我算不上一個(gè)優(yōu)秀的程序員吃度,因?yàn)槲叶疾辉陂_源社區(qū)貢獻(xiàn)過代碼、也不精通白板算法贴硫、對(duì)技術(shù)也不狂熱椿每、不geek。我的目標(biāo)是做一個(gè)合格的程序員:把本職工作做好英遭,對(duì)得起自己的薪水间护,在生活與工作平衡,996什么的我是難以接受的挖诸。

對(duì)于程序員而言汁尺,技術(shù)過關(guān)當(dāng)然是非常重要的,這是硬實(shí)力多律。然而只會(huì)技術(shù)也是不行的痴突,畢竟大多數(shù)的程序員還是要與人打交道,軟實(shí)力也是不可或缺的狼荞。怎樣才能算合格辽装,我認(rèn)為有以下幾點(diǎn):

扎實(shí)的基礎(chǔ)

計(jì)算機(jī)領(lǐng)域是一個(gè)快速更新?lián)Q代的領(lǐng)域,每隔一段時(shí)間都會(huì)有新的語言相味、框架拾积、思想產(chǎn)生,追隨每一個(gè)新技術(shù)很累丰涉。但仔細(xì)想想拓巧,事實(shí)上并沒有那么多新東西。很多新東西只不過是已有技術(shù)的封裝昔搂、或者借鑒的其他領(lǐng)域的技術(shù)玲销。比如緩存數(shù)據(jù)庫redis、memcached摘符,其基本思想不就是操作系統(tǒng)中的緩存嗎贤斜;分布式存儲(chǔ)中的分片與復(fù)制集,不就是文件系統(tǒng)中RAID的擴(kuò)展嗎逛裤;還有Google的MapReduce框架瘩绒,不就是來源于函數(shù)式編程語言的map reduce嗎。掌握好計(jì)算機(jī)基礎(chǔ)知識(shí)带族,能夠更本質(zhì)的看待新技術(shù)锁荔。

善用工具

磨刀不誤砍柴工,打造好自己的工具集非常重要蝙砌。

開發(fā)中會(huì)用到大量的工具阳堕,不管是編輯器跋理、調(diào)試工具還是監(jiān)控工具。大家都喜歡爭(zhēng)論哪個(gè)IDE更好恬总,然而這并沒有多大意義前普,關(guān)鍵在于能夠熟練的使用自己喜歡的工具,掌握各種快捷鍵壹堰,高度自定義拭卿,這樣能夠大大提高工作效率。而且對(duì)于日常中重復(fù)的操作贱纠,最好腳本自動(dòng)化峻厚,這里推薦以下python,寫小工具還是很快的谆焊。

另外惠桃,強(qiáng)調(diào)程序員必備的兩個(gè)工具,那就是瀏覽器和VPN懊渡。后者大家都懂的刽射,不多說,主要是有了后者才能發(fā)揮瀏覽器的威力剃执。瀏覽器大家天天都在用誓禁,但是如何高效的使用,比如在指定網(wǎng)站搜索肾档、通過標(biāo)題摹恰、url過濾、選擇合適的關(guān)鍵字 還是值得研究一下怒见,對(duì)于程序員俗慈,要使用好瀏覽器,那還得具備下一個(gè)能力:英語

過得去的英語

不得不承認(rèn)遣耍,在軟件創(chuàng)新領(lǐng)域闺阱,國內(nèi)還是落后于國外的,新的技術(shù)舵变、一手的資料都是英文的酣溃。當(dāng)新技術(shù)被廣泛應(yīng)用之前,我們?cè)诎俣人训椒g要么是machine translated纪隙,要么錯(cuò)誤百出赊豌。看翻譯的最大問題取決于翻譯者本身的水平绵咱,即使翻譯水平都很高碘饼,但同一個(gè)單次往往有不同的翻譯,導(dǎo)致看文章的時(shí)候會(huì)有困惑,最好還是直接看英文原文艾恼。大多數(shù)原文住涉,除去專業(yè)詞匯、還是比較好理解的蒂萎,而且秆吵,我發(fā)現(xiàn)很多牛逼的項(xiàng)目,都有非常通俗易懂的文檔五慈。

良好的編碼習(xí)慣

代碼是寫給機(jī)器執(zhí)行的,同時(shí)也是給人閱讀與維護(hù)的主穗。維護(hù)者可能是別人泻拦、也可能是幾個(gè)月后的樣子。良好的代碼規(guī)范忽媒,必要的争拐、清晰的注釋可以讓自己少被問候祖宗十八代。

對(duì)于代碼風(fēng)格晦雨,網(wǎng)上爭(zhēng)議也很多架曹,最重要的是保持項(xiàng)目?jī)?nèi)的統(tǒng)一。做為技術(shù)負(fù)責(zé)人闹瞧,一定要在項(xiàng)目開啟之初就頂號(hào)規(guī)范绑雄,當(dāng)大量代碼被堆出來之后就很難統(tǒng)一了,然后做好新人的review奥邮。

保持學(xué)習(xí)

程序員這個(gè)職業(yè)万牺,相比其他職業(yè),可能還是要年輕許多洽腺。特別是在國內(nèi)脚粟,最老的一批程序員好多都轉(zhuǎn)管理了,再過10年20年蘸朋,我們會(huì)怎么樣呢核无,沒人知道。前段時(shí)間華為35歲程序員被離職的事情藕坯,給我們敲響了警鐘团南,悲哀之余,只有盡力學(xué)習(xí)了堕担,拼不過體力就拼能力與經(jīng)驗(yàn)吧

學(xué)習(xí)這個(gè)事情說起來就復(fù)雜了已慢,我覺得兩點(diǎn)很重要:基礎(chǔ)、學(xué)以致用霹购。

獨(dú)立思考

合格的程序員解決的是問題佑惠,而不是實(shí)現(xiàn)某個(gè)解決方案。產(chǎn)品經(jīng)理(特別是知道一點(diǎn)技術(shù)的產(chǎn)品經(jīng)理)的某個(gè)需求可能只是某個(gè)問題的解決方案,他認(rèn)為這個(gè)方法可以解決他的問題膜楷,于是把解決方案當(dāng)成了需求旭咽,而不是真正的問題。程序員應(yīng)該主動(dòng)溝通赌厅,多問幾個(gè)為什么穷绵,了解真正的問題,也許能有更好的解決方案特愿。

之前就有這么個(gè)例子仲墨,給到的需求:為每一個(gè)用戶(用戶有唯一的id標(biāo)示)生成一個(gè)唯一的邀請(qǐng)碼,同時(shí)也要為未來一段時(shí)間可能增加的用戶預(yù)生成邀請(qǐng)碼揍障,保存到數(shù)據(jù)庫目养。而真正的需求是老用戶分享自己的邀請(qǐng)碼,如果新用戶使用了該邀請(qǐng)碼毒嫡,則老用戶獲得相應(yīng)獎(jiǎng)勵(lì)癌蚁。而我提出的方案很簡(jiǎn)單,直接用戶的唯一id生成可逆的邀請(qǐng)碼兜畸,這樣就根本無無需數(shù)據(jù)庫存儲(chǔ)努释。

1089769-20170916162528875-1551111974.gif

產(chǎn)品經(jīng)理經(jīng)常改需求這是程序員最頭疼的事情,作為程序員應(yīng)該也站在PM的角度思考咬摇,幫助PM分析出本質(zhì)的需求伐蒂,這也許可以減少需求的變更。當(dāng)然菲嘴,前提是得干一行愛一行饿自,需要對(duì)業(yè)務(wù)有一定的了解。

先思考后行動(dòng)

寫代碼的時(shí)候先想清楚了再下筆龄坪,而不是先寫出一堆代碼昭雌,然后在開始修bug。

休bug的時(shí)候健田,多看看上下文烛卧,搞明白為什么出bug,修改這個(gè)bug可能帶來的影響妓局,然后再修改总放。反面教材有兩種:第一種隨便改改就把代碼改好了,但自己心里并不清楚為什么這樣修改就修好了好爬,撞運(yùn)氣局雄,也許還有其他同樣的bug也發(fā)現(xiàn)不了。另一種就是存炮,頭痛醫(yī)頭腳痛醫(yī)腳炬搭,不仔細(xì)評(píng)估修改的影響蜈漓,這樣往往會(huì)引入新的問題。

程序員成長(zhǎng)的一個(gè)辦法就是修bug宫盔,修別人用不了的bug融虽,但前提是搞清楚bug的緣由,這樣才能避免類似的錯(cuò)誤灼芭,有所收獲有额。

順暢溝通

不是巧如舌簧、也不是忽悠達(dá)人彼绷。需要的只是耐心傾聽巍佑,然后清晰表達(dá)自己的意見。

現(xiàn)在的軟件開發(fā)寄悯,已經(jīng)不再是單打獨(dú)斗的年代句狼,大多數(shù)的軟件、產(chǎn)品都需要多人热某、多部門的協(xié)作。而交流胳螟、溝通是非常耗時(shí)耗力的昔馋。溝通之前,先想好目標(biāo)糖耸,組織好語言秘遏,盡量不要發(fā)散、不要跑題嘉竟,對(duì)事不對(duì)人邦危。對(duì)于重要的事情,保留溝通記錄舍扰,最好有郵件倦蚪,免得說不清。

溝通是門復(fù)雜的藝術(shù)边苹,最基本是聽明白陵且、說清楚。

管理好自己的暴脾氣

1089769-20170916162445891-1537747440.png

作為 一個(gè)程序員个束,要被PM懟慕购、要被交互懟、要被QA懟茬底,再變態(tài)的需求都可能有沪悲,QA給你提的BUG可能也不屬于你。而且阱表,還有豬一樣的隊(duì)友(自己在別人眼里何嘗不是這樣呢)和下屬殿如。不管誰是誰非贡珊,發(fā)脾氣、吵架都一點(diǎn)用沒有握截,吵完還是得解決問題飞崖。calm down,有怒火也得等個(gè)幾秒再發(fā)作谨胞,也許這幾秒理智思考一下固歪,就能解決問題。

負(fù)責(zé)任

能力(技術(shù)能力)與責(zé)任心誰更重要呢胯努,都重要牢裳。如果一個(gè)新人有培養(yǎng)的潛力,那么責(zé)任心就更重要叶沛。兩個(gè)人蒲讯,第一個(gè)技術(shù)能力很強(qiáng),但責(zé)任心很差灰署,對(duì)項(xiàng)目的事情也不上心判帮;第二個(gè)能力差些,但責(zé)任心強(qiáng)溉箕,是自己的問題一定負(fù)責(zé)到底晦墙,即使自己不能解決也能主動(dòng)詢求幫助。我覺得前者對(duì)項(xiàng)目的危害更大肴茄,特別是項(xiàng)目緊要時(shí)期晌畅,因?yàn)槟芰?qiáng)的人一般負(fù)責(zé)的是比較復(fù)雜、困難的功能寡痰,別人上手也需要時(shí)間抗楔,這個(gè)時(shí)候如果摞擔(dān)子,bug也不修拦坠,那么就很為難了连躏。

不負(fù)責(zé)任的典型表現(xiàn)就是扯皮、甩鍋:這不是我的bug贪婉、不關(guān)我的事反粥。有協(xié)作的地方更容易出現(xiàn)問題,比如前端與后端疲迂、各個(gè)部門之間才顿。如果不清楚到時(shí)是誰的問題,不妨主動(dòng)一點(diǎn)尤蒿,幫助排查郑气。

不要總是說不會(huì)

作為程序員,總有一些工作是以前沒有做過的腰池,也許來自產(chǎn)品人員的需求尾组,也許來自項(xiàng)目自發(fā)的優(yōu)化忙芒。我見過一些程序員,在面臨未知的問題讳侨、挑戰(zhàn)時(shí)呵萨,總是習(xí)慣于說:不會(huì)、沒辦法跨跨、不可能潮峦,這樣的程序員就算不上合格的程序員。事實(shí)上勇婴,這樣的程序員是給自己過早地留好退路忱嘹,事實(shí)上問題可能并沒有想象得那么困難,也許經(jīng)過一番探索就能解決耕渴。如果習(xí)慣于對(duì)未知說不拘悦,那么在別人看來就是能力不行,影響個(gè)人形象與聲譽(yù)橱脸,而且總是待在自己的舒適區(qū)也不利于自我成長(zhǎng)础米。

當(dāng)然,也不是說要盲目自信添诉,急于拍胸脯保證一定能解決椭盏,這樣往往是坑自己。

所以吻商,面對(duì)新的需求,謹(jǐn)慎對(duì)待糟红,既不輕易否決也不隨意承諾艾帐,而是再理清需要先去研究一下,評(píng)估是否能完成盆偿,需要的資源與時(shí)間柒爸。

暫時(shí)就想到這么多,當(dāng)然我也還不達(dá)標(biāo)事扭,比如容易控制不住自己的怒火捎稚,與君共勉吧

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市求橄,隨后出現(xiàn)的幾起案子今野,更是在濱河造成了極大的恐慌,老刑警劉巖罐农,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件条霜,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡涵亏,警方通過查閱死者的電腦和手機(jī)宰睡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門蒲凶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拆内,你說我怎么就攤上這事旋圆。” “怎么了麸恍?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵灵巧,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我或南,道長(zhǎng)孩等,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任采够,我火速辦了婚禮肄方,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蹬癌。我一直安慰自己权她,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布逝薪。 她就那樣靜靜地躺著隅要,像睡著了一般。 火紅的嫁衣襯著肌膚如雪董济。 梳的紋絲不亂的頭發(fā)上步清,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音虏肾,去河邊找鬼廓啊。 笑死,一個(gè)胖子當(dāng)著我的面吹牛封豪,可吹牛的內(nèi)容都是我干的谴轮。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼吹埠,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼第步!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起缘琅,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤粘都,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后刷袍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體驯杜,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年做个,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鸽心。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片滚局。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖顽频,靈堂內(nèi)的尸體忽然破棺而出藤肢,到底是詐尸還是另有隱情,我是刑警寧澤糯景,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布嘁圈,位于F島的核電站,受9級(jí)特大地震影響蟀淮,放射性物質(zhì)發(fā)生泄漏最住。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一怠惶、第九天 我趴在偏房一處隱蔽的房頂上張望涨缚。 院中可真熱鬧,春花似錦策治、人聲如沸脓魏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茂翔。三九已至,卻和暖如春履腋,著一層夾襖步出監(jiān)牢的瞬間珊燎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來泰國打工遵湖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留俐末,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓奄侠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親载矿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子垄潮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,770評(píng)論 25 707
  • 小鐘老師的兒童插畫班馬上要結(jié)束了......而我還在補(bǔ)之前的作業(yè)(哭)。在水彩人物中人物的膚色的畫法算是一個(gè)小難點(diǎn)...
    斯費(fèi)閱讀 6,699評(píng)論 0 25
  • 一闷盔、實(shí)驗(yàn)?zāi)康?學(xué)習(xí)用匯編語言設(shè)計(jì)與編寫循環(huán)程序 二弯洗、實(shí)驗(yàn)要求 按15行X16列的表格形式顯示ASCII碼為10H一...
    wangchuang2017閱讀 992評(píng)論 0 0
  • 聽著別人的故事牡整,你流淚了,不是你脆弱溺拱,不是你淚點(diǎn)低逃贝,而是那時(shí)那刻谣辞,你與故事里的主人翁或者講故事的人產(chǎn)生了同頻共振,...
    Honglan閱讀 584評(píng)論 0 2
  • 非常幸運(yùn)能參加天使班沐扳,我接觸易效能已經(jīng)一年半了泥从,這一年多對(duì)我的改變非常大,我原先是一個(gè)上班遲到沪摄,工作拖延躯嫉,腦...
    B組趙娜閱讀 167評(píng)論 0 0