一個十二年老程式猿的碎碎念
我是一名程式猿,在上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
相關文章
- MongoDB碎碎念MongoDB
- 碎碎念八六
- 碎碎念八八
- 近日一些碎碎念
- 資料結構碎碎念(一)資料結構
- 前端開發碎碎念前端
- os 八股碎碎念
- 日誌列印的碎碎念總結
- 計算機知識碎碎念計算機
- 計算機核心論文投稿的一點碎碎念計算機
- 關於近幾年獨立遊戲的碎碎念遊戲
- LeetCode刷題開始,碎碎念LeetCode
- 關於《What Remains of Edith Finch》的一些碎碎念REMAI
- 碎碎念軟體研發02:敏捷之Scrum敏捷Scrum
- 我的2022年-總結、感悟、碎碎念
- 關於AI訓練資料侵權的碎碎念AI
- 雜談 —— 關於面試、實習、保研的碎碎念面試
- 位元組國際化TnS演算法實習的碎碎念演算法
- React-Native 系列視訊失效補鏈及一些碎碎念React
- 海康威視值得去嗎?老年硬體工程師的碎碎念工程師
- 碎碎念研發01:敏捷簡史和幾種軟體開發模型敏捷模型
- 一些零碎程式碼
- Python零碎筆記一Python筆記
- 總結下最近一個月零零碎碎做的事
- 零碎示例整理
- oracle知識碎記Oracle
- 零碎知識
- 摘抄——《病隙碎筆》
- 閒言碎語話程式設計 (轉)程式設計
- [oracle零碎筆記]oracle零碎筆記(持續更新…)Oracle筆記
- oracle學習筆記零碎(一)Oracle筆記
- 併發程式設計瑣碎知識點程式設計
- 關於http的瑣碎筆記HTTP筆記
- PHP那些瑣碎的知識點PHP
- js中零碎點的整理JS
- Vue 零碎記憶2Vue
- C語言瑣碎知識C語言
- 前端零碎知識點前端