怎麼才能知道自己的編程水平?


看需求。

如果需求改了一點,自己的代碼就要推倒重來,這說明還需努力。

如果需求改了很多,客戶,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之類的?
我如果想寫個程序用這個程序去控制一些硬體,具體步驟是什麼,軟體是如何通過什麼介面去控制一個硬體的?

TAG:軟體 | 編程 | Java | CC |