Ⅰ 如何判斷自己適不適合當程序員
1. 邏輯思維力(或推衍的能力):這個是做稱職程序員的底線。比如不能寫的代碼出個Exception就抓瞎不知道哪裡出了問題,而是有能力從Exception順藤摸瓜反推出哪裡出了問題。Code即邏輯,Code有問題即邏輯有問題。沒有邏輯的人是無法找到邏輯漏洞的,也寫不出條理清晰的代碼。
2. 抽象思維力:這個能力大體可以決定一個程序員的上限。沒有這個能力是做不出一切皆文件這種抽象的,可以試試學習函數式編程,如果無法理解並使用高階函數,你不適合做程序員。再來幾個更初級的例子。如果你學寫代碼的過程中,理解指針的指針的指針這個東西的時間超過了一天,那你不適合當程序員。
3. 專注力:我理解的專注力只是興趣的衍生品,你打Dota打CS打個幾個小時能越打越精神,為什麼?因為你覺得有趣兒。如果也覺得寫代碼有意思,那專注自然就不是個事兒。
4. 想像力與記憶力:這個不是說過目不忘的那種,只是說你大概記得有什麼類,都有什麼函數,每個函數里的大體過程是什麼樣的。然後走路、坐地鐵的時候就可以用想像力在腦子里做代碼的重構啦,找Bug啦什麼的,然後回到電腦前就噼里啪啦敲代碼。我聽說有人在夢里也能寫代碼,我還沒有鍛煉出這個技能。當然,這些能力不是必須的,你隨身帶個筆記本也行,就是效率低些,影響職業成長的上限。
5. 英語:很遺憾地,目前多數有價值的東西都是英文的。所以無障礙閱讀Stackoverflow的回答是起碼的。
Ⅱ 如果讓你重新選擇職業,你會考慮做一名程序員嗎
不會。因為做程序員太辛苦了,每天都要熬夜,頭發禿了,還不好找對象,所以我不會考慮。