『壹』 哪些人不適合當程序員
Peter Nierop 則總結出了當不好程序員的 3 個跡象:
討厭用 Google:
在 github、google
和在線網站上面有大多數現成的解決方案。買本老教授的書學編程的日子已經過去了。現在的代碼來得快去得也快。而至關重要的事情是把你的東西盡快推向市場。任何不願每天至少使用搜索引擎
1 小時的人都應該另尋高就(編者注 1:Google 自己的研究也發現,開發者搜代碼越來越頻繁注
2:有人可能會說自己不是討厭用而是用不了。好吧如果是這樣的話,我要加最重要的一條:不懂用 google
的想都不要想當程序員了)。注意,這某種程度上可能是因為你什麼都想自己來,想成為全世界唯一的那個純粹的 coder。
朝九晚五的心態:
再強調一遍:及時發布很重要。普通的程序員往往每天工作不到 8 小時,好吧這就是你平庸的原因所在。不平庸的程序員連續 22
小時沖刺以後才能打個盹隔 4 天才洗次澡並在接下來的 2 周時間里每天要用 2 小時寫一些報告。不能或者不願在必要時加班的人最好打住。
極其糟糕的記憶:
編程就是開很多的會,做各種各樣的變更,可能腦子裡面要裝 100
頁的代碼。未必是每一行都要記得清清楚楚,但起碼在管理層又折騰出一個變更或客戶突然又冒出一個想法時要知道你的程序是干什麼用的,什麼地方可能會失敗,怎樣才能很快修好。如果你的記憶力實在是太糟糕的話,最好還是找份其他的工作。
我在這個行當幹了這么久,碰到過各種各樣的程序員,不變的一點是一旦有上面的問題這些人基本都干不久。
CaveOfProgramming.com 開發者 JohnPurcell:
由於開發界總是渴望有新鮮血液進來,所以除非你實在是太差(或者你原來基本都不用工作)否則想不成功都很難。我喜歡 Peter Nierop 的回答,不過說到正式的付費工作,我本人總是嚴格遵守朝九晚五的習慣,所以那個說法應該看工作情況而定。
如果你發現編程很乏味,學習又總是繁瑣無趣的話,那你想做好就很難了。因為你要跟已經編程上癮的人競爭。不過我也見過幾個人雖然不喜歡編程,業余時間基本也不編程,雖然稱不上出色的程序員,但是的確能夠藉此謀生。
要記住的是,編程不是什麼精英才能乾的事情。這個行業永遠都缺人。所以除非你一點都不喜歡編程,或者也沒有準備好看在錢的份上忍住這種不喜歡,否則都可以來編程。
而享受編程樂趣的 Prince Pranav 提供了 3 個不適合編程的跡象:
因為錯誤而過早放棄:
永不放棄。哪怕是簡單的錯誤也不要放棄。這會讓你的代碼和心態大不同。好的程序員,在寫一長串代碼的時候會把代碼分解出來,分段測試。如果你因為前面 1 個小時總是碰到同樣的問題就把電腦給關掉了事,可以認為這是跡象 1。最後你總會找到問題的,但一定不要放棄。
只對輸出而不是質量感興趣:
開發出好應用是你的責任。如果你為了趕時間而犧牲應用的質量,你可以成為程序員,但不會是偉大的程序員。
樂趣不是找來的:
你開始寫代碼前看了看錶,13:02,然後你再看的時候變成 13:09 了。有的人再看錶的時候已經是 15:37 了。真的,除非你是因為有趣才幹這個時間才不會流逝(註:不得不說,這又繞到了做你所愛還是愛你所做這個問題。)
『貳』 想做程序員,要些什麼條件
程序員是一種技術工作,在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,他們把這個作為炫耀的資本,盲目 的追逐一些膚淺的,表面的東西和名詞,做網路程序不懂通訊傳輸協議,做應用程序不懂
中斷向量處理,這樣的技術人員,不管掌握了多少所謂的新語言,永遠不會有質的提 高。
善於總結,也是學習能力的一種體現,每次完成一個研發任務,完成一段代碼,都應當有 目的的跟蹤該程序的應用狀況和用戶反饋,隨時總結,找到自己的不足,這樣逐步提高, 一個程序員才可能成長起來。
『叄』 誰說性格外向的人不適合當程序員
沒有人說性格外向的人不適合做程序員,性格外向的人反而更適合做程序員。
『肆』 性格內向能做程序員嗎
性格內向與外向並不是衡量程序員的標准。
只要思維縝密,知識結構合理,那麼無論是外向還是內向,都可以做程序員的。
『伍』 你覺得一個性格開朗活潑的人適合做程序員嗎
我個人覺得,若你是一個性格開朗,活潑的人,那麼你更應該去做銷售。原因有這么幾點:
另外,開朗活潑的人在與客戶溝通中,會根據客戶的喜好與習慣選擇相應的話題,他們知道如何准確的把握客戶的興趣點。比如,客戶喜歡國畫,則可以以某某名畫為切入點,展開對此畫的描述與欣賞,同時聊到客戶的習性,再把這些看似無關聯的線索聯系起來,結果讓客戶非常願意與你溝通,不光是達成了相應的目標,還加深了與客戶的感情,何樂而不為呢?
在與人的交往中,可以學習到很多知識。遠遠比程序員學的內容要多得多。所以必要刻意因為程序員工資高,行業好,就去做。一定要根據自身的性格特徵去選擇。每個行業都可以做好, 關鍵是要認清自己,把自身優勢發揮到極致,你就是這個領域最棒的。別人說什麼,只能參考。因為這可能不是你最喜歡的。
所以,總結一下,性格開朗的人一般很容易打開局面,不管是生意、溝通,演講等。只要你把這個優勢發揚下去,結合自己的本職工作,很容易達到名利雙收。
『陸』 什麼樣的性格適合做程序員
什麼樣的性格,這個不好說,程序員這個行業也是有各種各樣的人的,什麼樣性格的人都要。只要自己喜歡這個行業都可以從事程序開發。任何行業都是需要細心耐心的人。
『柒』 當程序員對性格有要求嗎
應該沒有這個要求吧,只要能乾的好就可以的,這是技術類的活與性格沒多大關聯吧。
『捌』 什麼樣的人適合當程序員
一、
「你好,在嗎?」
「在的,怎麼啦」
看到女神的回復,小張眼前一亮,通宵兩天幫同事敲代碼終於換來了女神的微信,一定要把握住這次機會一舉拿下!看,現在這個開頭就很不錯!
怕女神等太久,小張謹遵網上要用問句打開聊天話題的技巧,迅速回了一條信息。
「沒事沒事,你吃飯了嗎?」
「吃了……剛和你同事去吃了自助烤肉,有點吃多了2333」
自助烤肉?最近不是有報道說自助烤肉很不衛生嗎,還用了不合格的禽類生肉,吃了有可能會感染禽流感啊,可得趕緊提醒下女神!
於是小張趕緊去朋友圈翻到了新聞鏈接,轉發給女神,並且提醒她自助烤肉一定要少吃,不僅不衛生還容易發胖。可惜不知道為什麼,女神這次遲遲沒有回復,小張心裡著急,忍不住又發了一條。
「你在干什麼呢?」
「啊,這幾天降溫,有點感冒,在找家裡有沒有感冒葯了=。=」
「感冒病毒吃葯是沒太大作用的,你多喝熱水啊!早點休息,多喝熱水好得快!」
隔了幾分鍾,女神回復了小張一個表情包。