一個十二年老程式猿的碎碎念

williamnet發表於2018-03-15

  我是一名程式猿,在上95年上初中的時候,別的還在都在打籃球、踢足球的時候,我就已經在玩QBasic了,每逢跟其他程式猿說起這段的時候,大家都會投過來羨慕的眼光,其實沒有你們想的那麼好,反而挺悲催的,當時的同學們都不知道我在說些啥,另外我至今都不會打籃球、踢足球。果然不出意外(不會有意外的,我大學填報的所有志願都是計算機系)的大學畢業後做了一枚程式猿。

  工作到現在有十二個年頭了,大部分工作都是做開發,當然也做過些別的,幹過銷售,跟朋友合夥創業等等,不過我依然還是喜歡做開發。

  就在工作2年,寫了2年程式的時候,我覺得自己太蔫兒了,程式猿嘛,更願意低頭做事而不是抬頭說話,於是決定辭職去做了半年多銷售,就為了練練嘴。現在我還清晰的記得打第一個推銷電話的時候,我提前寫好了稿子,緊張的面紅耳赤,撥通電話就照著稿子念,等我念完了發現對方早掛了。不過就這樣一點點的磨過來了,拿了個年度銷售冠軍,然後毅然辭職,又跑去寫程式了。喬丹曾說過:“如果沒有去打棒球的話,都不知道自己有多麼的愛籃球”。我也借用這句話:如果沒有跑去做銷售的話,都不知道自己有多麼的愛程式碼。

  我算是比較幸運,把自己的愛好作為了職業,可以親手將一個產品從無到有的打造出來的喜悅感還是非常滿足的。雖然很多時候都是在解決需求、改bug這些枯燥的事情吧,這就好像你喜歡玩遊戲,但是職業化的一遍又一遍的重複一個遊戲也是很鬱悶的。我還有一個愛好就是攝影,我絕不去做職業攝影師去,保持這個愛好就是愛好,純玩兒。

一個十二年老程式猿的碎碎念

  曾有一個段子說:一個妹子問一個程式猿如何讓一幫不愛說話的程式猿活躍起來,那個程式猿說了一句PHP是最好的語言。。。很多程式猿都喜歡站隊,所謂站隊就是自己在玩某某語言的時候,就會覺得這個語言很強大,自然而然的就站了隊了。

  我們的身邊充斥著寫java的看不上寫.net的,寫c的看不上一切,node異軍突起,python批評ruby垃圾效能,高富帥swift從天而降,PHP是最強語言等等。。。

  十二年前,我剛工作的時候,寫醫療軟體,用VB寫介面,用VC寫功能封裝dll,當時覺得VB,VC太強了,結果現在它們基本都死了。

  同樣的還有:

  我寫過Dephi,死了。。

  我寫過asp,死了。。

  我寫過塞班,死了。。

  我們更應當做的是跳出語言的框框,程式設計注重的是思想,而非語言。

  有人不屑於C#的lambda表示式,認為這就是個語法糖。其實你可以把它看作為將冗餘的迴圈判斷重構為一句話,IT行業很多時候都是在給其他行業做提升效率的工作,輪到我們自己為啥就不能提升下開發效率呢,程式猿挺苦逼了,吃塊糖咋了?

  有人不屑於.net的閉源,但是微軟正在把很多.net的東西開源了,反觀oracle跟Google的java官司有一種oracle要玩死java的趕腳啊。

  有人不屑於java的呆板,但是java不計其數的開源框架支撐這個古老而又現代的帝國。

  有人不屑於js就是個指令碼,但是node異軍突起,正在逐步向後端深入。

  跳出語言的框框吧,作為一枚程式猿,我們更應該重視的並不是語言本身,語言只是一個工具罷了。

一個十二年老程式猿的碎碎念

  有一篇雞湯說:兩個人在工地搬磚,有人問他們你們在幹嘛,一個說我在搬磚,另一個說我在建造大樓。幾年後說搬磚的人還在搬磚,而說建造大樓的人通過進修一點點做到工程師了。

  這雖然是一篇雞湯,但是確實說明白了一個到了,就是你的思想決定了你的行動,影響了你的結果,當然對於程式猿更是如此了,因為我們是碼農,沒了思想就是一個搬磚的。

  舉個例子:如果有一天pm告訴你,要做一個朋友圈這樣的產品,你會怎麼做?

  初級程式設計師會怎麼做?

  1,建立使用者表、使用者朋友圈發的內容表、點贊評價表,然後做表表關聯。

  高階一點的程式猿還會想到什麼?

  2,圖片要做壓縮吧,現在手機動不動1000多w畫素,一張圖片好幾m,不壓縮的話先不說伺服器壓力,使用者重新整理一下朋友圈這個月的流量就沒了的話,一定會馬上刪應用罵街的。

  3,圖片要分散式儲存吧,CDN如果引入的問題。

  4,辣麼多表做關聯,響應的問題,併發的問題,快取怎麼搞。

  5,資料量大了的話,分庫拆庫是否要提前計劃好。

  6,發朋友圈要有訊息通知嗎?如何做?

  7,資料量大了之後用多表關聯的方式是否還合適?

  還有一些也許pm並沒有說到的細節呢?

  8,朋友圈一定就是9張圖片嗎,以後會不會要求增加呢,當年微博還要求必須140個字呢,現在也沒限制了,如果你資料表只是設計了9個圖片欄位的話。。。

  9,圖片是否要預留加入ps、美顏等功能的考慮呢?

  10,使用者選擇圖片的時候是否可以多選,選擇圖片的列表是不是應該按照時間倒序排列?

  11,pm只說了發朋友圈,那麼修改刪除呢?

  12,評論、點贊修改了刪除呢?刪除後已發出的訊息怎麼辦?

  如果你只考慮第1的話,那麼不好意思,你就是在搬磚呢。

  如果你考慮了2-7的話,恭喜你是一個合格的程式猿。

  只有考慮到了8-12,才是那個不僅僅在搬磚的程式猿。

  有人會說了8-12這些應該是pm做的事情啊,pm沒說就不做啊。還是那句話,如果pm告訴你什麼你就做什麼的話,那就是在搬磚,只是在完成工作罷了,而不是在打造一款真正的產品。

一個十二年老程式猿的碎碎念

  以上,我這個十二年的老程式猿的碎碎念。

  作者:williamnet
  連結:https://www.jianshu.com/p/072b262cd089

相關文章