本文旨在用最通俗的語言講述最枯燥的基本知識前端
今日,看到有些文章對碼農和程序員作了一些界限劃定和差別分析,嚇得做者趕忙研究一下本身屬於哪一個身份,但當仔細查看了這些文章後,發現其實對於寫代碼的人來講,無非就像周星馳嘴裏的」龍套「和」演員「之分,頓時感悟,你是屬於碼農仍是程序員,並非外界給你定義的,而是你本身對這份職業的態度和付出而造成的一個一種身份。恰好能夠藉助這段時間做者的一些所見所聞,寫幾個故事,逐一分析。程序員
文章提綱:數據庫
- 有趣的碼農
- 程序員的自我修養
- 寫一下工做週報吧
- 不要離公司太近了
最近忙於對公司某個項目進行重構,幾乎全部時間都花在搭建架構和編寫規範等文檔上,以往都是我分析需求、建好數據庫表結構、定好開發流程,再把任務分配下去,如今只能把大部分新需求直接交給項目的小夥子來處理。編程
前兩天有個需求是對用戶播放視頻的行爲進行數據收集,我直接把需求丟給小夥子讓他全權把控,脫離了個人約束,他也玩的不亦樂乎,三下五除二地就把功能給實現了;提交代碼上來後,我瞟了一眼表結構,其中存儲播放行爲的記錄的表名叫作「video_play_log」,當時我內心就咯噔了一下:這名字起的有點侷限性啊,但因爲時間緊迫,我也沒過多的糾結。安全
後來過了一週,PM跑過來跟我說:「運營反映上次作的用戶播放視頻的行爲數據收集對運營頗有幫助,他們但願對音頻也作一樣的功能」,我內心想:小夥子這下好了吧,如出一轍的需求,你是把音頻數據放到video_play_log裏仍是給播放音頻的記錄建一個新表「audio_play_log」呢?架構
事實上,這樣的現象在開發中家常便飯:app
當上級須要作什麼事情時,就循序漸進的作事情,幹着體力能及的活,拿着適可而止的工資,也不作過多思考,需求寫完交差,按時上班、準點下班、對代碼不作抽象,也不想解耦,更不會從可擴展性方面思考功能的實現(固然,有些人可能不具有這種大局思惟的思考能力,勿怪~)。在領導看來,不差也沒有很好;在同事看來,不菜也不是大牛,在本身看來,恰好無慾無求。ide
誠然,對本身的代碼沒有太多思考和追求的程序員,這類人能夠稱之爲碼農了吧,固然也沒有說碼農就是很差,沒追求就是很差,每一個人對本身人生的定義不同,追求也不同,當你的理想就是要作這樣的一個碼農時,嗯,這就夠了。函數
可是當你不停的看到《碼農將被機器人替代》、《老程序員應該被僱傭的五大理由!》、《程序自動生成代碼》…等之類的新聞報道或者文章時,你的心裏感到恐慌:你懼怕被老闆拋棄,懼怕被機器機器替代,懼怕你所作的工做在這個世上一文不值時,你就應該思考:
本身應該作一個無慾無求的碼農,仍是有思想的程序員。工具
「我不是一個死跑龍套的,我是一個演員」
多少人奉周星馳的《喜劇之王》爲電影中的經典,但是有多少能像電影中星爺那樣義正詞嚴地告訴別人:
」我不是一個寫死代碼的碼農,我是一名程序員「
其實要作到並不難,一我的,不管他的身份是程序員,仍是掏糞boy,抑或是白衣天使;思考能力,都是人能把任何一份工做作好的必要前提。
一個需求發出,有人拿到了就埋頭苦幹一通,作出來的東西漏洞百出且擴展性極差。有的人拿到需求以後花一些時間思考,分析需求、拆分邏輯和功能,對於不合理的設計和產品討論獲得確切可行的方案以後,纔開工,架構和流程儘量作到具備彈性和擴展性。
一個頁面報錯,有的人忙的滿頭大汗,折騰了一天也沒找到問題。有的人卻思考問題出現的可能性,使用排除法和調試法,先分析錯誤碼,再定位問題是出如今前端仍是接口,定位出來以後,再對邏輯代碼進行調試分析,沒多久就把問題找到而且修復了bug。
一份代碼的編寫,有的人東拼西湊,面向過程式的編碼,最終功能實現了,代碼冗長易讀性差,本身也沒學到什麼東西。有的人會先思考分析應當如何寫、哪些業務應該分層、哪些邏輯應該怎麼走、哪些代碼塊應該抽象出來…最終編寫出來的代碼整潔可讀性強、可維護性高,有些抽離出來的代碼也可能成爲本身的得力工具。
所以,思考能力,是你要想寫好一份代碼,作一個有修養的程序員是一個必備能力,在平常的開發工做中,當拿到一個需求時,咱們應該去思考:
這是一個很奇怪的觀點。
其實咱們內心都有數:程序員都不喜歡寫週報,以爲那是文縐縐的幾句話一個清單,浪費時間還吃力不必定討好,有些上司不是程序出身的,發給他也不必定看得懂。
在此我修正一下:這裏所說的週報,並非交給上司那一份,而是交給你本身的那一份。
爲何是交給本身的一份週報呢?我怎麼沒有交給本身呢?
在此我想大家本身心裏回憶一下:上週你作了哪些工做?解決了哪些問題?碰到了哪些坑或技術難點?如何攻克?
可能90%的人都會記得,那麼再上一週呢?上一個月?上一年呢?
相信沒幾個記得吧
你是否曾經由於花了一個通宵攻克下來的功能而興奮自豪的睡不着?
你是否試過一個bug百思不得其解,最終網友幫你解決了,讓你學到一些你沒學過的只是而無比開心?
你是否由於本身造出了一個很實用的輪子而火燒眉毛得想要分享給他人?
這些你都曾經試過,但是如今還會興奮嗎?不會了
當硝煙盡散,一切歸於平靜以後,有些你曾經很深入的東西,也會慢慢變得模糊,最終消失。
所以建議你給本身一份工做週報吧,內容不用太多:
你每週收集一份這樣的內容,日記也好、文章也好、哪怕是一個Excel表格,不斷的積累和回顧,會有不同的收穫。
因爲公司業務的發展致使人員迅速擴張,公司一個由廢棄的舊飛機場改造而成的創業園區租了一個大廠房,打算改形成一個比較藝術氛圍的公司,在裝修時,極具細心的想到了一些員工須要住宿,由於劃了一排房間做爲員工宿舍,公司搬進來以後,就有一個名同事入住了這個「新房子」。
咱們這些住在外面的同事,嘴上沒說啥,但內心都想:真幸福,住公司不擁擠地鐵,不用本身出房租,每天均可以睡到8:59起來,多好啊。
一開始他好像也挺享受的,每天睡大覺快到上班時間了悠哉悠哉的起牀上班,下班看着咱們匆匆忙忙的趕地鐵擠公交…
但三個月後忽然有一天快下班時,我看到他在拖着行李往公司外面走,我驚訝的說你是去旅遊嗎?他回答讓我出乎意料:他搬出去住了。
後來有一次咱們去打球,打完球一塊兒吃了飯,期間,我問他在公司住的好好的爲何搬出去跟咱們同樣朝九晚六了呢,他說:
「
第一個月:沒房租沒女友,一人吃飽全家不餓,上班寫代碼,下班在公司看電影玩遊戲,工做和生活,玩的不亦樂乎。
第二個月:遊戲玩膩了電影也看沒了,上班時看着大家匆匆忙忙的來,下班看着大家滿載喜悅的走,走到只剩我一我的在公司時,我開始感到有點孤單,在公司住,餓了就點外賣,困了就回房間躺,個人全部時間,都在公司這幾百平米的空間裏,有人以爲像是世外桃源,我以爲是一個只有我一個煩人的監獄。
第三個月:當項目的工做愈來愈多的時候,我成了加班的首先考慮對象,每時每刻,我都有可能被工做包圍,上一次數據出問題時,老闆逼着我查數據查到次日,等我忙完從電腦桌起來時,大家已經提着早餐進入公司。
經常在夜深人靜時,我都在想我這樣有什麼意義:到底是省了那點房租?仍是省了天天上下班的時間?當我把這些關係搞清楚以後,我發現這實際上是在浪費時間,浪費本身的生命,我這段時間的工做收穫到的僅僅是那份不須要交房租的薪水,其它的..一無所得。
後來我決意在外面租了一個小房子,天天都按時起牀,去附近的公園跑跑步,而後跟着大家同樣在路邊買了個早餐趕來上班,下班時間,和大家同樣匆匆趕回去,在那個小出租屋裏,我作了不少事情,買了一些技術書籍,我看到了在工做中我沒用到的技術,個人鄰居,是一個愛好打籃球的傢伙,常常咱們約一塊兒去打打球,若是沒有什麼事情,我就躺着靜靜思考一些事情,不再用擔憂領導忽然跳出來叫我查數據或者改代碼。這樣的工做和生活方式,讓我能在工做和生活之間維持一個平衡的狀態,我不只僅靠工做漲經驗,也靠生活不斷的給予我靈感和前進的線路。
」
聽完這些話,做者內心有些失落:原來所謂人之常情的現象,並非咱們表面上所認爲的那樣發展的。古語云:遠水不解近渴,對於公司來講,當你離公司很是近甚至住在公司,就極可能被領導欽點的「加班之子」,加班的次數越多,生活的節奏越容易被打亂,對於我的來講,住得近,心裏感受加班就成了瓜熟蒂落的事情。
當你忙到不知道本身在作什麼的時候,或許就應該作出些改變了。
以爲本文對你有幫助?請分享給更多人
關注「編程無界」,提高裝逼技能