轉自知乎專欄(黑白互聯網)做者:佯良程序員
大概2個月前陸奇的一篇文章刷屏:「一個優秀的程序員,要相信世界是由技術驅動的」,我以爲這句話是狗屁,不過是資本家用來哄騙程序員的。我承認陸奇的五點要求,但這些只是程序員的本職工做。面試
別忘了,去掉程序員的職業身份,他們仍是一個個活生生的「人」。算法
只有爛程序員才相信世界是由技術驅動的,優秀的程序員會意識到世界是由資本和權力驅動的。設計模式
人,是一種社會性動物。技術也好,商業也罷,都只是用來解決社會問題的工具。之前我認爲技術是面向機器的,如今明白了,其實真正優秀的、可靠的技術,都是面向人類的。你在優化設計模式的時候,不是在優化機器,而是爲了讓「人」維護起來更方便;你在優化算法的時候,不是在節約內存,而是爲了讓「人」擁有更好的用戶體驗(即速度);你在作一個GUI的時候,不是在與機器對抗,而是爲了讓數據管理更加方便。一切由於人,一切爲了人。你們都知道早期的計算機是用來計算彈道的,但這並非爲了炸彈,而是爲了炸人。架構
個人意思是說,程序員在作好本職工做的時候,必須清晰的認識到,你所作的一切,你所設計的一切,最終是爲了服務於什麼。工具
這是你保持競爭力的前提。不然,你就等着永遠被產品經理和項目經理折磨吧。學習
我見過不少技術人,問我「茴」字的三種寫法,我一律直言不知道。這一方面是「知之爲知之,不知爲不知」;另外一方面,也是我不想糾結在所謂「原理」上的態度體現。人類爲何創造工具?是爲了節約時間,用錘子的人須要知道錘子怎麼作嗎?誠然,計算機技術必定不像錘子那樣簡單,其複雜度能夠繞南極一圈。我不是在鼓吹不去學習原理,原理當然重要,可是徹底能夠點到爲止。這點其實與陸奇所說的「站在巨人的肩膀上作創新」是一致的,若是別人已經作了,就請直接拿來用,不要重複造輪子。優化
深究原理,站的過低,能夠影響的也很是有限,你最好學會在別人的基礎設施上構建應用。設計
程序員,最不該該作的事情就是本身騙本身:「整個世界終究是爲技術所驅動的」。事實上,這個世界上,最不缺的就是技術,技術的問題歷來都不是問題。世界的參數太複雜,不是一兩個對象就能夠解決的。真正困難且磨人的,永遠都是「人」的問題。我在本身作產品的同時,也會去作銷售,在吃了無數次閉門羹,經歷過不少次談三個月談崩的客戶後,才深知「人性」的複雜。對象
我不知道爲何,不少程序員在聽到「銷售」這兩個詞的時候,老是露出一個嘲諷臉。是,你是讀了不少書,你掌握了不少複雜的算法,還作了不少高大上的東西。可是,你可曾想過,沒有銷售,誰把你作的東西變現,你的工資是憑空出來的嗎?銷售出去不停被人拒絕,你能經受得住這種心理壓力嗎?你可知道,特斯拉在命懸一線的時候,是馬斯克下令「人人皆銷售」才把公司從死亡邊緣拉回來。
我也不知道,爲何如今的程序員見誰都看不起,彷彿安靜的本身在掌控整個世界,卻看不清本身只是棋子的事實。大家口口聲聲說,互聯網公司重視技術,對,大家把技術作的很好,可是技術人的地位誰不是心知肚明。社會須要坐班拿加班費的程序員,也須要看清事實再也不爲老闆賣命的活生生的「人」。
在作好本職工做後,多瞭解業務、站在更高的角度構建上層建築、接受世界是由資本驅動的事實,你get到了嗎?
歡迎工做一到五年的Java工程師朋友們加入Java架構開發:744677563
本羣提供免費的學習指導 架構資料 以及免費的解答
不懂得問題均可以在本羣提出來 以後還會有職業生涯規劃以及面試指導