怎麼才能知道自己的編程水平?
01-15
看需求。
如果需求改了一點,自己的代碼就要推倒重來,這說明還需努力。
如果需求改了很多,客戶,PM都覺得很不好意思,自己勉為其難的答應了。可是回去半天就改完了,測試基本沒有bug。這就說明水平不錯了。
謝邀。最高水平的程序員,見到什麼屁股都能擦。所以你只要給他一個爛掉的屁股,他給你擦乾淨了,而且不是通過給你一個新屁股的方法來擦,那肯定是牛逼的程序員。
踩過很多坑
挖過很多坑填過很多坑預見很多坑高層次思維內化成條件反射解決問題的能力,這是所有程序員編程水平最好的體現。也是程序員最主要的技能,沒有之一。
不知道自己水平的,那是還沒入門……
入門之後,就知道自己有多水了
值得一提的是一些中二黑客不受上面規則的限制
簡單來說,假如你碰到一個需求或問題:
1. 菜鳥。 沒有任何思路,不知道怎麼解決,去qq群、貼吧、論壇四處問人。 2. 入門。 有自己的思路,但某些技術問題不太清楚,知道如何用Google, stackoverflow等工具來解決自己的技術疑問。3. 高手。 有自己的思路,並且順利的解決了此問題。 4. 大牛。 能篩選問題的源頭, 比如有些問題完全是業務、設計引出的問題,他可以幫忙優化業務流程。技術類問題來了,有各種解決思路,從中選出最優解。 5. 大神。 寫出各種通用框架、庫等工具,這些工具已經解決了99%的碼民們在日常編程戰鬥中碰到的問題。 以及引領技術方向的進步。比如代碼規模, 編碼速度, 定位問題的技巧與速度, 搜索引擎使用效率, 對代碼正確性的預估等等.
還有一點就是對自己主要使用語言較為深入的理解.
以上主要是工程方面的, 演算法方面應該比較好量化.
不過總體來說, 如果你比較自信了, 而且覺得不是盲目自信 (不要自欺欺人), 那麼可能就能認為是不錯了. 如果你還不自信, 也就是說即使是在你的視野里, 都還是渣渣, 那一般估計也確實還是渣渣.
同意秀妻狂魔@mu peng的說法。
以前看過一個段子,說怎麼判斷兩個建築工程師的水平,老闆先讓兩個工程師設計一個一層樓的平房,這兩位工程師都只花了幾天時間就搞定了。而後老闆要求加蓋第二層並且要有陽台有地下室,水平好的又只花了幾天工夫,水平差的可能就得推倒重來了。
寫代碼的,大抵也是如此。
多去面試吧,碰到一個好面試官和你聊聊,你的水平、優點、缺點,以及改進方案,他會給你說得清清楚楚的。
自己出一套面試題。
說個可能無關的,黑客帝國到最後, Neo看山還是山,看密探還是密探,然後就鑽進去把密探給Hack了。
在team中,你是萬能的,並可以很快學習新的知識。
我認為應該從三個方面來評判:
- 計算機科學理論。這個不必多說,雖然基礎理論並不是編程必備,也許有人只會調用API也能混完日子。但是紮實的理論基礎將是在編程道路上前進的基石。
- 軟體設計方法。龐大的軟體體系需要良好的代碼風格和完善的設計。歸根結底是對軟體工程的管控能力。如果你從未寫過上千行的代碼的軟體,那這項能力是有待提高的。
- 語言的理解與熟練。熟練的運用和深入理解所用的編程語言,能夠加快編碼速度,提高編碼質量和減少Bug產生的概率。
代碼行數。顯然,代碼行數是不是萬能的,但是沒有代碼行數是萬萬不能的。
就沒人說薪水么…
等級較低說不對不準打我 調介面 複製粘貼應該是最低級的碼農級別自己寫演算法優化 熟練底層操作的 掌握程序設計能力的應該就算真正地程序員了(軟體攻城濕?)演算法基礎優異 編程思想高潮 具備極強的學習能力 分析能力 判斷能力 能針對不同領域開發做出靈活調整的 應該就算神級程序員了 當然 能學到這個地步並且還在一線編碼的 那也算對code是真愛了
我告訴你吧,不是在微軟宣布不再為?P做安全支持的時候,360號稱繼續為其保駕護航。當然從很多方面著手做,一個方面就是袁哥帶領著hume幾個人,針對微軟放出高版本系統(如win7)的補丁,加班分析,反推出漏洞信息,這樣知道漏洞信息後,把xp也存在的類似漏洞補上。。。幾乎跟微軟推送補丁差不幾小時。 這個比輪子神@vczh說的境界應該又高了一層吧。
面試
某某某,過來,交給你個任務~~小白:老大,我要遇到問題去找誰啊~入門:哇,被重視了,會是個什麼任務,會不會太難,是不是該回去趕緊把上次老大提及過的**書籍趕緊看看。中級:這個功能以前好像在哪裡見到過。balabalabala~~找到了,復用下。順便鄙視「複製下」的人。高手:這個需求有木有其他什麼限定?擴展性、性能神馬的有木有要求?沒有啊~那簡單,我先提幾個方案,稍後發給你~骨灰:這個任務和客戶需求切合度不太高啊,要不你要不切換到這個情景模式,balabalabalal~
擦,都是這麼抽象,感覺好迷茫呀
去找工作,多去幾家公司,看他們願意給你多少錢。
看生產性和bug率
推薦閱讀:
※軟體測試人需要如何做好需求分析?
※為什麼google不在wp8上出應用軟體呢,而大量在IOS系統上出軟體應用?
※有哪些著名的破解軟體網站?
※為什麼很多厲害的軟體卻很容易就被破解,像ps,autocad之類的?
※我如果想寫個程序用這個程序去控制一些硬體,具體步驟是什麼,軟體是如何通過什麼介面去控制一個硬體的?