怎樣才能比別人更優(yōu)秀?
想要升職加薪,自然要做到比別人更優(yōu)秀,那么作為Java程序員的話,怎么做才能夠“高人一等”、“快人一步”呢?下面我談?wù)勛约旱南敕ǎ?/p>關(guān)注實現(xiàn),也要關(guān)注效率
很對程序員會犯的一個錯誤:只注意功能的實現(xiàn),卻忽視代碼的效率,特別是開發(fā)測試環(huán)境的數(shù)據(jù)量和生產(chǎn)環(huán)境差異很大的時候。
舉個例子:
最簡單的一個查詢:select * from table where col='';
開發(fā)測試環(huán)境就一千條數(shù)據(jù),直接運行沒什么問題,生產(chǎn)環(huán)境一千萬條數(shù)據(jù),一個SQL跑10秒,這樣就會有問題。
最簡單的解決方法,把這個SQL到生產(chǎn)上執(zhí)行一下,發(fā)現(xiàn)速度很慢后,建立索引,提高查詢效率,這就算“想的比別人多一些”。
關(guān)注使用,也要關(guān)注適合Java相關(guān)的技術(shù)和框架有很多,普通的程序員多數(shù)是停留在“會用”這個層面,而優(yōu)秀的程序員,會做到“知其然,也知其所以然”(深度),也會做到針對每個場景,用到合適的技術(shù)(廣度)。
如果開發(fā)一個分布式鎖:
有些人是使用開源框架,有些人可以自己寫,有些人...不知道什么是分布式鎖;
有些人是基于數(shù)據(jù)庫實現(xiàn),有些人是基于Redis、ZK實現(xiàn);
這些都是差距。關(guān)注本系統(tǒng),也要關(guān)注完整流程程序員容易陷入一個誤區(qū),就是我只要了解自己負(fù)責(zé)的系統(tǒng)就可以了,其實這是不夠的,只能算是“剛及格”,而優(yōu)秀的程序員,會關(guān)注業(yè)務(wù)流程的所有環(huán)節(jié)。
了解整個流程,可以讓開發(fā)人員更深刻的了解自己系統(tǒng)在流程中的位置和作用;
站在業(yè)務(wù)的角度上,考慮問題也會更加的全面。
總的來看,Java程序員想要做到比別人更優(yōu)秀,其實就是:
多想,多思考,站在更高的角度看問題;
多學(xué),多實踐,增加技術(shù)的深度和廣度。
我將持續(xù)分享Java開發(fā)、架構(gòu)設(shè)計、程序員職業(yè)發(fā)展等方面的見解,希望能得到你的關(guān)注。