程式設計師 你可以更優秀些

李文亮發表於2014-02-08

  我02年上大學,就開始折騰程式,轉眼到現在已經13年有餘啦,從最開始連“程式”二個字是什麼都不知道,到現在靠這東西養家餬口,確實在程式開發的路上走的挺遠。儘管到現在,我都沒有去考而且也沒有拿到任何印有“程式設計師”三個字之類的證書,但我仍然認為我是個的程式設計師,因為我的程式一直在很多企業及政府單位的伺服器上執行著,我的程式碼量也在那裡擺著。

  程式設計師是一個非常糾結的職業,為什麼說糾結呢,是因為這代表著這個職業這些年來有太多的變化,如果你和我一樣從02年開始就去了解這個職業,那你應該也會有所感觸,這個職業應該經過過以下這幾種詞彙:“哇,厲害”,“高手”,“工資很高”,“高深”,“遙不可及”,“電腦高手”,“大部分戴眼鏡”,……,“晚上一兩點都沒睡”,“滿大街都是”,“程式猿”,“天天加班”,“碼農”,“苦逼的程式猿”……還有很多,從網路裡不同的程式設計師的聲音裡可以看出程式設計師這一職業這些年來的變化。

  我10年自己開始創業,從開始的軟體工作室做到現在的公司,創業三年了,一路走來,雖然艱辛,但也用自己的汗水、手指、伴隨我5年之久的thinkpad筆記本,以及經常的加班熬夜,以及頂著無窮的壓力,養活著自己,家人,養活著過去的和現在的員工,算下來也有一大幫人啦,人最欣慰的事情就是讓一堆人能填飽肚子。。

  從打工到創業身份的轉變,也就是從員工到老闆的身份的轉變,我對每一種角色的感覺也是挺深的,當員工的時候,我們有許許多多的理由覺得公司哪裡不對,老闆哪裡不好,也能夠找出很多理由來說明,而自己做了老闆之後,我也才覺得這就是一個哲學的問題,永遠的矛盾,所以真的感觸很多,在2014春節將至,自己有很多話,也有很多事需要總結和分析,主要是在程式開發上,想寫給自己,還有以往的、現在的、將來的同事、以及從事程式開發工作的朋友,希望大家都可以相互學習,也進行自我思考,如果對你也有些幫助的話。

  你既然選擇了做一個程式設計師這樣的職業,不管你在哪一個公司,那你還是要花些時間正視一下自己,好好定位一下自己。不妨從以下幾個方面思考,也表達了我從一個發工資者的身份對領工資者的期望,也許對你會有幫助:

  1、你的目標是什麼?

  你選擇程式設計師是因為你對程式開發的熱愛?還是因為覺得這個行業高薪?還是兩者都有?或者是希望通過自己的不斷努力攀爬到更高的職位或到更好的公司入職,如谷歌微軟,然後名利雙收?我在11月份也寫過一篇日誌(程式猿,是煉出來的),裡面也說過“如果你選擇走程式設計師道路的初衷只是僅僅因為找份工作,或者是找份高薪的工作,那你一定不會成為優秀的程式設計師,永遠只能是苦逼的碼農,而且也不會拿到高薪。。如果你在程式設計方面的學習僅限於在辦公室上班時間的話,你離失去這份工作將不會太遠。。。 ”確實是有感而發,當然不是絕對,但對大多數人而言,我認為是對的。像我這種從程式設計師、專案經理……但凡軟體開發過來的每一個職位大都經歷過來的人,我想我說的這話還是有些道理的吧。

  你想在工作中拿到更多的錢,最好的辦法不是跟老闆談條件或抱怨,或在工作中用怠工、懶散、惰性、不太聽話、消極的態度等去暗示你不滿意你的工資待遇,如果你曾經這樣幹過,只能說明你不夠聰明,而且基本上受傷的都是你,你如果足夠聰明,那你應該做的是想辦法把事情做得更好,你做出的成績得到認可,當然也你要選對老闆,就是不黑心的老闆,有很多人會說做得再好還不是那樣?老闆還不是一樣的,確實,有很多老闆確實是不管你做多好,就只給你發乾工資的,但我不是。
    只要老闆不黑,即看到你的成績或態度,會給你回饋的,同時公司專案不斷,即企業的出路和明天都不是問題,那你就努力地去做好工作,做出成績就可以。

  2、什麼是程式設計師?

  你可以沒有程式設計師證書,你甚至不用讀大學,甚至沒有上過小學都沒關係,只要你從事程式設計開發工作,並且有自己的程式設計能力和思維,我都會承認,你是一個程式設計師,但我會有我的標準來評判。開發能力我會放在第二位,放在第一位的是你的從事程式設計師方面的人格素養及心態,因為這個遠遠比你的能力更重要。 

  開公司到現在最頭痛的問題就是用人,招人不好招,用人也不好用,對於像我這樣白手起家創業的人來說,這個問題顯得非常突出。。事實上跟同行和起點差不多的老總朋友聊下來大家情況差不多,但分析下來其實也不是說工資多少與人的能力怎樣的問題,有時候看到一個年輕的程式設計師們,能力嘛也沒怎麼,工資倒是要求很高,還動不動就可能要換工作,沒有責任心,我很想不通,我很納悶我們80初的程式設計師和80末90初的程式設計師在做事及責任心有如此大的差距,我記得當初剛剛工作的時候,老闆安排專案下來,一方面自己要努力做好,一方面自己不太熟悉的地方會想辦法自己晚上加班到兩三點鐘不停地研究,甚至到天亮的都有,還害怕老闆看我做不出來懷疑我的能力,現在的年輕人倒好啦,凡事都是不說難,只是稍稍麻煩,就直接把問題推給你,把問題歸給客戶,那你算什麼?我花錢請你來幹什麼?客戶和老闆兩邊都來求你?來看你臉色?每次協調下來就是誆著你把事情做完,只是我的大度和包容而已,其實你能寫的程式碼,我也能寫,而且可能分分鐘就搞定,我能寫的,你就不一定寫出來哦。

  在我的大腦裡:一個優秀的程式設計師應該會經歷的三個階段是最想寫,最能寫和最會寫,成長的道路也會伴隨別人都睡去而你卻精神抖擻研究你的程式的日子,或是白天,或是深夜,如果這些你都沒經歷,我一定不敢相信你是個優秀的程式設計師,當然你可能確實是,只是我不相信,我們是怎麼磨練過來我知道,而且我不相信滿大街都是天才和神一樣的人物,而且我也不相信你比我聰明更多。。。

  我對程式設計師,專案經理,技術總監的要求,在程式開發能力上,簡單定義就是:

  程式設計師:至少掌握一門開發語言,瞭解不同語法的操作原理,能夠用語言編寫符合業務需求的程式,瞭解介面與不同的資料庫互動原理,語法的效能就是不同程式設計師的水平問題啦。

  專案經理:你除了包含上述的程式設計師的能力外,你要有完整的獨立專案開發經驗,會站在客戶的角度來驗收專案,你要會寫文件,會和人打交道,會抽菸會喝酒(當然不是必須),因為你要面對的是客戶,同時要面對下面的組員,雙面膠。所有人(包括我的員工)都可以對照此條,回想你和客戶及你的經理溝通的時候,如果存在問題,那隻能說明你還沒具備專案經理的基本能力。

  技術總監:除了掌握上面兩種角色的技術外,你需要具備的技術則多得更多,因為不是所有人都能做到技術總監,因為有些人就是努力一輩子,也不一定能作技術總監,因為做程式也需要悟性和機遇,不是單單靠努力或時間積累。那簡單來說,需要掌握的,就是掌握不下三五種語言吧,現在的主流開發語言你要會吧,起碼有一到兩門是你精通的,其他的話,你不說精通也可以達到普通程式設計師開發的能力吧,簡單來說你不受語言限制,即只要客戶的需求符合常規,你不管用什麼語言都可以實現,拿到一門新的語言,你開啟幫助文件或查閱相關的示例幫助或教程,就能夠快速搭建環境,快速學習該語言體系並用之於專案開發,掌握相關要領吧,這時候你不一定要做具體的開發工作,但程式碼總要寫的吧,起碼框架應該是你來定,如果所有程式碼都不寫,那我們直接喊你做老總算啦,不叫總監啦。除了開發言語,你要掌握系統安全,網路技術,硬體技術,網路訪問與併發的問題,大資料量的處理辦法(我不需要你有很好的辦法而且你也不可能有,但我希望你知道原理和知道怎麼去處理),還有人員分配與成本控制,時間預算等,同時你要掌握不同應用的前沿技術或不同應用的難點所在吧,這樣才能給團隊做一下引領,如C/S程式,B/S程式,或者手機應用的注意事項及經驗所在。。

  3、你的工作現狀是什麼?

  你現在每天的工作現狀是什麼?是每天根據經理的需求來忙碌的編寫?或者有時候可以偷偷懶?或者經常跟同事或領導討論技術?討論專案中的一些業務不合理性?或者有更好更科學的辦法?你會因為專案進度的問題而擔心嗎?你會自己因為下班或週末因為沒有把工作做完而自己在辦公室寫東西嗎?如果這些你都沒有,我覺得你問題很嚴重啦……如果你把安排的任務僅僅當作任務來完成,那你確實太需要再進步些啦。

  有篇文章(一個很牛的老闆罵人的話),作為每個員工,我覺得好應該看他個十遍,“別把老闆和上司當傻子,他裝傻不等於真傻,不追究不代表他不記得,只是他給你機會去磨練,你的這些小伎倆他早就比你耍的專業幾百倍了,不然他也不敢坐上這個位置。 ”你們每天花在QQ上,花在上網,花在群聊,花在和自己男女朋友聊天,花在網購,花在和其他人報怨公司等等等的時間,我分分鐘都算得出的。。如果你真覺得你這麼聰明幹嗎你不是老闆而老闆不是你員工呢?

  你有工作彙報的習慣嗎?你經常性提前完成任務嗎?你經常和團隊的同事聊天和探討一些整合以及技術問題嗎?你有在公司上班已經超過兩月然後請過同事吃過一次飯或者哪怕是喝杯飲料嗎?如果沒有,我覺得你是有問題的。如果彙報都是上司問才彙報,你是有問題的。如果從未主動和同事討論問題,你是有問題的。如果從未請同事吃過飯甚至一杯飲料的,我認為你是有問題的,而且我敢保證你花個幾塊錢請別人肯定會請回來。所有同事,我都請不低過3至5次吧,有幾個請過我?當真我希望請我幾塊錢?作為老闆起碼要比你有錢多得多嘛。

  4、你的能力和你現在的收入是否對等?

  關於收入分配問題是全球性的問題,也是一個永遠的矛盾,所以我我無法單方面去下定論,我用一個專案為例,大家一起來算吧。

  某專案10萬,上稅正常成本5千,假設計劃三個月,兩個開發人員,工資5千,三個月如果正常開發完,那按下面這種方式謀算: 

  專案總額:10萬

  上稅成本:5千

  工資成本:3萬

  基礎成本: (需求調研和跟客戶打交道來回車費,電費,電話費,寬頻費等等等等)1萬

  這樣大概算下來好像老闆賺5萬5對不?

  如果每個專案都這樣理想化,我寧願拿這5萬5中的1萬當作獎金,每人5千,那這三個月來,我們三個人的收分別為:

  老闆:4萬5

  員工:2萬

  在這樣理想化的狀態下算出來的結果,你覺得不公平麼?老闆投錢,老闆能力比你強,同樣時間內收入是你兩倍很正常。

  但是,往往真就三個月就把專案開發完麼?往往導致專案拖延的,有開發團隊的原因,有甲方本身需要等待的原因,這個都無法避免,不管是什麼原因導致,晚一個月,那老闆的損失的就不是倆個人一月的工資哦,晚兩個月呢?晚三個月呢?公司每個月報稅呢?

  而且還要特別補充的是,這帳算的還不包括房租水電和寬頻,還有老闆自己的工資呢?員工工資5千,老闆定一萬不過分吧。而且如果你是開發員的其中之一,你確認10萬的專案就只安排兩個人你有把握能做好不?有信心不?敢打包票不?而且開公司的人都知道,這樣簡單的算帳就像個笑話一樣,你聽說過顯性成本和隱性成本嗎?一個專案做下來肯定不會賺那麼多,而且還有後期的維護呢?維護的工資誰來出呀,不發你工資你來維護你肯不?

  如果你有腦子,你肯定會算的

  如果算通了,就換位思考一下,我們在抱怨的同時,想一下如果你是老闆的話,再想想你所做的工作,以及工作中的那些態度,也許你會感恩其實老闆對你已經很仁慈啦。。

  想拿更高的薪水,就再多努力些吧。

  所以就這一個問題進行總結就是:以上面專案為例,還是理想狀態下的假設,如果三個月你正常做完並順利交付,老闆不發你5千的獎金,是老闆的錯,如果你兩個月做完,不發你一萬的獎金,是老闆的錯,如果你一個月做完,不發你兩萬的獎金,是老闆的問題。如果前面這些情況都沒出現,我覺得你沒有任何資格報怨什麼你的待遇不公平,要報怨也應該是老闆來報怨,做得不好的,超過時間的,老闆反過來喊你貼錢,你肯不?所以凡事要學會換位思考才行。

  5、我們們換位思考一下,如果你是老闆。

  自己思考吧,如果你是老闆,只有你想不到的,也有你做不到的,因為你不是老闆,大家現在開始想吧。。。

  以下是我從個人角度說出的話:如果你是我員工,我希望你是一個好學,而且有一點智慧的人,我希望你有責任心,心中對專案的重視程式和我一樣,盡力去做好,滴水之恩,定當湧泉相報,我肯定能做到這一點的。不管是以前的、還是現在的、所有用過的員工,我都可以拍著胸脯說,我發的工資,不管多少(任何人,不管你在我這裡領過1千8,兩千,兩千二,兩千五,三千,4千,4千五,五千,5千五,6千五,8千五,1萬,1萬+),我可以說沒有對不起任何一人在我這裡創造的價值,即便在我最困難的時候,我透支信用卡都要發工資。我是從程式設計師出身做創業的人,雖然不像大公司給你足夠好的待遇,但我說過這裡沒有黑老闆,你的工資多少由你創造的價值決定,到目前為止沒有出現讓大家閒著沒有專案做的時候,只有不停地做,三個月的專案做個六七個月都沒有做完的,你告訴我專案獎從何來,而且我把獎金都還全發了的呢,但凡你能做到工作中不用我說,工作沒做完時,你自己加班或自己家都會偶爾熬夜去完成,把多出的三五個月的時間省下來,我不發你兩個月的獎金你可以把我電話號碼和姓名拿到大街小巷去貼,到處去罵都可以的。

  如果你再做我員工,或即將做我員工,你一定要有個心態,盡力去做好吧,你的收入肯定是由你創造的價值決定,這裡沒有黑老闆。而且你也要提升自己服務意識,一定要具備“客戶虐我千百遍,我待客戶如初戀”的心態和能耐,如果有一天我喊你改一些需求,不管是什麼原因造成,哪怕是重複,還要讓我看你臉色的話,你就可以滾蛋了。。。

  2014年,我會做個很乾脆的人,也意味著不慘雜個人情感在人員管理上, 該咋調整咋調整,該咋改變咋改變。。如果我不變,企業就只有死。

相關文章