A. 程序員最理想的工作環境應該是什麼樣的
好的電腦,幾台,好看的妹子,多幾個,安靜的工作環境,不然碼字都碼不出來,網快!
座位當然是越寬越好。就算有條件限制,也需要保證可以再坐一兩個人來討論問題,所以最好是長條型的桌子,而不是曲形的桌子。還有有足夠的會議室,方便抓人討論。
軟體方面的話最好有可以休息的空間,比如說能睡覺的沙發,因為加班通宵什麼的,這個行業還是蠻常見的。各種各樣的飲料,咖啡,零食等等。之前有銷售給我們技術總監送了兩箱碳酸飲料,兩箱泡麵,兩箱火腿,真的是投其所好,技術總監對他好評有佳。
再說一下人吧,就是需要有配合默契的隊友,然後就是一個開明的pm啦
多的也沒有什麼,能達到這些已經是超級無敵滿足了。
B. 程序員是怎樣實現程序與硬體通訊的
程序員是一種技術工作.在IT的發展中有相當重要的地位.從底層硬體通訊協議的建立. 到數據傳輸層的處理.到操作系統的建設.到資料庫平台的建設.一直到應用層上各種數 據營銷平台的搭建.程序員在裡面都扮演著舉足輕重的角色並為IT事業的發展做出了巨大 的貢獻.
中國有很多精於編碼的人.但是中國軟體行業.尤其是網路應用開發方面誤區很大.很難形成有規模的軟體開發力量和產品能力.不但比美國差距甚遠.和印度相比也是頗有不 如.這些問題不是在於中國程序員的智商和工作努力狀況.也不是在於國家和民間對開發 的投入程度.而是很大程度上.有一些對技術.對程序開發.對項目設計方面的思想誤 區.這些誤區.導致了軟體行業的產品化能力不足.缺乏規模化和大型復用系統研發能 力.可以說.改變認識誤區.是解決軟體行業小作坊模式和個體英雄模式所帶來的局限性 的重要工作.
中國有很多小朋友.他們18.9歲或21.2歲.通過自學也寫了不少代碼.他們有的代碼寫的很漂亮.一些技術細節相當出眾.也很有鑽研精神.但是他們被一些錯誤的認識和觀點左右.缺乏對系統.對程序的整體理解能力.這些人.一個網上的朋友說得很好.他們實際 上只是一些Coding fans.壓根沒有資格稱為程序員.但是據我所知.不少小網路公司的 CTO就是這樣的coding fans.拿著嚇人的工資.做著嚇人的項目.項目的結局通常也很嚇人.
一.程序員基本素質
作一個真正合格的程序員.或者說就是可以真正合格完成一些代碼工作的程序員.應該具有的素質.
1:團隊精神和協作能力
把它作為基本素質.並不是不重要.恰恰相反.這是程序員應該具備的最基本的.也是最 重要的安身立命之本.把高水平程序員說成獨行俠的都是在囈語.任何個人的力量都是有 限的.即便如linus這樣的天才.也需要通過組成強大的團隊來創造奇跡.那些遍布全球 的為linux寫核心的高手們.沒有協作精神是不可想像的.獨行俠可以作一些賺錢的小軟 件發點小財.但是一旦進入一些大系統的研發團隊.進入商業化和產品化的開發任務.缺 乏這種素質的人就完全不合格了.
2:文檔習慣
說高水平程序員從來不寫文檔的肯定是乳臭未乾的毛孩子.良好的文檔是正規研發流程中 非常重要的環節.作為代碼程序員.30%的工作時間寫技術文檔是很正常的.而作為高級 程序員和系統分析員.這個比例還要高很多.
缺乏文檔.一個軟體系統就缺乏生命力.在未來的查錯.升級以及模塊的復用時就都會遇 到極大的麻煩.
3:規范化.標准化的代碼編寫習慣
作為一些外國知名軟體公司的規矩.代碼的變數命名.代碼內注釋格式.甚至嵌套中行縮 進的長度和函數間的空行數字都有明確規定.良好的編寫習慣.不但有助於代碼的移植和 糾錯.也有助於不同技術人員之間的協作.
有些coding fans叫囂高水平程序員寫的代碼旁人從來看不懂.這種叫囂只能證明他們自 己壓根不配自稱程序員.代碼具有良好的可讀性.是程序員基本的素質需求.
再看看整個linux的搭建.沒有規范化和標准化的代碼習慣.全球的研發協作是絕對不可 想像的.
4:需求理解能力
程序員需要理解一個模塊的需求.很多小朋友寫程序往往只關注一個功能需求.他們把性 能指標全部歸結到硬體.操作系統和開發環境上.而忽視了本身代碼的性能考慮.有人曾 經放言說寫一個廣告交換程序很簡單.這種人從來不知道在百萬甚至千萬數量級的訪問情 況下的性能指標是如何實現的.對於這樣的程序員.你給他深藍那套系統.他也做不出太 極鏈的並訪能力.性能需求指標中.穩定性.並訪支撐能力以及安全性都很重要.作為程 序員需要評估該模塊在系統運營中所處的環境.將要受到的負荷壓力以及各種潛在的危險 和惡意攻擊的可能性.就這一點.一個成熟的程序員至少需要2到3年的項目研發和跟蹤經 驗才有可能有心得.
5:復用性.模塊化思維能力
經常可以聽到一些程序員有這樣的抱怨.寫了幾年程序.變成了熟練工.每天都是重復寫 一些沒有任何新意的代碼.這其實是中國軟體人才最大浪費的地方.一些重復性工作變成 了熟練程序員的主要工作.而這些.其實是完全可以避免的.
復用性設計.模塊化思維就是要程序員在完成任何一個功能模塊或函數的時候.要多想一 些.不要局限在完成當前任務的簡單思路上.想想看該模塊是否可以脫離這個系統存在. 是否可以通過簡單的修改參數的方式在其他系統和應用環境下直接引用.這樣就能極大避 免重復性的開發工作.如果一個軟體研發單位和工作組能夠在每一次研發過程中都考慮到 這些問題.那麼程序員就不會在重復性的工作中耽誤太多時間.就會有更多時間和精力投 入到創新的代碼工作中去.
一些好的程序模塊代碼.即便是70年代寫成的.拿到現在放到一些系統裡面作為功能模塊 都能適合的很好.而現在我看到的是.很多小公司軟體一升級或改進就動輒全部代碼重 寫.大部分重復性工作無謂的浪費了時間和精力.
6:測試習慣
作為一些商業化正規化的開發而言.專職的測試工程師是不可少的.但是並不是說有了專 職的測試工程師程序員就可以不進行自測,軟體研發作為一項工程而言.一個很重要的特 點就是問題發現的越早.解決的代價就越低.程序員在每段代碼.每個子模塊完成後進行 認真的測試.就可以盡量將一些潛在的問題最早的發現和解決.這樣對整體系統建設的效 率和可靠性就有了最大的保證.
測試工作實際上需要考慮兩方面.一方面是正常調用的測試.也就是看程序是否能在正常 調用下完成基本功能.這是最基本的測試職責.可惜在很多公司這成了唯一的測試任務. 實際上還差的遠那,第二方面就是異常調用的測試.比如高壓力負荷下的穩定性測試.用 戶潛在的異常輸入情況下的測試.整體系統局部故障情況下該模塊受影響狀況的測試.頻 發的異常請求阻塞資源時的模塊穩定測試等等.當然並不是程序員要對自己的每段代碼都 需要進行這種完整測試.但是程序員必須清醒認識自己的代碼任務在整體項目中的地位和 各種性能需求.有針對性的進行相關測試並盡早發現和解決問題.當然這需要上面提到的 需求理解能力.
7:學習和總結的能力
程序員是人才很容易被淘汰.很容易落伍的職業.因為一種技術可能僅僅在三兩年內具有 領先性.程序員如果想安身立命.就必須不斷跟進新的技術.學習新的技能.
善於學習.對於任何職業而言.都是前進所必需的動力.對於程序員.這種要求就更加高 了.
但是學習也要找對目標.一些小coding fans們.他們也津津樂道於他們的學習能力.一 會學會了asp.一會兒學會了php.一會兒學會了jsp.他們把這個作為炫耀的資本.盲目 的追逐一些膚淺的.表面的東西和名詞.做網路程序不懂通訊傳輸協議.做應用程序不懂 中斷向量處理.這樣的技術人員.不管掌握了多少所謂的新語言.永遠不會有質的提 高.
善於總結.也是學習能力的一種體現.每次完成一個研發任務.完成一段代碼.都應當有 目的的跟蹤該程序的應用狀況和用戶反饋.隨時總結.找到自己的不足.這樣逐步提高. 一個程序員才可能成長起來.
一個不具備成長性的程序員.即便眼前看是個高手.建議也不要選用.因為他落伍的時候 馬上就到了.
具備以上全部素質的人.應當說是夠格的程序員了.請注意以上的各種素質都不是由IQ決 定的.也不是大學某些課本里可以學習到的.需要的僅僅是程序員對自己工作的認識.是一種意識上的問題.
C. 程序員適合當老公嗎
超級無敵適合做老公的!
1、程序員男生,超悶騷!
在外面老實巴交,在家裡對你甜言蜜語花招百出
別看他們工作時只會悶頭敲代碼,其實他們是段子小能手
你丟的每個梗,他都能接住
(雖然在跟你聊天時可能偷偷開著網路)
表情包多到可以給你連發365天不帶重樣的!
2、程序員男生很隨和,大事小事都可以你來做主
一是他們確實工作很忙,沒太多時間和精力來處理這些小事
二來他們足夠愛你相信你,所以願意把決定權交給你
當然,如果你拿不定主意,他也會及時站出來替你果斷做決定
3、程序員男生,也很浪漫!
雖然他們不會說太多的甜言蜜語
但是他們的深情都寫在程序里
他們會把情話寫成一個個代碼,生成一段專屬於你的程序
全世界獨此一份,這才叫真正的手工DIY禮物
4、程序員男生,經濟適用!誰用誰知道!
雖然程序員不是修電腦的,但擋不住他們智商高動手能力強啊!
所以他們一般自帶修電腦、重裝系統、幫你找回qq密碼、裝wifi、翻牆上youTube
給手機貼膜、開游戲外掛等等技能
每天都能帶給你不一樣的新鮮體驗,不信試一下?
5、程序員男生,不會無理取鬧!
他們平時不輕易跟你講道理,只要不是原則問題一切都好說
但一旦講起道理來,你是遠遠斗不過他的
0就是0,1就是1
擺事實擺論據,全程無漏洞,邏輯完美
有這樣的男人在身邊,多安心!
6、程序員男生,超適合過日子!
編程是一門講究邏輯和工程化的工作
不可否認,從事這一行的人,思維多少都會受到影響
所以做事不會浮誇,更不會有不切實際的想法
做事更務實,有理有據,思維會更縝密
這樣的人比較沒有心機
愛的腳踏實地,專注且唯一
你不用費盡心思去揣測他話的背後有什麼含義
跟這樣的人談戀愛可以節省好多腦細胞
而且他們花錢也不會大手大腳,吃穿用度追求簡單舒適即可
並不在意外表有多高調奢華
這也是為什麼程序員會經常被誤會很土很窮的原因
其實他們都是低調的隱形富豪啊!
但他們對愛的人,不要太大方
畢竟這些單身程序員的錢省下來,就是留給以後的女朋友花的
7、程序員男生,很好學很上進!
技術更新迭代很快
搞個後台技術,Linux、MySQL、Java、架構設計......什麼都要懂,什麼都要學
還不斷有新的東西出來,什麼大數據、Docker、Apache RocketMQ
什麼叫學無止境,做這一行的人就明白
對他們來說,人生只有v1、v2......等等升級版,沒有終結版
所以你不用擔心另一半不思上進
他們甚至比你還拼!
8、程序員男生,都很有錢
這么說吧,哪怕你現在學一個最垃圾的編程語言,從事一個最低端的編程工作
也比其他大多數傳統行業的起點高
如果你是程序員,月薪1w你都不好意思往外說
但很多行業月薪想達到1w都得費好大勁
而且這個工作很吃香,在未來幾十年內都不會過時
且不說大富大貴吧,至少過上安穩舒適的日子是沒問題
和程序員談戀愛,你永遠不用糾結「是工作重要還是你重要」這個問題
因為他們根本沒得選,除了上班就是加班,除了加班也就只有你了
所以他會對你百依百順,維護你到天荒地老
9、程序員男生,超有耐心!
不斷變更的需求極大地磨練了他們的心智
無數個從0到1的項目鍛煉了他們的耐心
職業習慣賦予了他們很好的生活態度
他們不畏懼任何難題,直面問題、迎難而上的態度
還有
再有人說程序員腦子呆板我就打人了!
來!鍵盤給你,宇宙IDE給你,能寫出一段有完整邏輯的程序來就算我輸!
關鍵是
現在程序員男生被群嘲的這么嚴重
單身的程序員男生連起來可以繞地球三天
說明什麼,你有大把機會啊!
最後,弱弱的問一句:
有妹子要做我女朋友么?